本文介紹了使用Web Application Firewall(Web Application Firewall,簡稱WAF)的規則防護引擎功能進行Web應用攻擊防護的最佳實務,包含應用情境、防護策略、防護效果、規則更新四個方面。
應用情境
WAF主要協助網站防禦不同類型的Web應用攻擊,例如SQL注入、XSS跨站攻擊、遠程命令執行、WebShell上傳等攻擊。關於Web攻擊的更多資訊,請參見常見Web漏洞釋義。
主機層服務的安全問題(例如Redis、MySQL未授權訪問等)導致的伺服器入侵不在WAF的防護範圍之內。
設定防護策略
您在完成網站接入後,WAF的規則防護引擎功能預設開啟,並使用正常模式的防護策略,為網站防禦常見的Web攻擊。您可以在網站防護頁面定位到規則防護引擎地區,設定防護策略和查看規則防護引擎的防護狀態。具體操作,請參見操作步驟。
防護狀態解讀
狀態:是否開啟規則防護引擎模組,預設開啟。
模式:WAF檢測發現網站的訪問請求中包含Web攻擊時要執行的動作,包含攔截和警示兩種模式。
攔截模式:WAF自動攔截攻擊請求,並在後台記錄攻擊日誌。
警示模式:WAF不會攔截攻擊請求,僅在後台記錄攻擊日誌。
防護規則群組:規則防護引擎使用的防護規則合集,預設提供中等規則群組、嚴格規則群組、寬鬆規則群組,分別表示正常、嚴格、寬鬆的檢測強度。
中等規則群組:防護粒度較寬鬆且防護規則策略精準,可以攔截常見的具有繞過特徵的攻擊請求。
嚴格規則群組:防護粒度最精細,可以攔截具有複雜的繞過特徵的攻擊請求,相比中等規則群組帶來的誤攔截可能更多。
寬鬆規則群組:防護粒度較粗,只攔截攻擊特徵比較明顯的請求。
說明防護規則群組設定僅在開啟規則防護引擎後生效。
如果您開通了企業版或旗艦版的中國內地WAF執行個體,或者旗艦版的非中國內地WAF執行個體,則您可以自訂防護規則群組。自訂防護規則群組允許您自由組合WAF提供的所有防護規則,形成有針對性的防護策略,並將其應用到網站防護。具體操作,請參見自訂防護規則群組。
使用建議
如果您對自己的業務流量特徵還不完全清楚,建議您先切換到警示模式進行觀察。一般情況下,建議您觀察一至兩周,然後分析警示模式下的攻擊日誌:
如果沒有發現任何正常業務流量被攔截的記錄,則可以切換到攔截模式。
業務操作方面應注意以下問題:
正常業務的HTTP請求中盡量不要直接傳遞原始的SQL語句、JavaScript代碼。
正常業務的URL盡量不要使用一些特殊的關鍵字(UPDATE、SET等)作為路徑,例如
www.aliyundoc.com/abc/update/mod.php?set=1
。如果業務中需要上傳檔案,不建議直接通過Web方式上傳超過50 MB的檔案,建議使用OSS或者其他方式上傳。更多資訊,請參見開始使用OSS。
查看防護效果
開啟規則防護引擎後,您可以在安全報表頁面查詢WAF安全報表。
報表,瞭解規則防護引擎的防護記錄。具體操作,請參見Web入侵防護報表支援查詢最近30天內的攻擊記錄。報表下方提供了詳細的攻擊記錄列表,您可以篩選出規則防護記錄,然後單擊某條記錄後的查看詳情,查詢攻擊詳情。例如,下圖中的攻擊詳情表示一條已被WAF攔截的SQL注入請求。
如果您發現WAF誤攔截了正常的業務流量,建議您通過Web入侵防護白名單功能,對受影響的URL配置白名單策略,具體操作,請參見設定Web入侵防護白名單。
查看規則更新通知
對於互連網披露的已知漏洞和未披露的0day漏洞,WAF將及時完成防護規則的更新並發布規則更新通知。您可以在產品資訊頁面,查詢WAF發布的規則更新通知。具體操作,請參見查看產品資訊。
Web攻擊往往存在不止一種概念證明方法(Proof of Concept,簡稱PoC),阿里雲安全專家會對漏洞原理進行深度分析,從而確保發布的Web防護規則覆蓋已公開和未公開的各種漏洞利用方式。