收集 Azure Application Gateway 記錄

剖析器版本:8.0

支援:

本文說明如何設定 Google Security Operations 動態饋給,收集 Azure Application Gateway 記錄。這個剖析器會處理單一和多筆記錄的 JSON 結構、從「記錄」陣列中擷取欄位、執行資料類型轉換、將欄位對應至 UDM,以及使用中繼資料和衍生欄位 (例如網路連線類型) 擴充資料。此外,它也會處理不同 operationName 值的特定邏輯,並擷取相關 IP 位址、子網路和其他設定詳細資料。

事前準備

請確認您已完成下列事前準備:

  • Google SecOps 執行個體
  • Azure 訂用帳戶的特殊存取權
  • Azure 中的 Azure 應用程式閘道環境 (租戶)

設定 Azure 儲存體帳戶

  1. 在 Azure 控制台中,搜尋「Storage accounts」(儲存體帳戶)。
  2. 點選「建立」。
  3. 指定下列輸入參數的值:
    • 「Subscription」(訂閱方案):選取訂閱方案。
    • 資源群組:選取資源群組。
    • 區域:選取區域。
    • 效能:選取效能 (建議使用「標準」)。
    • Redundancy:選取備援 (建議選取 GRS 或 LRS)。
    • 「儲存體帳戶名稱」:輸入新儲存體帳戶的名稱。
  4. 按一下「Review + create」。
  5. 查看帳戶總覽,然後按一下「建立」。
  6. 在「Storage Account Overview」(儲存空間帳戶總覽) 頁面中,選取「Security + networking」(安全性 + 網路) 中的「Access keys」(存取金鑰) 子選單。
  7. 按一下「key1」或「key2」旁的「顯示」
  8. 按一下「複製到剪貼簿」即可複製金鑰。
  9. 將金鑰儲存在安全的地方,以備日後使用。
  10. 在「儲存空間帳戶總覽」頁面中,選取「設定」中的「端點」子選單。
  11. 按一下「複製到剪貼簿」,複製 Blob 服務端點網址。(例如 https://<storageaccountname>.blob.core.windows.net)
  12. 請將端點網址儲存在安全的位置,以供日後使用。

如何設定 Azure 應用程式閘道

  1. 登入 Azure 入口網站。
  2. 前往所需資源群組。
  3. 選取「Application gateway」(應用程式閘道) (系統會顯示「Application gateway」視窗)。
  4. 在「監控」部分中,依序選取「診斷設定」>「開啟診斷」。
  5. 選取「新增診斷設定」 (「診斷設定」視窗會顯示診斷記錄的設定)。
  6. 在「記錄」部分執行下列操作:
    1. 勾選「ApplicationGatewayAccessLog」ApplicationGatewayAccessLog核取方塊。
    2. 選取「ApplicationGatewayFirewallLog」ApplicationGatewayFirewallLog核取方塊。
  7. 如要將記錄檔儲存在儲存體帳戶,請按照下列步驟操作:
    1. 勾選「封存至儲存空間帳戶」核取方塊。
    2. 在「訂閱」清單中,選取現有訂閱方案。
    3. 在「Storage account」(儲存體帳戶) 清單中,選取現有的儲存體帳戶。

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • SIEM 設定 > 摘要 > 新增摘要
  • 依序點選「內容中心」「內容包」「開始使用」

如何設定 Azure 應用程式閘道動態饋給

  1. 按一下「Azure Platform」套件。
  2. 找到「Azure Application Gateway」記錄類型,然後點選「Add new feed」。
  3. 為下列欄位指定值:

    • 來源類型:Microsoft Azure Blob 儲存體 V2。
    • Azure URI:Blob 端點網址。
      • ENDPOINT_URL/BLOB_NAME
        • 取代下列項目:
          • ENDPOINT_URL:Blob 端點網址。(https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME:Blob 的名稱。(例如 insights-logs-<logname>)
    • 來源刪除選項:根據擷取偏好設定選取刪除選項。
    • 檔案存在時間上限:包含過去幾天內修改過的檔案。預設值為 180 天。
    • 共用金鑰:用於存取 Azure 資源的共用金鑰 (base64 編碼的 512 位元隨機字串)。

    進階選項

    • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
    • 資產命名空間:與動態饋給相關聯的命名空間。
    • 擷取標籤:套用至這個動態饋給所有事件的標籤。
  4. 點選「建立動態饋給」。

如要進一步瞭解如何為這個產品系列的各種記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

UDM 對應表

記錄欄位 UDM 對應 邏輯
Category metadata.product_event_type 直接從 Category 欄位對應。
ClientOperationId additional.fields[].key:"ClientOperationId", value.string_value 直接從「ClientOperationId」欄位對應。
CorrelationRequestId additional.fields[].key:"CorrelationRequestId", value.string_value 直接從「CorrelationRequestId」欄位對應。
GatewayManagerVersion additional.fields[].key:"GatewayManagerVersion", value.string_value 直接從「GatewayManagerVersion」欄位對應。
category metadata.product_event_type 直接從「category」欄位對應。
level security_result.severity 直接從 level 欄位對應,並轉換為大寫。如果值為「WARNING」,嚴重程度會設為「HIGH」,且 security_result.severity_details 會設為原始值。
properties.clientIP principal.ip、principal.asset.ip 直接從「properties.clientIP」欄位對應。
properties.clientPort principal.port 直接從 properties.clientPort 欄位對應,並轉換為整數。
properties.clientResponseTime additional.fields[].key:"clientResponseTime", value.string_value 直接從「properties.clientResponseTime」欄位對應。
properties.configuration.BgpConfiguration.GatewayConfig.Asn security_result.detection_fields[].key:"ASN", value 當 operationName 為「SetGatewayConfiguration」時,直接從 properties.configuration.BgpConfiguration.GatewayConfig.Asn 欄位對應。
properties.configuration.BgpConfiguration.GatewayConfig.PeerAddress target.ip、target.asset.ip 當 operationName 為「SetGatewayConfiguration」時,直接從 properties.configuration.BgpConfiguration.GatewayConfig.PeerAddress 欄位對應。
properties.configuration.BgpConfiguration.GatewayConfig.PeerType security_result.detection_fields[].key:"PeerType", value 當 operationName 為「SetGatewayConfiguration」時,直接從 properties.configuration.BgpConfiguration.GatewayConfig.PeerType 欄位對應。
properties.configuration.IkeVersion principal.resource.attribute.labels[].key:"ike_version", value 當 operationName 為「SetConnectionConfiguration」時,直接從 properties.configuration.IkeVersion 欄位對應。
properties.configuration.LocalSubnets principal.resource.attribute.labels[].key:"local subnets", value 當 operationName 為「SetConnectionConfiguration」時,properties.configuration.LocalSubnets 陣列中 IP 位址的串連字串。
properties.configuration.LocalTunnelEndpoint principal.ip、principal.asset.ip 當 operationName 為「SetConnectionConfiguration」時,直接從 properties.configuration.LocalTunnelEndpoint 欄位對應。
properties.configuration.Name principal.hostname、principal.asset.hostname 直接從「properties.configuration.Name」欄位對應。如果空白,則會從 properties.instance 擷取值。
properties.configuration.RemoteSite target.hostname、target.asset.hostname 直接從「properties.configuration.RemoteSite」欄位對應。
properties.configuration.RemoteSubnets principal.resource.attribute.labels[].key:"remote subnets", value 當 operationName 為「SetConnectionConfiguration」時,來自 properties.configuration.RemoteSubnets 陣列的 IP 位址串連字串。
properties.configuration.RemoteTunnelEndpoint target.ip、target.asset.ip 當 operationName 為「SetConnectionConfiguration」時,直接從 properties.configuration.RemoteTunnelEndpoint 欄位對應。
properties.configuration.VIPAddress principal.ip、principal.asset.ip 當 operationName 為「SetGatewayConfiguration」時,直接從 properties.configuration.VIPAddress 欄位對應。
properties.configuration.VirtualNetworkRanges principal.resource.attribute.labels[].key:"virutal network ranges", value 當 operationName 為「SetGatewayConfiguration」時,來自 properties.configuration.VirtualNetworkRanges 陣列的 IP 位址串連字串。
properties.configuration.VirtualNetworkSubnets principal.resource.attribute.labels[].key:"virtual network subnets", value 當 operationName 為「SetGatewayConfiguration」時,來自 properties.configuration.VirtualNetworkSubnets 陣列的 IP 位址串連字串。
properties.error_info additional.fields[].key:"error_info", value.string_value 直接從「properties.error_info」欄位對應。
properties.host principal.hostname、principal.asset.hostname 如果 properties.originalHost 為空,則直接從 properties.host 欄位對應。
properties.httpMethod network.http.method 直接從「properties.httpMethod」欄位對應。
properties.httpStatus network.http.response_code 直接從 properties.httpStatus 欄位對應,並轉換為整數。
properties.httpVersion network.application_protocol 如果 properties.httpVersion 欄位包含「HTTP」,請設為「HTTP」。
properties.instance principal.hostname、principal.asset.hostname 如果 properties.configuration.Name 為空,則做為 principal.hostname 的值。
properties.message metadata.description 直接從 properties.message 欄位對應。
properties.operationName additional.fields[].key:"operationName", value.string_value 直接從「properties.operationName」欄位對應。
properties.operationStatus security_result.category_details 直接從 properties.operationStatus 欄位對應。如果值為「Success」或「InProgress」,security_result.action 會設為「ALLOW」。
properties.originalHost principal.hostname、principal.asset.hostname 直接從「properties.originalHost」欄位對應。
properties.originalRequestUriWithArgs additional.fields[].key:"originalRequestUriWithArgs", value.string_value 直接從 properties.originalRequestUriWithArgs 欄位對應。
properties.receivedBytes network.received_bytes 直接從 properties.receivedBytes 欄位對應,並轉換為不帶正負號的整數。
properties.requestQuery additional.fields[].key:"requestQuery", value.string_value 直接從「properties.requestQuery」欄位對應。
properties.requestUri target.url 直接從「properties.requestUri」欄位對應。
properties.sentBytes network.sent_bytes 直接從 properties.sentBytes 欄位對應,並轉換為不帶正負號的整數。
properties.serverResponseLatency additional.fields[].key:"Server Response Latency", value.string_value 直接從「properties.serverResponseLatency」欄位對應。
properties.serverRouted target.ip、target.asset.ip、target.port 系統會使用規則運算式,從 properties.serverRouted 欄位擷取 IP 和連接埠。
properties.sslCipher network.tls.cipher 直接從「properties.sslCipher」欄位對應。
properties.sslClientCertificateIssuerName network.tls.server.certificate.issuer 直接從 properties.sslClientCertificateIssuerName 欄位對應。
properties.sslProtocol network.tls.version 直接從「properties.sslProtocol」欄位對應。
properties.timeTaken additional.fields[].key:"timeTaken", value.string_value 直接從「properties.timeTaken」欄位對應。
properties.transactionId network.session_id 直接從 properties.transactionId 欄位對應。
properties.userAgent network.http.user_agent、network.http.parsed_user_agent 直接從 properties.userAgent 欄位對應。此外,該欄位會轉換為已剖析的使用者代理程式,並對應至 network.http.parsed_user_agent。
properties.WAFEvaluationTime additional.fields[].key:"WAFEvaluationTime", value.string_value 直接從「properties.WAFEvaluationTime」欄位對應。
properties.WAFMode additional.fields[].key:"WAFMode", value.string_value 直接從「properties.WAFMode」欄位對應。
resourceId target.resource.id 直接從「resourceId」欄位對應。
resourceid target.resource.product_object_id 直接從 resourceid 欄位對應。
ruleName security_result.rule_name 直接從「ruleName」欄位對應。
time/timeStamp metadata.event_timestamp、timestamp 以 RFC 3339 或 ISO8601 格式剖析為時間戳記。建議使用 timeStamp,但如果沒有 timeStamp,則使用 time。
(剖析器邏輯) metadata.event_type 如果主體和目標都存在,請設為「NETWORK_CONNECTION」;如果只有主體存在,請設為「STATUS_UPDATE」;否則請設為「GENERIC_EVENT」。
(剖析器邏輯) metadata.product_name 設為「Azure Gateway」。
(剖析器邏輯) metadata.vendor_name 設為「Microsoft」。
(剖析器邏輯) has_principal 布林值旗標。如果擷取任何主體資訊 (主機名稱、IP 或連接埠),則設為「true」,否則設為「false」。
(剖析器邏輯) has_target 布林值旗標。如果系統擷取任何目標資訊 (主機名稱、IP、連接埠、資源 ID 或網址),則設為「true」,否則設為「false」。
(剖析器邏輯) disambiguation_key 從單一記錄項目擷取多個事件時新增。