API 流量正在迅速增長(zhǎng)。僅在去年,我們邊緣節(jié)點(diǎn)的 API 流量增長(zhǎng)比 Web 流量快 300%。API 驅(qū)動(dòng)移動(dòng)和 Web 應(yīng)用程序,傳輸各種各樣的指令,因此 API 很容易成為數(shù)據(jù)盜竊和濫用的目標(biāo)。
API 流量增長(zhǎng)和數(shù)據(jù)攻擊更趨頻繁,要求新的安全解決方案。
Cloudflare 的安全工具箱始終旨在保護(hù) Web 和 API 流量。然而,經(jīng)過與數(shù)百位客戶交談后,我們意識(shí)到需要在單一界面中提供一個(gè)易于部署和配置的 API 安全工具。為滿足這一需求,我們?cè)?2020 年 10 月發(fā)布了 API ShieldTM,這個(gè)新產(chǎn)品旨在將為 API 流量設(shè)計(jì)的所有安全解決方案整合在一起。我們首先向所有 Cloudflare 用戶免費(fèi)提供 mTLS 身份驗(yàn)證,gRPC 支持和模式驗(yàn)證(beta 版)。我們也計(jì)劃在未來(lái)發(fā)布具備更高安全功能的新版本。如今,我們很高興能擴(kuò)展我們的產(chǎn)品,提供旨在保護(hù)您的 API 以免暴露敏感數(shù)據(jù)的新功能。
現(xiàn)在,我們發(fā)布幫助減少滲漏攻擊影響的四個(gè)功能:面向所有 Enterprise 客戶的模式驗(yàn)證,允許您阻止開放代理流量的托管 IP 列表,對(duì)證書生命周期的更多控制,以及一個(gè)數(shù)據(jù)丟失防護(hù)解決方案。
模式驗(yàn)證全面開放
在發(fā)布 API Shield 時(shí),我們引入了模式驗(yàn)證,僅向少數(shù)客戶提供。過去幾個(gè)月來(lái),我們一直與這些早期使用者合作以增加更多功能,并將一個(gè)易用的界面直接構(gòu)建到儀表板中?,F(xiàn)在您可以導(dǎo)航到 “API Shield” 選項(xiàng)卡,通過 UI 直接部署 API 安全產(chǎn)品。部署流將很快擴(kuò)大到包括位于儀表板中其他地方的更多功能,例如 mTLS 和速率限制。我們也將整合 API 異常檢測(cè)等新功能,以便于反饋循環(huán)。
模式驗(yàn)證通過創(chuàng)建一個(gè)基于 API “模式”的正面安全模型來(lái)工作。API 模式用于定義其使用方式,指導(dǎo)開發(fā)者將 API 集成到其系統(tǒng)中。不同于負(fù)面安全模型(其規(guī)則定義某個(gè)請(qǐng)求必須觸發(fā)一種行動(dòng)的特征),模式驗(yàn)證旨在允許已被認(rèn)證為符合要求的請(qǐng)求,并對(duì)其他一切請(qǐng)求采取行動(dòng)。模式驗(yàn)證接受遵守 OpenAPI v3 規(guī)范 (也稱為 Swagger 規(guī)范,是定義 RESTful 接口的一種標(biāo)準(zhǔn))的模式。
模式驗(yàn)證根據(jù) API 模式對(duì)每個(gè)請(qǐng)求進(jìn)行評(píng)估,記錄或阻止不符合的請(qǐng)求。
API Shield 提供易用的用戶界面(UI),供用戶將其模式上傳到防火墻,并自動(dòng)創(chuàng)建根據(jù) API 定義來(lái)驗(yàn)證每個(gè)請(qǐng)求的規(guī)則。符合要求的請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到源服務(wù)器。相反,如果請(qǐng)求的格式或數(shù)據(jù)內(nèi)容不匹配 API Shield 的預(yù)期,則該調(diào)用要么被記入日志,要么被丟棄,以保護(hù)源服務(wù)器不受無(wú)效請(qǐng)求或惡意負(fù)載的影響。帶有外部輸入的請(qǐng)求可能并非 API 開發(fā)人員所預(yù)料的,并可能觸發(fā)不可預(yù)見的應(yīng)用程序行為,例如數(shù)據(jù)泄漏。
使用 Cloudflare 規(guī)則集 OpenAPI 部署帶模式驗(yàn)證的 API Shield ??
用戶可根據(jù) UI 的指引完成配置步驟,包括指定 API Shield 部署和上傳模式文件的主機(jī)名和基本路徑。在部署了帶模式驗(yàn)證的 API Shield 后,就可以看到防護(hù)了哪些端點(diǎn)以及提供什么級(jí)別的保護(hù)。在頁(yè)面中可以看到有兩組端點(diǎn):受保護(hù)的和不受保護(hù)的。前者列出其模式受支持的所有端點(diǎn)和方法,后者指出其定義不受支持或不明確的任何端點(diǎn)。為避免拆分指向模式文件中未列出的端點(diǎn)的流量,我們包含一個(gè)最終規(guī)則,以匹配指向任何未受保護(hù)端點(diǎn)的流量。
每當(dāng)模式驗(yàn)證識(shí)別出不符合要求的請(qǐng)求,并采取阻止或記錄之類的操作時(shí),就會(huì)創(chuàng)建一個(gè)帶有源 “API Shield” 標(biāo)記的新事件,并將其添加到防火墻日志中。用戶可前往概述頁(yè)查看分析和日志,GraphQL 驅(qū)動(dòng)的儀表板提供的靈活性允許用戶向下鉆取數(shù)據(jù)。
模式驗(yàn)證對(duì)路徑、路徑變量、查詢參數(shù)、標(biāo)頭和 cookie 執(zhí)行檢查,并允許記錄不符合規(guī)則的流量。模式規(guī)則 Beta 版現(xiàn)已向所有 Enterprise 客戶開放 — 請(qǐng)?zhí)顚懕颈韱我蚤_始使用。
數(shù)據(jù)丟失防護(hù)
數(shù)據(jù)丟失是影響大大小小組織的最大安全問題之一,也影響到個(gè)人及其隱私。敏感數(shù)據(jù)的丟失會(huì)對(duì)公司產(chǎn)生巨大影響,包括財(cái)務(wù)沖擊、品牌價(jià)值侵蝕和最新數(shù)據(jù)保護(hù)法律遵守。最后,個(gè)人的敏感數(shù)據(jù)丟失也會(huì)造成金錢損失和隱私問題。
早些時(shí)候,我們推出了數(shù)據(jù)丟失(DLP)產(chǎn)品套件;我們正在對(duì)其進(jìn)行擴(kuò)展,以識(shí)別在某個(gè) HTTP 或 API 請(qǐng)求的響應(yīng)階段離開源服務(wù)器的敏感數(shù)據(jù)。該解決方案評(píng)估出口流量,根據(jù)敏感數(shù)據(jù)的常見模式檢查負(fù)載。其中包括個(gè)人身份信息,如社保號(hào)碼和金融信息,包括信用卡號(hào)碼、銀行信息等。在第一版本中,用戶將能記錄 DLP 觸發(fā)的任何匹配。我們計(jì)劃增加其他行動(dòng),例如模糊化和阻止敏感數(shù)據(jù)離開 Cloudflare 后的源服務(wù)器。接下來(lái),我們計(jì)劃讓客戶自定義規(guī)則來(lái)識(shí)別其應(yīng)用程序的特定敏感數(shù)據(jù)。
我們開發(fā) DLP 時(shí)考慮到了簡(jiǎn)單性,以便每一個(gè)客戶都無(wú)需復(fù)雜耗時(shí)的設(shè)置就能得到保護(hù)。我們將 DLP 作為托管規(guī)則集的方式發(fā)布,可通過防火墻托管規(guī)則集(Firewall Managed Rules)選項(xiàng)卡開啟。DLP 可以作為某個(gè)反向代理 WAF 的一部分,也可作為零信任配置中集成數(shù)據(jù)保護(hù)的 Cloudflare for Teams 的一部分使用。這種緊密的集成可以更好地控制誰(shuí)能訪問貴組織內(nèi)部的敏感數(shù)據(jù)。
DLP 處于 beta 階段,目前向部分早期采用者客戶開放。請(qǐng)?zhí)顚懕颈韱我约尤氲群蛎麊巍?/span>
數(shù)據(jù)丟失防護(hù)可作為托管數(shù)據(jù)集開啟
托管 IP 列表:Cloudflare 的威脅情報(bào)
我們正在推出我們首個(gè)托管 IP 列表,將可在防火墻規(guī)則內(nèi)使用。在 2020 年 7月,我們發(fā)布了 IP 列表,讓客戶能夠上傳大型 IP 列表,供編寫防火墻規(guī)則時(shí)使用。今天我們發(fā)布一個(gè)由 Cloudflare 管理的列表,供客戶在其規(guī)則中使用,和他們使用自定義上傳列表的方法完全一樣。
“Cloudflare 開放代理” 包含Cloudflare 通過對(duì)其邊緣的流量進(jìn)行分析而確定的 Open SOCKS 和 HTTP 代理 IP 地址。這不限于 API 請(qǐng)求;規(guī)則可應(yīng)用于防火墻所評(píng)估的所有類型的流量。
這一列表是我們首個(gè)公開的基于 Cloudflare 威脅情報(bào)的信息源。Cloudflare 利用其網(wǎng)絡(luò)的規(guī)模和覆蓋范圍來(lái)獲得這些威脅情報(bào)。這個(gè)列表是如何生成的?我們觀察到來(lái)自互聯(lián)網(wǎng)上每個(gè)公開可路由 IP 地址的請(qǐng)求。Cloudflare 將開放源代碼列表與其大型網(wǎng)絡(luò)結(jié)合起來(lái),以便識(shí)別開放代理。對(duì)這些代理進(jìn)行驗(yàn)證后,Cloudflare 確定出口 IP 并創(chuàng)建列表。然后,我們將這些信譽(yù)數(shù)據(jù)反饋到我們的安全系統(tǒng)中,并以托管 IP 列表的形式提供給我們的客戶。
這個(gè)列表面向所有 Enterprise 計(jì)劃提供,可在收集所有可用 IP 列表的下拉菜單中選擇 “Cloudflare 開放代理” 來(lái)使用(見下圖)。
Cloudflare 開放代理托管列表可在防火墻規(guī)則構(gòu)建器中直接使用
對(duì)客戶端證書的更多控制
我們發(fā)布 mTLS 時(shí)就已經(jīng)將移動(dòng)應(yīng)用和 IoT 設(shè)備的首個(gè) API Shield 版本考慮在內(nèi)。是通過客戶端證書執(zhí)行強(qiáng)驗(yàn)證保護(hù)流量的一種非常有效的手段,可防止數(shù)據(jù)滲漏和一般濫用。然而,在 IoT 設(shè)備或移動(dòng)電話被盜、丟失或被惡意行為者控制的情況下,Cloudflare 需要一種方法來(lái)撤銷被認(rèn)為存在潛在安全風(fēng)險(xiǎn)的證書。永久排除受攻擊設(shè)備流量的能力,是防止數(shù)據(jù)丟失和惡意攻擊的有效方法。
我們的許多客戶已經(jīng)開始在他們的應(yīng)用程序中嵌入 API Shield 證書,并實(shí)施了一個(gè)使用 Workers with Workers KV 的撤銷解決方案。盡管這個(gè)解決方案允許對(duì)證書進(jìn)行精細(xì)化控制,但其需要我們的客戶進(jìn)行大量開發(fā)工作,而且不容易擴(kuò)展。
在安全周期間,我們將發(fā)布一個(gè)全托管解決方案來(lái)撤銷(或恢復(fù))證書,無(wú)需編寫一行代碼。我們構(gòu)建了一個(gè)簡(jiǎn)單的界面,用于管理您的證書在我們邊緣上從發(fā)行到撤銷的整個(gè)生命周期。我們會(huì)代您管理這一切,以便您能專注于打造自己的應(yīng)用程序,無(wú)需擔(dān)心如何設(shè)立復(fù)雜和昂貴的公鑰基礎(chǔ)設(shè)施(PKI)及管理潛在風(fēng)險(xiǎn)設(shè)備的撤銷??蛻艚佑|點(diǎn)是“客戶端證書”選項(xiàng)卡中的一個(gè)新的“撤銷”和“恢復(fù)”按鈕,其支持 API 調(diào)用和一個(gè)新的防火墻規(guī)則字段。
向 Cloudflare 邊緣提供證書的每個(gè)請(qǐng)求將有兩個(gè)防火墻字段被設(shè)置:cf.tls_client_auth.cert_verified和 cf.tls_client_auth.cert_revoked。防火墻對(duì)請(qǐng)求進(jìn)行處理,在此用戶可將這些字段與其他防火墻功能結(jié)合起來(lái)。這允許客戶根據(jù)證書是否已驗(yàn)證或已驗(yàn)證但被撤銷來(lái)設(shè)置不同的行為。這也允許您實(shí)施所需的安全策略,同時(shí)為最終用戶提供良好的體驗(yàn)。一個(gè)經(jīng)典的配置是只允許帶有已驗(yàn)證證書的請(qǐng)求,同時(shí)將來(lái)自已撤銷證書的請(qǐng)求轉(zhuǎn)發(fā)到不同的頁(yè)面或端點(diǎn),以根據(jù)用戶歷程的需要處理異常。
用戶可訪問客戶端證書選項(xiàng)卡來(lái)撤銷證書
醞釀中的功能
Cloudflare 團(tuán)隊(duì)正在努力為 API Shield 推出更多功能。我們與使用 Cloudflare 處理 API 流量的幾百位客戶交談過,最優(yōu)先考慮的三個(gè)功能是:深入 API 分析,更靈活的速率限制工具,以及集成 API 異常檢測(cè)。
模式驗(yàn)證和數(shù)據(jù)丟失防護(hù)現(xiàn)已發(fā)布,完全集成于我們的日志和分析引擎中。展望未來(lái),我們計(jì)劃將擴(kuò)展這種能力以分析流量,并為客戶提供工具,用于識(shí)別和管理專門針對(duì) API 端點(diǎn)的攻擊。
Cloudflare 的速率限制設(shè)計(jì)為最適用于 Web 流量,對(duì)此情況您可以編寫基于 URL 和請(qǐng)求方法的規(guī)則。我們現(xiàn)正努力將防火墻規(guī)則的強(qiáng)大功能與速率限制提供的控制集成在一起。這將允許客戶利用防火墻中強(qiáng)大的邏輯來(lái)分割流量。我們也在擴(kuò)展計(jì)數(shù)機(jī)制,以包括根據(jù) API 密鑰和用戶 ID 限制速率的能力。
在以 API 流量為目標(biāo)時(shí),攻擊模式可能存在很大差異,導(dǎo)致傳統(tǒng)的自動(dòng)程序管理(Bot Management)解決方案并非識(shí)別可疑行為的最理想候選方案。之后,我們將宣布兩個(gè)著眼于進(jìn)一步保護(hù)應(yīng)用程序的主要功能:API 發(fā)現(xiàn)(API Discovery)和異常檢測(cè)(Anomaly Detection)。API 發(fā)現(xiàn)允許客戶映射其端點(diǎn)并獲得對(duì) API 表面的可見性。異常檢測(cè)是 Cloudflare 提供的一種解決方案,可大規(guī)模地自動(dòng)將良性 API 流量從惡意活動(dòng)中可靠地分離出來(lái)??蛻魧⒛芷渑c mTLS、模式驗(yàn)證和速率限制同時(shí)設(shè)置,以便提供最高級(jí)別的保護(hù)。