分享方式:


監視 Azure 防火牆

本文章說明:

  • 您可以為此服務收集的監視資料類型。
  • 分析資料的方式。

注意

如果您已經熟悉此服務和/或 Azure 監視器,只想知道如何分析監視資料,請參閱本文靠近結尾的分析一節。

當您有依賴 Azure 資源的重要應用程式和商務流程時,就需要監視並取得系統的警示。 Azure 監視器服務會從您系統的每個元件收集及彙總計量和記錄。 Azure 監視器讓您能夠檢視可用性、效能及復原能力,並在發生問題時通知您。 您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 或用戶端程式庫來設定及檢視監視資料。

您可以使用 Azure 防火牆記錄和計量來監視防火牆內的流量和作業。 這些記錄和計量有數個基本用途,包括:

  • 流量分析:使用記錄來檢查和分析通過防火牆的流量。 此分析包括檢查允許和拒絕的流量、檢查來源和目的地 IP 位址、URL、連接埠號碼、通訊協定等等。 這些深入解析對於了解流量模式、識別潛在的安全性威脅,以及針對連線問題進行疑難排解極為重要。

  • 效能和健康情況計量:Azure 防火牆計量提供效能和健康情況計量,例如已處理的資料、輸送量、規則叫用計數和延遲。 監視這些計量,以評估防火牆的整體健康情況,找出效能瓶頸,並偵測任何異常狀況。

  • 稽核線索:活動記錄可讓您稽核與防火牆資源相關的作業、擷取建立、更新或刪除防火牆規則和原則等動作。 檢閱活動記錄有助於維護設定變更的歷程記錄,並確保符合安全性和稽核需求。

資源類型

Azure 會使用資源類型和識別碼的概念來識別訂用帳戶中的所有內容。 資源類型也是 Azure 中所執行每個資源的資源識別碼組成部分。 例如,虛擬機器的一種資源類型是 Microsoft.Compute/virtualMachines。 如需服務及其相關聯資源類型的清單,請參閱資源提供者 (機器翻譯)。

Azure 監視器同樣會依據資源類型將核心監視資料組織成計量和記錄,也稱為命名空間。 不同的計量和記錄適用於不同的資源類型。 您的服務可能會與多個資源類型相關聯。

如需 Azure 防火牆資源類型的詳細資訊,請參閱 Azure 防火牆監視資料參考 (英文)。

資料存放區

對於 Azure 監視器:

  • 計量資料會儲存在 Azure 監視器計量資料庫中。
  • 記錄資料會儲存在 Azure 監視器記錄存放區中。 Log Analytics 是可查詢此存放區的 Azure 入口網站工具。
  • Azure 活動記錄是個單獨存放區,其介面位於 Azure 入口網站。

您可選擇性地將計量和活動記錄資料路由傳送至 Azure 監視器記錄存放區。 然後,可以使用 Log Analytics 來查詢資料,並將其與其他記錄資料相互關聯。

許多服務可以使用診斷設定,將計量和記錄資料傳送至 Azure 監視器以外的其他儲存位置。 範例包括 Azure 儲存體、託管的合作夥伴系統以及使用事件中樞的非 Azure 合作夥伴系統

如需進一步了解 Azure 監視器如何儲存資料,請參閱 Azure 監視器資料平台

Azure 監視器平台計量

Azure 監視器為大多數服務提供平台計量。 這些計量包括:

  • 針對每個命名空間個別定義。
  • 儲存在 Azure 監視器時間序列計量資料庫中。
  • 輕量且能支援近即時警示。
  • 用來追蹤資源效能的長期變化。

收集:Azure 監視器會自動收集平台計量。 不需要組態。

路由:通常您也可以將平台計量路由傳送至 Azure 監視器記錄/Log Analytics,以便與其他記錄資料一同查詢。 如需詳細資訊,請參閱計量診斷設定 (機器翻譯)。 如需了解如何設定服務的診斷設定,請參閱在 Azure 監視器中建立診斷設定 (機器翻譯)。

如需 Azure 監視器中所有資源可收集的計量完整清單,請參閱 Azure 監視器中所支援的計量

如需 Azure 防火牆可用計量的清單,請參閱 Azure 防火牆監視資料參考 (英文)。

Azure 監視器資源記錄

資源記錄提供對 Azure 資源所完成作業的深入解析。 系統會自動產生記錄,但您必須將其路由傳送至 Azure 監視器記錄,才能儲存或查詢這些記錄。 按類別組織記錄。 指定的命名空間可能會有多個資源記錄類別。

收集:您必須先建立「診斷設定」,並將記錄路由傳送至一個或多個位置,才會開始收集和儲存資源記錄。 在建立診斷設定時,您可以指定要收集的記錄類別。 有多種方式可以建立和維護診斷設定,包括透過 Azure 入口網站、程式設計方式,以及 Azure 原則。

路由傳送:建議的預設設定是將資源記錄路由傳送至 Azure 監視器記錄,以便與其他記錄資料一同查詢。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需詳細資訊,請參閱 Azure 資源記錄 (機器翻譯) 和資源記錄目的地 (機器翻譯)。

如需收集、儲存及路由傳送資源記錄的詳細資訊,請參閱 Azure 監視器中的診斷設定 (機器翻譯)。

如需 Azure 監視器中所有可用資源記錄類別的清單,請參閱 Azure 監視器中支援的資源記錄 (機器翻譯)。

Azure 監視器中的所有資源記錄都有相同的標頭欄位,後面接著服務特定的欄位。 一般結構描述如 Azure 監視器資源記錄結構描述中所述。

如需可用的資源記錄類別、其相關聯的 Log Analytics 資料表,以及 Azure 防火牆的記錄結構描述,請參閱 Azure 防火牆監視資料參考 (英文)。

Azure 防火牆活頁簿提供用於 Azure 防火牆資料分析的彈性畫布。 您可以使用畫布在Azure 入口網站內建立豐富的視覺效果報告。 您可以深入了解多個部署在 Azure 上的防火牆,並將其結合成統一的互動式體驗。

您也可以連接到儲存體帳戶並擷取存取和效能記錄的 JSON 記錄項目。 下載 JSON 檔案後,可以將它們轉換成 CSV,並在 Excel、PowerBI 或任何其他資料視覺化工具中檢視它們。

提示

如果您熟悉 Visual Studio 以及在 C# 中變更常數和變數值的基本概念,您可以使用 GitHub 所提供的記錄檔轉換器工具 (英文)

Azure 活動記錄 (部分機器翻譯)

活動記錄包含訂用帳戶層級事件,用於追蹤每個 Azure 資源外部可見的作業;例如,建立新的資源或啟動虛擬機器。

收集:活動記錄事件會自動產生並收集至個別存放區中,以便使用者在 Azure 入口網站中檢視。

路由:您可以將活動記錄資料傳送至 Azure 監視器記錄,以便與其他記錄資料一起分析。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需進一步了解如何路由傳送活動記錄,請參閱 Azure 活動記錄概觀 (機器翻譯)。

結構化 Azure 防火牆記錄

結構化記錄是一種以特定格式組織的記錄資料類型。 他們會使用預先定義的結構描述,以輕鬆搜尋、篩選和分析的方式建構記錄資料。 與由自由格式文字組成的非結構化記錄不同,結構化記錄具有機器可以剖析和分析的一致格式。

Azure 防火牆的結構化記錄提供更詳細的防火牆事件檢視。 這些記錄包括來源和目的地 IP 位址、通訊協定、連接埠號碼和防火牆採取的動作等資訊。 它們也包含更多中繼資料,例如事件的時間和 Azure 防火牆執行個體的名稱。

目前,下列診斷記錄類別可供 Azure 防火牆使用:

  • 應用程式規則記錄
  • 網路規則記錄
  • DNS Proxy 記錄

這些記錄類別會使用 Azure 診斷模式。 在此模式中,來自任何診斷設定的所有資料都會收集在 AzureDiagnostics 資料表中。

有了結構化記錄,您就可以選擇使用資源特定資料表,而不是現有的 AzureDiagnostics 資料表。 如果這兩組記錄都需要,則每個防火牆至少必須建立兩個診斷設定。

資源特定模式

資源專屬模式中,系統會針對在診斷設定中選取的每個類別,建立所選工作區中的個別資料表。 建議使用此方法,因為:

  • 可能會降低高達 80% 的整體記錄成本。
  • 可讓您更輕鬆地在記錄查詢中使用資料。
  • 可讓您更輕鬆地探索結構描述及其結構。
  • 可改善擷取延遲及查詢時間兩者的效能。
  • 可讓您授與特定資料表的 Azure RBAC 權限。

診斷設定現在提供新的資源特定資料表,可讓您利用下列類別:

  • 網路規則記錄 - 包含所有網路規則記錄資料。 資料平面和網路規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。
  • NAT 規則記錄 - 包含所有 DNAT (目的地網路位址轉譯) 事件記錄資料。 資料平面和 DNAT 規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。
  • 應用程式規則記錄 - 包含所有應用程式規則記錄資料。 資料平面和應用程式規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。
  • 威脅情報記錄 - 包含所有威脅情報事件。
  • IDPS 記錄 - 包含與一個或多個 IDPS 簽章比對的所有資料平面封包。
  • DNS Proxy 記錄 - 包含所有 DNS Proxy 事件記錄資料。
  • 內部 FQDN 解析失敗記錄 - 包含導致失敗的所有內部防火牆 FQDN 解析要求。
  • 應用程式規則彙總記錄 - 包含原則分析的彙總應用程式規則記錄資料。
  • 網路規則彙總記錄 - 包含原則分析的彙總網路規則記錄資料。
  • 規則彙總記錄 - 包含原則分析的彙總 NAT 規則記錄資料。
  • 最大流量記錄 - 最大流量 (大量流量) 記錄會顯示透過防火牆提供最高輸送量的最大連線。
  • 流量追蹤 - 包含流量資訊、旗標,以及記錄流量的時間週期。 您可以看到完整的流量資訊,例如 SYN、SYN-ACK、FIN、FIN-ACK、RST、INVALID (流量)。

啟用結構化記錄

若要啟用 Azure 防火牆結構化記錄,您必須先在 Azure 訂用帳戶中設定 Log Analytics 工作區。 此工作區用於儲存 Azure 防火牆所產生的結構化記錄。

設定 Log Analytics 工作區後,您即可瀏覽至 Azure 入口網站中防火牆的 [診斷設定] 頁面,以在 Azure 防火牆中啟用結構化記錄。 您必須從該處選取 [資源特定] 目的地資料表,然後選取您要記錄的事件類型。

注意

不需要使用功能旗標或 Azure PowerShell 命令來啟用此功能。

[診斷設定] 頁面的螢幕擷取畫面。

結構化記錄查詢

Azure 入口網站中提供預先定義的查詢清單。 此清單有針對每個類別預先定義的 KQL (Kusto 查詢語言) 記錄查詢,而其中聯結的查詢會在單一檢視中顯示整個 Azure 防火牆記錄事件。

顯示 Azure 防火牆查詢的螢幕擷取畫面。

Azure 防火牆活頁簿

Azure 防火牆活頁簿提供用於 Azure 防火牆資料分析的彈性畫布。 您可以使用畫布在Azure 入口網站內建立豐富的視覺效果報告。 您可以深入了解多個部署在 Azure 上的防火牆,並將其結合成統一的互動式體驗。

若要部署使用 Azure 防火牆結構化記錄的新活頁簿,請參閱適用於 Azure 防火牆的 Azure 監視器活頁簿

舊版 Azure 診斷記錄

舊版 Azure 診斷記錄是原始 Azure 防火牆記錄查詢,其會以非結構化或自由格式的文字格式輸出記錄資料。 Azure 防火牆舊版記錄類別會使用 Azure 診斷模式,在 AzureDiagnostics 資料表中收集整個資料。 如果同時需要結構化和診斷記錄,則每個防火牆至少必須建立兩個診斷設定。

診斷記錄中支援下列記錄類別:

  • Azure 防火牆應用程式規則
  • Azure 防火牆網路規則
  • Azure 防火牆 DNS Proxy

若要了解如何使用 Azure 入口網站啟用診斷記錄,請參閱啟用結構化記錄

應用程式規則記錄

只有當您針對每個 Azure 防火牆加以啟用時,應用程式規則記錄才會儲存到儲存體帳戶、串流至事件中樞及/或傳送至 Azure 監視器記錄。 符合其中一個已設定應用程式規則的每個新連線,都會產生接受/拒絕連線的記錄。 資料會以 JSON 格式記錄下來,如下列範例所示:

Category: application rule logs.
Time: log timestamp.
Properties: currently contains the full message.
note: this field will be parsed to specific fields in the future, while maintaining backward compatibility with the existing properties field.
{
 "category": "AzureFirewallApplicationRule",
 "time": "2018-04-16T23:45:04.8295030Z",
 "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/{resourceName}",
 "operationName": "AzureFirewallApplicationRuleLog",
 "properties": {
     "msg": "HTTPS request from 10.1.0.5:55640 to mydestination.com:443. Action: Allow. Rule Collection: collection1000. Rule: rule1002"
 }
}
{
  "category": "AzureFirewallApplicationRule",
  "time": "2018-04-16T23:45:04.8295030Z",
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/{resourceName}",
  "operationName": "AzureFirewallApplicationRuleLog",
  "properties": {
      "msg": "HTTPS request from 10.11.2.4:53344 to www.bing.com:443. Action: Allow. Rule Collection: ExampleRuleCollection. Rule: ExampleRule. Web Category: SearchEnginesAndPortals"
  }
}

網路規則記錄

只有當您針對每個 Azure 防火牆加以啟用時,網路規則記錄才會儲存到儲存體帳戶、串流至事件中樞及/或傳送至 Azure 監視器記錄。 符合其中一個已設定網路規則的每個新連線,都會產生接受/拒絕連線的記錄。 資料會以 JSON 格式記錄下來,如下列範例所示:

Category: network rule logs.
Time: log timestamp.
Properties: currently contains the full message.
note: this field will be parsed to specific fields in the future, while maintaining backward compatibility with the existing properties field.
{
 "category": "AzureFirewallNetworkRule",
 "time": "2018-06-14T23:44:11.0590400Z",
 "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/{resourceName}",
 "operationName": "AzureFirewallNetworkRuleLog",
 "properties": {
     "msg": "TCP request from 111.35.136.173:12518 to 13.78.143.217:2323. Action: Deny"
 }
}

DNS Proxy 記錄

只有當您針對每個 Azure 防火牆加以啟用時,DNS Proxy 記錄才會儲存到儲存體帳戶、串流至事件中樞及/或傳送至 Azure 監視器記錄。 此記錄會追蹤 DNS 訊息至使用 DNS Proxy 設定的 DNS 伺服器。 資料會以 JSON 格式記錄下來,如下列範例所示:

Category: DNS proxy logs.
Time: log timestamp.
Properties: currently contains the full message.
note: this field will be parsed to specific fields in the future, while maintaining backward compatibility with the existing properties field.

成功:

{
  "category": "AzureFirewallDnsProxy",
  "time": "2020-09-02T19:12:33.751Z",
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/{resourceName}",
  "operationName": "AzureFirewallDnsProxyLog",
  "properties": {
      "msg": "DNS Request: 11.5.0.7:48197 – 15676 AAA IN md-l1l1pg5lcmkq.blob.core.windows.net. udp 55 false 512 NOERROR - 0 2.000301956s"
  }
}

失敗:

{
  "category": "AzureFirewallDnsProxy",
  "time": "2020-09-02T19:12:33.751Z",
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/{resourceName}",
  "operationName": "AzureFirewallDnsProxyLog",
  "properties": {
      "msg": " Error: 2 time.windows.com.reddog.microsoft.com. A: read udp 10.0.1.5:49126->168.63.129.160:53: i/o timeout”
  }
}

訊息格式:

[client’s IP address]:[client’s port] – [query ID] [type of the request] [class of the request] [name of the request] [protocol used] [request size in bytes] [EDNS0 DO (DNSSEC OK) bit set in the query] [EDNS0 buffer size advertised in the query] [response CODE] [response flags] [response size] [response duration]

分析監視資料

有許多工具可用來分析監視資料。

Azure 監視器工具

Azure 監視器支援下列基本工具:

支援更複雜視覺效果的工具包括:

  • 儀表板 (機器翻譯) 可讓您將不同類型的資料合併到 Azure 入口網站中的單一窗格。
  • 活頁簿 (機器翻譯) 是能在 Azure 入口網站中建立的可自訂報表。 活頁簿可以包含文字、計量及記錄查詢。
  • Grafana 是在操作儀表板中表現相當出色的開放平台工具。 您可以使用 Grafana 來建立儀表板,納入 Azure 監視器以外多個來源的資料。
  • Power BI (機器翻譯) 是一項商務分析服務,可提供跨各種資料來源的互動式視覺效果。 你可以將 Power BI 設定為自動從 Azure 監視器匯入記錄資料,以利用這些視覺效果。

Azure 監視器匯出工具

您可以使用下列方法將資料從 Azure 監視器中提取至其他工具:

若要開始使用適用於 Azure 監視器的 REST API,請參閱 Azure 監視 REST API 逐步解說 (機器翻譯)。

Kusto 查詢

您可以使用 Kusto 查詢語言 (KQL) 分析 Azure 監視器記錄/Log Analytics 存放區中的監視資料。

重要

當您從入口網站的服務功能表中選取 [記錄] 時,Log Analytics 會隨即開啟,並將查詢範圍設定為目前的服務。 此範圍表示記錄查詢只會包含該資源類型的資料。 如果您想要執行包含其他 Azure 服務資料的查詢,請從 [Azure 監視器] 功能表中選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍

如需各項服務的常見查詢清單,請參閱 Log Analytics 查詢介面 (機器翻譯)。

警示

在監視資料中發現特定狀況時,Azure 監視器警示會主動通知您。 警示可讓您在客戶發現系統發生問題前,就先及早識別和解決問題。 如需詳細資訊,請參閱 Azure 監視器警示

Azure 資源的常見警示有許多來源。 如需 Azure 資源的常見警示範例,請參閱記錄警示查詢範例 (機器翻譯)。 Azure 監視器基準警示 (AMBA) 網站提供半自動化方法來實作重要的平台計量警示、儀表板和指導方針。 此網站適用於持續擴充的 Azure 服務子集,包括屬於 Azure 登陸區域 (ALZ) 的所有服務。

常見的警示結構描述會將 Azure 監視器警示通知的使用量標準化。 如需詳細資訊,請參閱一般警示結構描述 (機器翻譯)。

警示類型

您可以針對在 Azure 監視器資料平台中的任何計量或記錄資料來源發出警示。 警示有許多不同的類型,具體取決於您監視的服務以及所收集的監視資料。 不同類型的警示各有優缺點。 如需詳細資訊,請參閱選擇正確的監視警示類型 (機器翻譯)。

下列清單介紹可建立的 Azure 監視器警示類型:

  • 計量警示 (機器翻譯) 會定期評估資源計量。 這些計量可以是平台計量、自訂計量、Azure 監視器轉換成計量的記錄,或 Application Insights 計量。 計量警示還可以套用多個條件和動態閾值。
  • 記錄警示 (機器翻譯) 可讓使用者使用 Log Analytics 查詢,以預先定義的頻率評估資源記錄。
  • 活動記錄警示 (機器翻譯) 會在發生符合定義條件的新活動記錄事件時觸發。 資源健康狀態警示和服務健康情況警示是報告服務和資源健康狀態的活動記錄警示。

某些 Azure 服務也支援智慧偵測警示Prometheus 警示建議的警示規則

對於某些服務,若要進行大規模監控,您可以將同一計量警示規則套用至相同 Azure 區域中存在的多個同類型資源。 系統會針對每個受監視的資源傳送個別通知。 如需支援的 Azure 服務和雲端,請參閱使用一個警示規則監視多個資源 (機器翻譯)。

Azure 防火牆計量上的警示

計量會提供重要訊號來追蹤您的資源健康情況。 因此,請務必監視資源的計量,並注意任何異常狀況。 但如果 Azure 防火牆計量停止流動,該怎麼辦? 這可能表示潛在的設定問題或更不祥的事情,例如電力中斷。 由於發佈的預設路由會阻止 Azure 防火牆上傳計量,或健康狀況良好的執行個體數量降至零,可能會出現遺漏計量的情況。 在本節中,您會了解如何設定 Log Analytics 工作區的計量,以及針對遺漏的計量發出警示。

設定記錄分析工作區的計量

第一個步驟是使用防火牆中的診斷設定,設定記錄分析工作區的計量可用性。

若要設定 [診斷設定] (如下列螢幕擷取畫面所示),請瀏覽至 [Azure 防火牆資源] 頁面。 這會將防火牆計量推送至設定的工作區。

注意

計量的診斷設定必須是與記錄不同的設定。 防火牆記錄可以設定為使用 Azure 診斷或資源特定。 不過,防火牆計量必須一律使用 Azure 診斷。

防火牆 Azure 診斷設定的螢幕擷取畫面。

建立警示以追蹤接收防火牆計量,而不會發生任何失敗

瀏覽至計量診斷設定中設定的工作區。 使用下列查詢來檢查計量是否可用:

AzureMetrics
| where MetricName contains "FirewallHealth"
| where ResourceId contains "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/PARALLELIPGROUPRG/PROVIDERS/MICROSOFT.NETWORK/AZUREFIREWALLS/HUBVNET-FIREWALL"
| where TimeGenerated > ago(30m)

接下來,在 60 分鐘內建立遺漏計量的警示。 若要設定遺漏計量的新警示,請瀏覽至 Log Analytics 工作區中的 [警示] 頁面。

顯示 [編輯警示規則] 頁面的螢幕擷取畫面。

Azure 防火牆警示規則

您可以針對 Azure 防火牆監視資料參考 (英文) 中列出的任何計量、記錄項目或活動記錄項目設定警示。

Advisor 建議

對於一些服務,如果在資源作業期間發生重大狀況或有即將到來的變更,入口網站的服務 [概觀] 頁面上會顯示警示。 您可以在左側功能表中 [監視] 底下的 [Advisor 建議] 中找到警示的詳細資訊和建議的修正。 在正常作業期間,不會顯示 Advisor 建議。

如需 Azure Advisor 的詳細資訊,請參閱 Azure Advisor 概觀 (機器翻譯)。