最終用戶帳戶安全始終是頭等大事,但仍然是一個棘手的問題。更糟糕的是,對用戶進行身份驗證很困難。隨著違反憑據的數據集變得司空見慣,以及更高級的機器人在網絡上爬行并嘗試進行憑據填充攻擊,對于專注于安全性的團隊而言,保護和監(jiān)視身份驗證端點已成為一項挑戰(zhàn)。最重要的是,許多身份驗證端點仍僅依靠提供正確的用戶名和密碼來使未被檢測到的憑證填充導致惡意行為者接管帳戶。
Cloudflare平臺的許多功能可以幫助實現帳戶接管保護。在本文中,我們將介紹幾個示例并宣布一些新功能。這些包括:
打開代理托管列表(NEW):確保對您的應用的身份驗證嘗試不是來自代理服務;
超級機器人大戰(zhàn)模式(NEW):讓自動流量遠離您的身份驗證端點;
暴露的憑據檢查(NEW):每當用戶使用受損的憑據登錄時,都會收到一條警告。這可用于啟動兩因素身份驗證流程或重置密碼。
Cloudflare Access:通過與第三方OATH服務輕松集成來添加額外的身份驗證層,并很快通過可選實施受管設備(NEW)來實現;
登錄失敗的速率限制:停止對應用程序進行強力憑證填充嘗試;
當結合使用這些功能時,這些功能可以成為功能強大且易于部署的工具,以提高最終用戶帳戶的安全性。
Cloudflare開放代理列表
2020年7月,我們引入了IP列表-用戶在編寫自定義防火墻規(guī)則時可以創(chuàng)建并維護的IP的可重用列表。盡管對于任何防火墻管理員來說,這都是一個不錯的工具,就像用于訪問控制的任何IP列表一樣,它很快就會過時。
使用我們新的Cloudflare Open Proxy Managed列表-您現在可以編寫自定義防火墻規(guī)則,并與Cloudflare完全管理并定期更新(每小時)的列表進行匹配。該列表是根據觀察到的網絡流量和對開放代理端點的主動搜索來填充的。
新的Open Proxies托管列表-可以在“帳戶主頁”→“配置”→“列表”下找到,或直接在自定義規(guī)則中使用
通過在編寫自定義防火墻規(guī)則時將IP列表與其他過濾器結合在一起,可以降低嘗試登錄身份驗證端點的風險。使用我們的wirefilter語法編寫一個利用新列表的規(guī)則,如下所示:
http.request.uri.path contains "/login" and (not ip.src in $cf.open_proxies and cf.bot_management.score < 30)
然后,根據對規(guī)則的選擇操作,任何身份驗證嘗試都將被阻止或挑戰(zhàn)。
SOCK和代理IP列表適用于所有企業(yè)客戶。
超級機器人格斗模式和API濫用檢測
登錄端點為機器人提供了機會。不良的bot通過在幾秒鐘內測試成千上萬個(甚至不是數百萬個)憑據來真正利用時間。這些漫游器將持續(xù)存在,直到它們從您的網站中提取了某種價值。
幸運的是,我們最近發(fā)布了“超級機器人大戰(zhàn)模式”。此功能包含在所有Pro和Business計劃中,并且我們已將其與實時分析配對,因此您可以隨時觀察攻擊的發(fā)生。超級機器人戰(zhàn)斗模式旨在阻止憑證填充。在后臺,我們正在運行許多相同的檢測引擎,這些引擎為我們的企業(yè)機器人管理產品提供了動力。
我們新的超級機器人格斗模式??梢栽诜阑饓Α鷻C器人下找到
最好的部分:您可以立即添加保護。專業(yè)版用戶可以選擇允許,阻止或挑戰(zhàn)Internet上的“確定性機器人”。商業(yè)用戶甚至可以針對“可能的機器人”,這種機器人往往更加復雜且難以發(fā)現。我們的免費用戶可以繼續(xù)使用Bot Fight Mode開關進行基本保護。
暴露的憑證檢查
憑據填充攻擊者試圖使用用戶名/密碼對(用戶的憑據)登錄到目標帳戶,該用戶名/密碼對先前是由于違反某些其他服務而被盜用的。令人遺憾的是,這種方法通常奏效,因為超過50%的用戶將相同的密碼用于多個帳戶-結果是大量的帳戶遭到破壞。因此,您自己的最終用戶帳戶安全性不僅取決于您自己的系統(tǒng)的安全性,還取決于用戶使用的所有其他系統(tǒng)的安全性。盡管多因素身份驗證可以提供深度防御,但許多身份驗證服務和用戶尚未使用它,即使如此,當用戶名/密碼對為“真”時,我們仍希望能夠向服務及其用戶發(fā)出警告。易受傷害的。
除了諸如僵尸程序檢測之類的其他方法之外,行業(yè)中的一種新的最佳實踐是使登錄服務自己檢查其用戶憑據之一是否在已知的數據泄露中。這需要擁有一組已知的違反用戶名/密碼對。諸如“我已被盜”和“ Google密碼泄露警報”之類的服務匯總了已知盜用的用戶名/密碼對的大型數據庫,并允許公司或最終用戶進行查找以確定漏洞。但是集成可能具有挑戰(zhàn)性,理想情況下,組織只需按一下按鈕就可以打開憑據檢查保護。
通過我們的托管規(guī)則集輕松啟用暴露的憑據檢查,另外,您可以編寫自己的自定義規(guī)則。??
Cloudflare保護的任何應用程序的登錄請求都通過WAF進行路由,這為“按路徑”公開的憑據檢查提供了機會。啟用后,在進行任何身份驗證嘗試時,WAF都會根據Cloudflare收集和維護的泄漏憑證數據庫自動檢查最終用戶憑證。如果找到匹配項,則WAF會將標頭添加到原點,以便可以警告您的應用程序有關易受攻擊的憑據,例如,觸發(fā)該用戶的密碼重設流程或第二因素身份驗證挑戰(zhàn)。
至少可以說,處理用戶名和密碼是高度敏感的,并且我們已經設計了公開的憑據檢查功能來保護用戶憑據。一個關鍵的設計原則是,用戶名/密碼對絕不應暴露在WAF流程的邊界之外,從而確保我們可以執(zhí)行檢查而不會增加任何其他風險。這意味著該功能永遠不會在WAF流程之外傳輸用戶名或密碼或將其記錄1因為我們不希望知道這些憑據中的任何一個-僅在它們對您的網絡安全構成威脅的情況下才有意義。但是,除此之外,我們還建立了一個保護隱私的加密協(xié)議來執(zhí)行數據庫查找。粗略地說,我們在WAF流程中將密鑰加密哈希函數應用于用戶名/密碼對,并檢查結果哈希值是否與我們已知的泄露憑據數據庫中的密鑰對哈希值匹配。我們將在后續(xù)的技術深入探討中對此進行進一步說明。
使用受管設備進行Cloudflare訪問
借助Cloudflare Access,您可以在受Cloudflare保護的任何應用程序之前提供一個附加的身份驗證層。Access通過在每個請求上驗證用戶身份,位置和網絡來保護應用程序。這自然增加了最終用戶帳戶的安全性。
但是,用戶使用的設備可能仍然不安全。與受感染設備的有效身份驗證會話可能導致數據泄露,或者更糟糕的是,最終用戶帳戶或應用程序被完全破壞。企業(yè)試圖通過管理和發(fā)行可通過移動設備管理(MDM)解決方案實施安全策略的公司設備來降低這種風險。
為了解決此問題,我們正在改進Cloudflare Access,以強制只有公司設備才能訪問敏感的應用程序。通過訪問規(guī)則,現在可以在允許訪問之前根據受管設備列表來驗證設備的序列號。即使要公開用戶的憑據,由于設備的序列號不在受管設備列表之內,任何未經授權的訪問都將被阻止。有關更多信息,請參閱我們最近的公告。
登錄失敗的速率限制
蠻力攻擊出奇地有效,特別是在迭代泄漏憑據數據庫時執(zhí)行。要阻止這些攻擊,通常只需將它們放慢到執(zhí)行起來過于昂貴的程度即可。
如果登錄嘗試失敗,許多用戶名/密碼表單將發(fā)出HTTP 403禁止狀態(tài)代碼或其他可識別的錯誤消息。這可以用作發(fā)出速率限制響應的非常有效的信號,從而避免對合法用戶產生任何潛在的副作用。
以上速率規(guī)則限制了在一分鐘內連續(xù)5次失敗的登錄嘗試(在一小時內)后的任何IP。
可以根據需要自定義速率限制響應,以支持帶有JSON負載的API或基于標準HTML的端點。
速率限制可作為所有付費服務供所有自助服務客戶使用。