分享方式:


什麼是 Azure 應用程式閘道上的 Web 應用程式防火牆?

Azure 應用程式閘道上的 Azure Web 應用程式防火牆 (WAF) 會主動保護您的 Web 應用程式,以防止常見的惡意探索和弱點。 隨著 Web 應用程式成為惡意攻擊的更頻繁目標,這些攻擊通常會利用已知的弱點,例如 SQL 插入式攻擊和跨網站指令碼。

應用程式閘道上的 WAF 會以 Open Web Application Security Project (OWASP) 中的核心規則集 (CRS) 為基礎。

下列所有 WAF 功能都存在於 WAF 原則內。 您可以建立多個原則,而且這些原則可以與應用程式閘道、個別接聽程式或應用程式閘道上的路徑型路由規則相關聯。 如此一來,您可以視需要針對應用程式閘道後方的每個網站設定個別原則。 如需 WAF 原則的詳細資訊,請參閱建立 WAF 原則

注意

應用程式閘道有兩個版本的 WAF SKU:應用程式閘道 WAF_v1 和應用程式閘道 WAF_v2。 只有應用程式閘道 WAF_v2 SKU 才支援 WAF 原則關聯。

應用程式閘道 WAF 圖表

應用程式閘道是以應用程式傳遞控制器 (ADC) 的形式運作。 提供傳輸層安全性 (TLS),先前稱為安全通訊端層 (SSL)、終止、Cookie 型工作階段親和性、迴圈配置資源負載散發、內容型路由、裝載多個網站的能力,以及安全性增強功能。

應用程式閘道可透過 TLS 原則管理和端對端 TLS 支援來增強安全性。 藉由將 WAF 整合到應用程式閘道中,即可加強應用程式安全性。 此組合會主動保護您的 Web 應用程式免於常見的弱點,並提供可集中管理且易於設定的位置。

福利

本節說明 WAF 在應用程式閘道上提供的核心優點。

保護

  • 保護您的 Web 應用程式免於 Web 弱點和攻擊,不需要修改後端程式碼。

  • 同時保護多個 Web 應用程式。 應用程式閘道的執行個體可以裝載最多 40 個受 Web 應用程式防火牆保護的網站。

  • 為相同 WAF 後方的不同網站建立自訂 WAF 原則。

  • 使用 IP 信譽規則集保護您的 Web 應用程式免於惡意聊天機器人。

  • 保護您的應用程式免於遭受 DDoS 攻擊。 如需詳細資訊,請參閱 應用程式 Azure DDoS 保護

監視

  • 使用即時 WAF 記錄來監視針對 Web 應用程式的攻擊。 記錄會與 Azure 監視器整合,以追蹤 WAF 警示並輕鬆監視趨勢。

  • 應用程式閘道 WAF 已與適用於雲端的 Microsoft Defender 整合。 適用於雲端的 Defender 可讓您集中檢視所有 Azure、混合式和多重雲端資源的安全性狀態。

自訂

  • 自訂 WAF 規則和規則群組,以符合您的應用程式需求,並消除誤判為真。

  • 為 WAF 後方的每個網站建立 WAF 原則的關聯,以允許網站特定的設定

  • 建立自訂規則以符合應用程式的需求

功能

  • SQL 插入式攻擊保護。
  • 跨網站指令碼保護。
  • 防範其他常見的 Web 攻擊,例如命令插入、HTTP 要求走私、HTTP 回應分割,以及遠端檔案包含。
  • 防範 HTTP 通訊協定違規。
  • 防範 HTTP 通訊協定異常,例如遺失主機使用者代理程式並接受標頭。
  • 防範編目程式和掃描程式。
  • 偵測常見的應用程式設定錯誤 (例如 Apache 和 IIS)。
  • 具有下限和上限的可設定要求大小限制。
  • 排除清單可讓您從 WAF 評估中省略特定要求屬性。 常見的範例是用於驗證或密碼欄位的 Active Directory 插入權杖。
  • 建立自訂規則以符合應用程式的特定需求。
  • 異地篩選流量,以允許或封鎖特定國家/地區或區域存取您的應用程式。
  • 使用聊天機器人風險降低規則集為應用程式防範聊天機器人。
  • 檢查要求本文中的 JSON 和 XML

WAF 原則和規則

若要在應用程式閘道上啟用 Web 應用程式防火牆,您必須建立 WAF 原則。 此原則是所有受控規則、自訂規則、排除項目,以及其他自訂內容 (例如檔案上傳限制) 的所在位置。

您可以設定 WAF 原則,並將該原則與一或多個應用程式閘道建立關聯以進行保護。 WAF 原則包含兩種類型的安全性規則:

  • 您建立的自訂規則

  • 受控規則集,一組由 Azure 管理且預先設定的規則集合

當兩者都存在時,在處理受控規則集中的規則之前,會先處理自訂規則。 規則是由比對條件、優先順序和動作所組成。 支援的動作類型如下:ALLOW、BLOCK 和 LOG。 您可以結合受控和自訂規則,建立完全自訂的原則,以符合特定應用程式保護需求。

原則內的規則會依優先順序進行處理。 優先順序是一個唯一的整數,定義要處理的規則順序。 較小的整數值表示較高的優先順序,而且這些規則會在具有較高整數值的規則之前進行評估。 比對規則之後,規則中定義的對應動作會套用至要求。 處理這類比對之後,不會進一步處理優先順序較低的規則。

應用程式閘道所傳遞的 Web 應用程式可以在全域層級、每個站台層級或每個 URI 層級與 WAF 原則建立關聯。

核心規則集

應用程式閘道支援多個規則集,包括 CRS 3.2、CRS 3.1 和 CRS 3.0。 這些規則可保護您的 Web 應用程式免於惡意活動。

如需詳細資訊,請參閱 Web 應用程式防火牆 CRS 規則群組與規則

自訂規則

應用程式閘道也支援自訂規則。 使用自訂規則,您可以建立自己的規則,這會針對通過 WAF 的每個要求進行評估。 這些規則的優先順序高於受控規則集中的其餘規則。 如果符合一組條件,則會採取動作來允許或封鎖。

在自訂規則中,現可供使用 Geomatch 運算子。 如需詳細資訊,請參閱 Geomatch 自訂規則

如需有關自訂規則詳細資訊,請參閱應用程式閘道的自訂規則。

Bot 保護規則集

您可以啟用受控 Bot 保護規則集,對來自所有 Bot 類別的要求採取自訂動作。

支援三個 Bot 類別:

  • 不良

    錯誤的 Bot 是具有惡意 IP 位址的 Bot,以及偽造其身分識別的 Bot。 不正確的 Bot 包含來自Microsoft威脅情報摘要的高信賴 IP 指標和 IP 信譽摘要的惡意 IP 位址。 不正確的 Bot 也包含將自己識別為良好 Bot 的 Bot,但其 IP 位址不屬於合法的 Bot 發行者。

  • 很好

    良好的 Bot 是受信任的使用者代理程式。 良好的 Bot 規則會分類為多個類別,以提供對 WAF 原則設定的細微控制。 這些類別包括:

    • 已驗證的搜尋引擎 Bot(例如 Googlebot 和 Bingbot)
    • 已驗證的連結檢查程式 Bot
    • 已驗證的社交媒體 Bot(例如 Facebookbot 和 LinkedInBot)
    • 已驗證的廣告 Bot
    • 已驗證的內容檢查程式 Bot
    • 已驗證的雜項 Bot
  • Unknown

    未知的 Bot 是使用者代理程式,不需要額外的驗證。 未知 Bot 也包含來自 Microsoft 威脅情報摘要中信賴度 IP 指標的惡意 IP 位址。

WAF 平台會主動管理和動態更新 Bot 簽章。

您可以使用 [受控規則集] 底下的 [指派] 選項來指派 Microsoft_BotManagerRuleSet_1.0:

指派受控規則集的螢幕擷取畫面。

啟用 Bot 保護時,它會根據您設定的動作封鎖、允許或記錄符合 Bot 規則的傳入要求。 它會封鎖惡意 Bot、允許經過驗證的搜尋引擎編目程式、封鎖未知的搜尋引擎編目程式,以及依預設記錄未知的 Bot。 您可以選擇將自訂動作設定為封鎖、允許或記錄不同類型的 Bot。

您可以從儲存體帳戶、事件中樞、記錄分析來存取 WAF 記錄,或將記錄傳送至合作夥伴解決方案。

如需 應用程式閘道 Bot 保護的詳細資訊,請參閱 azure Web 應用程式防火牆 Azure 應用程式閘道 Bot 保護概觀

WAF 模式

應用程式閘道 WAF 可以設定為以下列兩種模式執行:

  • 偵測模式:監視和記錄所有威脅警示。 您應在 [診斷] 區段中開啟應用程式閘道的記錄診斷。 您也必須確定已選取並開啟 WAF 記錄。 Web 應用程式防火牆不會在偵測模式中運作時封鎖傳入要求。
  • 預防模式:封鎖規則偵測到的入侵和攻擊。 攻擊者會收到「403 未經授權存取」例外狀況,且連線會關閉。 預防模式會在 WAF 記錄中記錄此類攻擊。

注意

在實際執行環境中時,建議您以偵測模式短期執行新部署的 WAF。 這讓您有機會先取得防火牆記錄,並更新任何例外狀況或自訂規則之後,再轉換到預防模式。 這有助於減少非預期的流量封鎖發生。

WAF 引擎

Azure Web 應用程式防火牆 (WAF) 引擎是檢查流量的元件,且會判斷要求是否包含代表潛在攻擊的簽章。 當您使用 CRS 3.2 或更新版本時,您的 WAF 會執行新的 WAF 引擎,以提供更高的效能和改善的功能集。 當您使用舊版 CRS 時,WAF 會在較舊的引擎上執行。 新功能僅適用於新的 Azure WAF 引擎。

WAF 動作

您可以選擇當要求符合規則條件時要執行的動作。 支援下列動作:

  • 允許:要求通過 WAF 並轉送至後端。 沒有更低的優先順序規則可以封鎖此要求。 允許動作僅適用於 Bot 管理員規則集,而不適用於核心規則集。
  • 封鎖:封鎖要求,且 WAF 會傳送回應給用戶端,不會將要求轉送至後端。
  • 記錄:要求會記錄在 WAF 記錄中,WAF 會繼續評估較低優先順序的規則。
  • 異常分數:這是 CRS 規則集的預設動作,當符合具有此動作的規則時,總異常分數會遞增。 異常評分不適用於 Bot 管理員規則集。

異常評分模式

OWASP 有兩種模式可決定是否封鎖流量: 傳統模式和異常評分模式。

在傳統模式中,符合任何規則的流量會視為獨立於任何其他規則相符項目之外。 此模式易於理解。 但其限制是缺少與特定要求相符的規則數目相關資訊。 因此引進了異常評分模式。 這是 OWASP 3.x 的預設值。

在異常評分模式中,處於預防模式中的防火牆不會立即封鎖符合任何規則的流量。 規則具有特定嚴重性: 重大錯誤警告注意事項。 該嚴重性會影響要求的數值,稱為異常分數。 例如,符合一個「警告」規則的分數為 3 分。 符合一個「重大」規則的分數為 5 分。

嚴重性
重大 5
錯誤 4
警告 3
注意事項 2

而異常分數封鎖流量的閾值為 5。 因此,符合一個「重大」規則就足以讓應用程式閘道 WAF 封鎖要求,即使在預防模式下也一樣。 但是符合「警告」規則只會將異常分數提高 3 分,其本身並不足以封鎖流量。

注意

WAF 規則符合流量時所記錄的訊息會包含「相符」動作值。如果所有相符規則的異常分數總計為 5 或更高,且 WAF 原則正在預防模式中執行,則要求會觸發具有「已封鎖」動作值的強制異常規則,並停止要求。 不過,如果 WAF 原則以偵測模式執行,要求將會觸發「已偵測」動作值,並將要求記錄並傳遞至後端。 如需詳細資訊,請參閱針對 Azure 應用程式閘道的 Web 應用程式防火牆 (WAF) 進行疑難排解

組態

您可以使用 Azure 入口網站、REST API、Azure Resource Manager 範本和 Azure PowerShell 來設定及部署所有 WAF 原則。 您也可以使用防火牆管理員整合 (預覽版) 大規模設定和管理 Azure WAF 原則。 如需詳細資訊,請參閱使用 Azure 防火牆管理員來管理 Web 應用程式防火牆原則 (預覽版)

WAF 監視

請務必監視應用程式閘道的健康情況。 您可以將 WAF 及其保護的應用程式與適用於雲端的 Microsoft Defender、Azure 監視器和 Azure 監視器記錄整合,以支援此功能。

應用程式閘道 WAF 診斷的圖表

Azure 監視器

應用程式閘道記錄會與 Azure 監視器整合。 這可讓您追蹤診斷資訊,包括 WAF 警示和記錄。 您可以移至入口網站中的應用程式閘道資源,從 [診斷] 索引標籤中存取此功能,或直接透過 Azure 監視器存取。 若要深入了解如何啟用記錄,請參閱應用程式閘道診斷

適用於雲端的 Microsoft Defender

適用於雲端的 Defender 可協助您防止、偵測及回應威脅。 它可讓您更了解及控制 Azure 資源的安全性。 應用程式閘道與適用於雲端的 Defender 整合。 適用於雲端的 Defender 會掃描您的環境,以偵測未受保護的 Web 應用程式。 它可以建議應用程式閘道 WAF 來保護這些易受攻擊的資源。 您可以直接從適用於雲端的 Defender 建立防火牆。 這些 WAF 執行個體會與適用於雲端的 Defender 整合。 他們會將警示和健康情況資訊傳送至適用於雲端的 Defender 以進行報告。

適用於雲端的 Defender 概觀視窗

Microsoft Sentinel

Microsoft Sentinel 為可調整的雲端原生安全性資訊事件管理 (SIEM) 和安全性協調流程自動化回應 (SOAR) 解決方案。 Microsoft Sentinel 提供整個企業的智慧型安全性分析與威脅情報,並針對警示偵測、威脅可見性、積極式搜捕及回應威脅,提供單一的解決方案。

使用內建的 Azure WAF 防火牆事件活頁簿,您可以取得 WAF 上安全性事件的概觀。 這包括事件、相符和封鎖的規則,以及記錄在防火牆記錄中所有其他項目。 記錄的詳細資訊如下。

WAF 防火牆事件的螢幕擷取畫面。

適用於 WAF 的 Azure 監視器活頁簿

此活頁簿可讓您跨數個可篩選的面板,對安全性相關的 WAF 事件進行視覺效果自訂。 其適用於所有 WAF 類型,包括應用程式閘道、Front Door 和 CDN,而且可以根據 WAF 類型或特定 WAF 執行個體進行篩選。 透過 ARM 範本或資源庫範本匯入。 若要部署此活頁簿,請參閱 WAF 活頁簿

記錄

應用程式閘道 WAF 會針對其偵測到的每個威脅提供詳細報告。 記錄會與 Azure 診斷記錄整合。 警示會以 .json 格式記錄。 這些記錄可以與 Azure 監視器記錄整合。

應用程式閘道診斷記錄視窗

{
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupId}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{appGatewayName}",
  "operationName": "ApplicationGatewayFirewall",
  "time": "2017-03-20T15:52:09.1494499Z",
  "category": "ApplicationGatewayFirewallLog",
  "properties": {
    {
      "instanceId": "ApplicationGatewayRole_IN_0",
      "clientIp": "203.0.113.145",
      "clientPort": "0",
      "requestUri": "/",
      "ruleSetType": "OWASP",
      "ruleSetVersion": "3.0",
      "ruleId": "920350",
      "ruleGroup": "920-PROTOCOL-ENFORCEMENT",
      "message": "Host header is a numeric IP address",
      "action": "Matched",
      "site": "Global",
      "details": {
        "message": "Warning. Pattern match \"^[\\\\d.:]+$\" at REQUEST_HEADERS:Host ....",
        "data": "127.0.0.1",
        "file": "rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
        "line": "791"
      },
      "hostname": "127.0.0.1",
      "transactionId": "16861477007022634343"
      "policyId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/drewRG/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/globalWafPolicy",
      "policyScope": "Global",
      "policyScopeName": " Global "
    }
  }
} 

應用程式閘道 WAF SKU 價格

WAF_v1 和 WAF_v2 SKU 的定價模式不同。 若要深入了解,請參閱 Azure 應用程式閘道價格 頁面。

最新功能

若要了解 Azure Web 應用程式防火牆的新功能,請參閱 Azure 更新

下一步