Web Application Firewall(WAF)的賬戶安全功能為您提供賬戶風險的識別能力。本文針對如何防護賬戶風險給出不同攻擊情境和業務情境下的防護建議,指導您更好地保護自己業務中與賬戶關聯的介面。
背景資訊
WAF支援賬戶安全檢測,在Web攻擊防護基礎上協助您識別與賬戶關聯的業務介面(例如註冊、登入介面等)上發生的賬戶安全風險事件,具體包括撞庫、暴力破解、垃圾註冊、弱口令嗅探和簡訊驗證碼介面濫刷。配置WAF賬戶安全檢測後,您可以在WAF安全報表中查看相關檢測結果。更多資訊,請參見設定賬戶安全。使用驗證碼(適用於普通網頁或H5)
為普通PC頁面或H5頁面啟用驗證碼是防護重點介面的最簡單和有效手段。接入驗證碼服務通常需要您在業務代碼中做少許改動,一般一至二個工作日即可完成。
一般的驗證碼能夠有效攔截使用簡單工具指令碼發起的介面直接調用,但隨著黑灰產攻擊手段和攻擊工具的進化,普通的驗證碼越來越容易被繞過。當您需要更高強度的攻防對抗時,建議您選擇專業的驗證碼服務。
使用SDK簽名(適用於App)
對於不適合使用驗證碼的原生App,阿里雲提供了一套SDK方案。SDK方案通過採集移動端的各種硬體資訊、環境資訊,並且對請求進行簽名和驗簽,確保只有通過合法的官方App(而不是來自指令碼、自動化程式、模擬器等非正常途徑)發出來的請求才會被允許存取回來源站點。
多維度頻次限制(適用於高頻攻擊)
對於攻擊請求中包含某個高頻特徵欄位(例如IP、session、cookie、參數、header等)的行為,您可以使用多維度頻次限制,將攻擊源拉黑。例如,當攻擊請求使用大量代理、秒撥IP,但複用同一個登入態的cookie(例如uid)時,您可以基於cookie設定限速,這樣就將防護對象由原始的IP轉變為跟商務邏輯有關的“帳號”維度。
分析異常的請求特徵
對於絕大部分攻擊,通過細心觀察和分析,總會發現攻擊請求與正常使用者請求在特徵上的差異。以下是一些常見的異常請求特徵,供您參考。
- HTTP Header不完整。例如缺失referer、cookie、content-type等欄位。
- User-agent的值異常。例如對於普通Web網站的請求中出現大量Java或是Python的UA特徵,或者對於微信小程式應用的請求中出現大量案頭版PC瀏覽器的UA特徵等。
- Cookie不完整。一般的應用都會有多個具備業務含義的cookie,例如SessionID、userid、deviceid、lastvisit等,而爬蟲程式在編寫的時候有可能只會提交擷取結果所必需的一到二個cookie,而缺少其他具有業務含義的cookie。
- 參數內容異常。類似cookie異常,有些參數對於爬蟲來說意義不大,缺失或者重複提交都不影響擷取結果,這也可以作為同一類異常來處理。
- 業務欄位異常。例如郵箱、手機號、賬戶資訊中包含某一些異常或不合理的關鍵字等。
開啟撞庫、爬蟲威脅情報
WAF的Bot管理模組將基於阿里雲全網流量監測到的有撞庫行為聚集的惡意IP通過演算法提取出來,形成撞庫IP情報庫,並動態更新。您可以使用Bot管理模組的爬蟲威脅情報功能,一鍵開啟撞庫IP檢測(觀察模式)或是對命中的IP進行攔截、滑塊驗證等處置。更多資訊,請參見設定爬蟲威脅情報規則。