API 是連入互聯(lián)網(wǎng)的現(xiàn)代應(yīng)用程序的命脈。它們每分每秒都在執(zhí)行來自移動應(yīng)用程序的請求:下達(dá)這份外賣訂單、“點(diǎn)贊”這張圖片、發(fā)送命令到 IoT 設(shè)備、解鎖車門、啟動洗滌周期,通知有人剛跑完五千米,以及不計(jì)其數(shù)的其他指令。
意圖執(zhí)行未經(jīng)授權(quán)操作或泄露數(shù)據(jù)的攻擊四處蔓延,也將這些 API 作為攻擊目標(biāo)。正如 Gartner 數(shù)據(jù)所示,“到 2021 年,90% 支持 Web 的應(yīng)用程序因?yàn)殚_放 API 而非 UI 而具有更大的攻擊表面,2019 年的比例為 40%”,并且“Gartner 預(yù)計(jì)到 2022 年,API 濫用將從不常見的攻擊手段轉(zhuǎn)變?yōu)樽铑l繁的攻擊手段,導(dǎo)致企業(yè) Web 應(yīng)用程序發(fā)生數(shù)據(jù)泄露”[1][2]。在每秒穿越 Cloudflare 網(wǎng)絡(luò)的 1800 萬個(gè)請求中,50% 是針對 API 的,其中大多數(shù)請求因?yàn)閻阂舛蛔柚埂?/span>
為了應(yīng)對這些威脅,Cloudflare 通過使用強(qiáng)大的基于客戶端證書的身份識別和嚴(yán)格的基于模式的驗(yàn)證,來簡化 API 的安全保護(hù)。截至今天,這些功能已在新發(fā)產(chǎn)品“API Shield”中面向我們的所有計(jì)劃免費(fèi)提供給客戶。安全性優(yōu)勢目前也已擴(kuò)展到基于 gRPC 的 API ,這類 API 使用二進(jìn)制格式(例如協(xié)議緩沖區(qū))而非 JSON,在我們客戶群中也越來越受到歡迎。
繼續(xù)閱讀可進(jìn)一步了解新功能的更多信息;或者,直接跳轉(zhuǎn)至“演示”段落,獲取有關(guān)如何開始配置第一條 API Shield 規(guī)則的示例。
正向安全模型和客戶端證書
所謂“正向安全”模型,指的是僅允許已知行為和身份而拒絕其他一切的模型。它與 Web 應(yīng)用程序防火墻(WAF)實(shí)施的傳統(tǒng)“負(fù)向安全性”模型相反,后者允許除了源自有問題的 IP、ASN、國家或地區(qū)的請求或具有問題簽名(SQL 注入行為等)的請求以外的所有內(nèi)容。
為 API 實(shí)施正向安全模型是消除證書填充攻擊和其他自動掃描工具的噪聲的最直接方法。若要采用正向模型,第一步是部署強(qiáng)大的身份驗(yàn)證,例如雙向 TLS 身份驗(yàn)證,這種身份驗(yàn)證不易受到重用或共用密碼的影響。
我們在 2014 年通過推出 Universal SSL 來簡化服務(wù)器證書的頒發(fā),與之類似,API Shield 可將頒發(fā)客戶端證書的過程縮減為只需點(diǎn)擊 Cloudflare 儀表板中的幾個(gè)按鈕。通過提供完全托管的私有公鑰基礎(chǔ)結(jié)構(gòu)(PKI),您可以專注于開發(fā)應(yīng)用程序和功能,而不必操作和保護(hù)自己的證書頒發(fā)機(jī)構(gòu)(CA)。
使用模式驗(yàn)證執(zhí)行有效的請求
一旦開發(fā)人員能夠確信只有合法客戶端(持有 SSL 證書)才可連接他們的 API,那么實(shí)施正向安全模型的下一步就是確保這些客戶端發(fā)出有效的請求。從設(shè)備提取客戶端證書并在其他地方重用比較困難,但也并非毫無可能,因此確保 API 調(diào)用符合預(yù)期也很重要。
API 開發(fā)人員可能沒有預(yù)料到含有無關(guān)輸入的請求,如果應(yīng)用程序直接處理這些請求,那么可能會導(dǎo)致問題。因此,應(yīng)盡可能在邊緣丟棄這些請求。在 API 模式驗(yàn)證工作時(shí),它會將 API 請求的內(nèi)容(URL 后面的查詢參數(shù)和 POST 正文的內(nèi)容)與包含用來規(guī)定預(yù)期內(nèi)容的規(guī)則的協(xié)定或“模式”進(jìn)行匹配。如果驗(yàn)證失敗,則阻止 API 調(diào)用,以保護(hù)源站免受無效請求或惡意有效載荷的侵害。
模式驗(yàn)證當(dāng)前處于 JSON 有效載荷封閉測試中,gRPC/協(xié)議緩沖區(qū)則已在路線圖中有相應(yīng)計(jì)劃。如果您想?yún)⒓訙y試,請打開主題為“API Schema Validation Beta”的支持票證。測試結(jié)束后,我們計(jì)劃將模式驗(yàn)證作為 API Shield 用戶界面的一部分提供。
展望未來
在未來幾個(gè)月中,我們計(jì)劃擴(kuò)展 API Shield,添加一些旨在保護(hù) API 流量的其他功能。如果客戶想要使用自己的 PKI,我們也提供了導(dǎo)入自有 CA 的功能,這些功能目前已作為 Cloudflare Access 的一部分提供。
收到有關(guān) Beta 版模式驗(yàn)證的反饋后,我們會設(shè)法面向所有客戶提供這個(gè)功能。如果您正在試用 Beta 版并想分享自己的想法,歡迎您提供反饋。
除了證書和模式驗(yàn)證外,我們也將布置其他 API 安全功能和深度分析功能,以幫助您更好地了解 API。
1:“到 2021 年,90% 支持 Web 的應(yīng)用程序因?yàn)殚_放 API 而非 UI 而具有更大的攻擊表面,2019 年的比例為 40%”。資料來源:Gartner“Gartner 的 API 戰(zhàn)略成熟度模型”,Saniye Alaybeyi 和 Mark O'Neill,2019 年 10 月 21 日。(需要訂閱 Gartner)
2:“Gartner 預(yù)計(jì)到 2022 年,API 濫用將從不常見的攻擊手段轉(zhuǎn)變?yōu)樽铑l繁的攻擊手段,導(dǎo)致企業(yè) Web 應(yīng)用程序發(fā)生數(shù)據(jù)泄露”。資料來源:Gartner,“API 戰(zhàn)略中的冷靜供應(yīng)商”,Shameen Pillai、Paolo Malinverno、Mark O'Neill 和 Jeremy D'Hoinne,2020 年 5 月 18 日(需要訂閱 Gartner)