共用方式為


使用 Microsoft Sentinel 自動偵測和回應 Azure WAF

惡意攻擊者會利用常見的弱點,例如 SQL 插入式和跨網站指令碼,逐漸以 Web 應用程式為目標。 在應用程式程式碼中防止這些攻擊會帶來挑戰,需要在應用程式拓撲的多個階層中進行嚴格的維護、修補和監視。 相較於保護每個個別的 Web 應用程式,Web 應用程式防火牆 (WAF) 解決方案可透過集中修補已知弱點,更快地因應安全性威脅。 Azure Web 應用程式防火牆 (WAF) 是雲端原生服務,可保護 Web 應用程式免於常見的 Web 駭客技術。 您可以在幾分鐘內部署此服務,以取得 Web 應用程式流量的完整可見度,並封鎖惡意的 Web 攻擊。

將 Azure WAF 與 Microsoft Sentinel (雲端原生 SIEM/SOAR 解決方案) 整合,可自動偵測和回應威脅/事件/警示是一項額外的優點,以減少更新 WAF 原則所需的手動介入。

在本文中,您將了解 Microsoft Sentinel 中的 WAF 偵測範本、部署劇本,以及使用這些範本和劇本在 Microsoft Sentinel 中設定偵測和回應。

必要條件

部署劇本

您可以從 GitHub 上的範本安裝名為 Block-IPAzureWAF 的 Microsoft Sentinel 劇本。 此劇本會執行以回應 WAF 事件。 目標是在 WAF 原則中建立或修改自訂規則,以封鎖來自特定 IP 位址的要求。 這是使用 Azure REST API 來完成的。

您可以從 GitHub 上的範本安裝劇本。

  1. 移至 GitHub 存放庫,然後選取 [部署至 Azure] 以啟動範本。
  2. 填入必要參數。 您可以從 Azure 入口網站取得 Front Door 識別碼。 Front Door 識別碼是 Front Door 資源的資源識別碼。 Screenshot showing the playbook template.
  3. 選取 [檢閱 + 建立],然後選取 [建立]

授權 API 連線

此部署會建立名為 azuresentinel-Block-IPAzureWAF 的 API 連線。 您必須使用您的 Azure 識別碼授權它,才能讓劇本對您的 WAF 原則進行變更。

  1. 在 Azure 入口網站中,選取 azuresentinel-Block-IPAzureWAF API 連線。
  2. 選取 [編輯 API 連線]
  3. 在 [顯示名稱] 底下,輸入您的 Azure 識別碼。
  4. 選取授權
  5. 選取 [儲存]。

Screenshot showing the API authorization screen.

設定參與者角色指派

劇本必須具備必要的權限,才能透過 REST API 查詢和修改現有的 WAF 原則。 您可以將劇本指派為具有 Front Door 資源參與者權限及其相關聯 WAF 原則之系統指派的受控識別。 只有在您的帳戶已獲指派擁有者或基礎資源的使用者存取管理員角色時,您才能指派權限。

這可以使用個別資源中的 IAM 區段,將新的角色指派新增至此劇本來完成。

  1. 在 Azure 入口網站中,選取 Front Door 資源。
  2. 從左側窗格中,選取 [存取控制 (IAM)]
  3. 選取 [角色指派]
  4. 選取 [新增],然後選取 [新增角色指派]
  5. 選取 [特殊權限管理員角色]
  6. 選取 [參與者],然後選取 [下一步]
  7. 選取 [選取成員]。
  8. 搜尋 Block-IPAzureWAF 並加以選取。 此劇本可能會有多個項目。 您最近新增的通常是清單中最後一個。
  9. 選取 [Block-IPAzureWAF],然後選取 [選取]
  10. 選取檢閱+指派

針對 WAF 原則資源重複此程序。

將 Microsoft Sentinel 新增至工作區

  1. 在 Azure 入口網站中,搜尋並開啟 Microsoft Sentinel。
  2. 選取 建立
  3. 選取您的工作區,然後選取 [新增]

設定邏輯應用程式參與者角色指派

您的帳戶必須擁有您想要授與 Microsoft Sentinel 權限之任何資源群組的擁有者權限,而且您必須在包含您要執行劇本的任何資源群組上擁有邏輯應用程式參與者角色。

  1. 在 Azure 入口網站中,選取包含劇本的資源群組。
  2. 從左側窗格中,選取 [存取控制 (IAM)]
  3. 選取 [角色指派]
  4. 選取 [新增],然後選取 [新增角色指派]
  5. 選取以搜尋 [邏輯應用程式參與者],接著選取它,然後選取 [下一步]
  6. 選取 [選取成員]。
  7. 搜尋您的帳戶並加以選取。
  8. 選取選取
  9. 選取 [下一步]。
  10. 選取檢閱+指派

設定偵測和回應

適用於 Azure WAF 的 Microsoft Sentinel 中有 SQLi 和 XSS 攻擊的偵測查詢範本。 您可以從內容中樞下載這些範本。 藉由使用這些範本,您可以建立分析規則,以偵測 WAF 記錄中的特定攻擊模式類型,並藉由建立事件進一步通知安全性分析師。 這些規則的自動化區段可藉由封鎖 WAF 原則上攻擊者的來源 IP,以協助您回應此事件,然後從這些來源 IP 位址預先阻止後續攻擊。 Microsoft 會持續致力於納入更多偵測範本,以取得更多偵測和回應案例。

安裝範本

  1. 從 Microsoft Sentinel,在左窗格中的 [組態] 底下,選取 [分析]
  2. 在頁面頂端,選取 [內容中樞的更多內容]
  3. 搜尋 Azure Web 應用程式防火牆,選取它,然後選取 [安裝]

建立分析規則

  1. 從 Microsoft Sentinel,在左窗格中的 [組態] 底下,選取 [分析]

  2. 選取 [規則範本]。 範本可能需要幾分鐘的時間才會出現。

  3. 選取 [Front Door 進階 WAF - SQLi 偵測] 範本。

  4. 在右窗格中,選取 [建立規則]

  5. 接受所有預設值,並繼續執行自動回應。 您可以稍後編輯這些設定以自訂規則。

    提示

    如果您在規則查詢中看到錯誤,可能是因為工作區中沒有任何 WAF 記錄。 您可以將測試流量傳送至 Web 應用程式,以產生一些記錄。 例如,您可以藉由傳送如下的要求來模擬 SQLi 攻擊:http://x.x.x.x/?text1=%27OR%27%27=%27。 將 x.x.x.x 取代為您的 Front Door URL。

  6. 在 [自動回應] 頁面上,選取 [新增]

  7. 在 [建立新的自動化規則] 頁面上,輸入規則的名稱。

  8. 在 [觸發程序] 底下,選取 [建立警示時]

  9. 在 [動作] 底下,選取 [管理劇本權限]

  10. 在 [管理權限] 頁面上,選取您的資源群組,然後選取 [套用]

  11. 回到 [建立新的自動化規則] 頁面,在 [動作] 底下,從下拉式清單中選取 [Block-IPAzureWAF] 劇本。

  12. 選取套用

  13. 完成時,選取 [下一步:檢閱 + 建立]。

  14. 選取 [儲存]。

使用個別的自動化規則設定建立分析規則之後,您現在已準備好進行偵測和回應。 下列事件流程會在攻擊期間發生:

  • 當攻擊者嘗試以其中一個 Web 應用程式為目標時,Azure WAF 會記錄流量。 Microsoft Sentinel 接著會內嵌這些記錄。
  • 您設定的分析/偵測規則會偵測此攻擊的模式,並產生事件來通知分析師。
  • 屬於分析規則一部分的自動化規則會觸發您先前設定的個別劇本。
  • 劇本會在個別的 WAF 原則中建立稱為 SentinelBlockIP 的自訂規則,其中包括攻擊者的來源 IP。
  • WAF 會封鎖後續的攻擊嘗試,如果攻擊者嘗試使用另一個來源 IP,則會將個別的來源 IP 附加至封鎖規則。

重點是,根據預設,Azure WAF 會利用 Azure WAF 引擎的核心規則集來協助封鎖任何惡意的 Web 攻擊。 不過,此自動化偵測和回應設定可進一步增強安全性,方法是在個別來源 IP 位址的 Azure WAF 原則上修改或新增新的自訂封鎖規則。 這可確保來自這些來源 IP 位址的流量在達到 Azure WAF 引擎規則集之前遭到封鎖。