本文介紹了阿里雲雲盾Web Application Firewall的Web攻擊防護最佳實務,主要從應用情境、防護策略、防護效果、規則更新四個方面進行介紹。

應用情境

Web Application Firewall(Web Application Firewall,簡稱WAF)主要提供針對Web攻擊的防護,例如SQL注入、XSS、遠程命令執行、Webshell上傳等攻擊。關於Web攻擊的詳細資料,請參考 OWASP 2017 Top 10
说明 主機層服務的安全問題(例如Redis、MySQL未授權訪問等)導致的伺服器入侵不在WAF的防護範圍之內。

防護策略

在將網站成功接入WAF防護後,登入 Web Application Firewall控制台,在 管理 > 網站配置頁面選擇已防護的網站,並單擊 防護配置,即可查看Web應用攻擊防護的防護狀態,如圖所示。

Web應用攻擊防護功能預設開啟,並使用正常模式的防護規則策略。其中,

  • 狀態
    • 開啟表示WAF的Web應用攻擊防護模組已開啟。
    • 關閉表示該防護模組處於關閉狀態。
  • 模式:分為防護和預警兩種模式。
    • 防護模式表示當遭受Web攻擊時,WAF自動攔截攻擊請求,並在後台記錄攻擊日誌。
    • 預警模式表示當遭受Web攻擊時,WAF不會攔截攻擊請求,僅在後台記錄攻擊日誌。
  • 防護規則策略:分為寬鬆、正常、嚴格三種模式,僅在啟用防護模式後生效。
    • 寬鬆防護規則策略的防護粒度較粗,只攔截攻擊特徵比較明顯的請求。
    • 正常防護規則策略的防護粒度較寬鬆且防護規則策略精準,可以攔截常見的具有繞過特徵的攻擊請求。
    • 嚴格防護規則策略的防護粒度最精細,可以攔截具有複雜的繞過特徵的攻擊請求。
使用建議
  • 如果您對自己的業務流量特徵還不完全清楚,建議先切換到預警模式進行觀察。一般情況下,建議您觀察一至兩周,然後分析預警模式下的攻擊日誌。
    • 如果沒有發現任何正常業務流量被攔截的記錄,則可以切換到防護模式啟用攔截防護。
    • 如果發現攻擊日誌中存在正常業務流量,可以聯絡阿里雲安全專家溝通具體的解決方案。
  • PHPMyAdmin、開發技術類論壇接入WAF防護可能會存在誤攔截的問題,建議聯絡阿里雲安全專家溝通具體的解決方案。
  • 業務操作方面應注意以下問題:
    • 正常業務的HTTP請求中盡量不要直接傳遞原始的SQL語句、JAVA SCRIPT代碼。
    • 正常業務的URL盡量不要使用一些特殊的關鍵字(UPDATE、SET等)作為路徑,例如www.example.com/abc/update/mod.php?set=1
    • 如果業務中需要上傳檔案,不建議直接通過Web方式上傳超過50M的檔案,建議使用OSS或者其他方式上傳。
  • 開啟WAF的Web應用攻擊防護功能後,不要禁用預設精準存取控制規則中的Web防護通用防護模組,如圖所示。



防護效果

開啟WAF的Web應用攻擊防護功能後,您可以在 統計 > 安全報表頁面,查看攻擊的攔截日誌,如圖所示。

安全報表頁面,您可以查看昨天、當天、7天以及一個月內的攻擊詳情。同時,單擊 查看攻擊詳情,可以查看具體的攻擊資訊,如圖所示。

該截圖中的攔截日誌即為一條已被WAF攔截的SQL注入攻擊請求。
说明 如果您發現WAF誤攔截了正常業務流量,建議您先通過精準存取控制功能對受影響的URL配置白名單策略,然後聯絡阿里雲安全專家溝通具體解決方案。

規則更新

對於互連網披露的已知漏洞和未披露的0day漏洞,雲盾WAF將及時完成防護規則的更新,並發布防護公告。

您可以登入 Web Application Firewall控制台,前往 總覽 > 安全頁面,查看最新發行的防護公告,如圖所示。

該截圖中公告欄展示了針對weblogic遠程命令執行漏洞的防護規則的更新公告。
说明 Web攻擊往往存在不止一種概念證明方法(Proof of Concept,簡稱PoC),阿里雲安全專家會對漏洞原理進行深度分析從而確保發布的Web防護規則覆蓋已公開和未公開的各種漏洞利用方式。