收集 Azure APP Service 記錄

支援以下發布途徑:

本文件說明如何使用 Azure 儲存體帳戶,將 Azure APP Service 記錄匯出至 Google 安全作業。剖析器會將原始 JSON 格式的 Azure 應用程式服務記錄轉換為結構化的統一資料模型 (UDM)。這個工具會從原始記錄檔中擷取相關欄位、執行資料清理和正規化,並將擷取的資訊對應至相應的 UDM 欄位,最後為每個記錄項目輸出符合 UDM 規範的 JSON 物件。

事前準備

請確認您已完成下列必要條件:

  • Google SecOps 執行個體
  • 有效的 Azure 租用戶
  • 特殊存取權 (Azure)

設定 Azure 儲存體帳戶

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

如何設定 Azure AD 登入記錄的記錄匯出功能

  1. 使用權限帳戶登入 Azure 入口網站
  2. 前往「應用程式服務」,然後選取目前使用的必要應用程式服務。
  3. 依序選取「監控」>「應用程式服務記錄」
  4. 將「Application Logging (blob)」設為「開啟」
  5. 在「Web Service Logging」下方選取「Storage」
  6. 選取「訂閱」和「儲存空間帳戶」
  7. 根據需求定義保留期限配額
  8. 將「詳細錯誤訊息」設為「開啟」
  9. 將「失敗的要求追蹤」設為「開啟」
  10. 按一下 [儲存]

設定動態饋給

在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:

  • SIEM 設定 > 動態饋給
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態」設定動態

如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

如要設定單一動態饋給,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一頁中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給的名稱,例如「Azure APP Service Logs」
  5. 選取「Microsoft Azure Blob Storage」做為「Source type」
  6. 選取「Azure APP Service」做為「Log type」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:

    • Azure URI:Blob 端點網址。
      • ENDPOINT_URL/BLOB_NAME
        • 替換下列內容:
          • ENDPOINT_URL:Blob 端點網址 (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME:Blob 的名稱 (例如 <logname>-logs)
    • URI 是:根據記錄串流設定選取 URI 類型 (單一檔案 | 目錄 | 包含子目錄的目錄)。
    • 來源刪除選項:根據擷取偏好設定選取刪除選項。

    • 共用金鑰:Azure Blob 儲存體的存取金鑰。

    • 資產命名空間資產命名空間

    • 攝入標籤:要套用至這個動態饋給事件的標籤。

  9. 點選「下一步」

  10. 在「完成」畫面中查看新的動態饋給設定,然後按一下「提交」

透過內容中心設定動態饋給

指定下列欄位的值:

  • Azure URI:Blob 端點網址。
    • ENDPOINT_URL/BLOB_NAME
      • 替換下列內容:
        • ENDPOINT_URL:Blob 端點網址 (https://<storageaccountname>.blob.core.windows.net)
        • BLOB_NAME:Blob 的名稱 (例如 insights-logs-<logname>)
  • URI 是:根據記錄串流設定選取 URI 類型 (單一檔案 | 目錄 | 包含子目錄的目錄)。
  • 來源刪除選項:根據擷取偏好設定選取刪除選項。
  • 共用金鑰:Azure Blob 儲存體的存取金鑰。

進階選項

  • 動態饋給名稱:預先填入的值,用於識別動態饋給。
  • 來源類型:用於收集記錄並匯入 Google SecOps 的方法。
  • 資產命名空間與動態饋給相關聯的命名空間
  • 攝入標籤:套用至這個動態饋給中所有事件的標籤。

UDM 對應表

記錄欄位 UDM 對應 邏輯
AppRoleInstance read_only_udm.principal.resource.product_object_id 直接對應
AppRoleName read_only_udm.principal.resource.name 直接對應
AppVersion read_only_udm.principal.resource.attribute.labels.value 直接對應
類別 read_only_udm.metadata.product_event_type 直接對應
CIp read_only_udm.target.asset.ip 直接對應
CIp read_only_udm.target.ip 直接對應
ClientCity read_only_udm.principal.location.city 直接對應
ClientCountryOrRegion read_only_udm.principal.location.country_or_region 直接對應
ClientIP read_only_udm.principal.asset.ip 直接對應
ClientIP read_only_udm.principal.ip 直接對應
ClientStateOrProvince read_only_udm.principal.location.state 直接對應
ClientType read_only_udm.additional.fields.value.string_value 直接對應
ComputerName read_only_udm.principal.asset.hostname 直接對應
ComputerName read_only_udm.principal.hostname 直接對應
Cookie read_only_udm.principal.resource.attribute.labels.value 直接對應
CsBytes read_only_udm.network.sent_bytes 從 CsBytes 重新命名
CsHost read_only_udm.additional.fields.value.string_value 直接對應
CsMethod read_only_udm.network.http.method 直接對應
CsUriQuery read_only_udm.principal.resource.attribute.labels.value 直接對應
CsUriStem read_only_udm.additional.fields.value.string_value 直接對應
CsUriStem read_only_udm.target.url 直接對應
CsUsername read_only_udm.principal.user.user_display_name 直接對應
EventIpAddress read_only_udm.principal.asset.ip 直接對應
EventIpAddress read_only_udm.principal.ip 直接對應
EventPrimaryStampName read_only_udm.additional.fields.value.string_value 直接對應
EventStampName read_only_udm.additional.fields.value.string_value 直接對應
EventStampType read_only_udm.additional.fields.value.string_value 直接對應
主機 read_only_udm.principal.asset.hostname 直接對應
主機 read_only_udm.principal.hostname 直接對應
IKey read_only_udm.target.resource.attribute.labels.value 直接對應
執行個體 read_only_udm.additional.fields.value.string_value 直接對應
名稱 read_only_udm.additional.fields.value.string_value 直接對應
通訊協定 read_only_udm.additional.fields.value.string_value 直接對應
通訊協定 read_only_udm.network.application_protocol 如果「Protocol」(通訊協定) 為 HTTP/1.1,則會對應至 HTTP
參照網址 read_only_udm.network.http.referral_url 直接對應
ResourceGUID read_only_udm.target.resource.product_object_id 已從 ResourceGUID 重新命名
SDKVersion read_only_udm.additional.fields.value.string_value 直接對應
SDKVersion read_only_udm.principal.resource.attribute.labels.value 直接對應
SPort read_only_udm.principal.port 已從 SPort 重新命名
ScBytes read_only_udm.network.received_bytes 從 ScBytes 重新命名
ScStatus read_only_udm.network.http.response_code 已從 ScStatus 重新命名
TimeTaken read_only_udm.additional.fields.value.string_value 直接對應
類型 read_only_udm.additional.fields.value.string_value 直接對應
使用者 read_only_udm.principal.user.userid 直接對應
UserAddress read_only_udm.principal.asset.ip 從 UserAddress 擷取 (如果是有效的 IP 位址)
UserAddress read_only_udm.principal.ip 從 UserAddress 擷取 (如果是有效的 IP 位址)
UserAgent read_only_udm.network.http.user_agent 直接對應
UserDisplayName read_only_udm.principal.user.user_display_name 直接對應
category read_only_udm.metadata.product_event_type 直接對應
level read_only_udm.security_result.severity 從 level 改為大寫並重新命名
位置 read_only_udm.principal.location.name 直接對應
operationName read_only_udm.additional.fields.value.string_value 直接對應
record.properties.Protocol read_only_udm.additional.fields.value.string_value 直接對應
record.properties.Result read_only_udm.security_result.summary 直接對應
record.time read_only_udm.metadata.event_timestamp 剖析為 RFC 3339 時間戳記
resourceId read_only_udm.target.resource.attribute.labels.value 直接對應
resourceId read_only_udm.target.resource.product_object_id 從 resourceId 重新命名
read_only_udm.metadata.event_type 根據主體、目標和通訊協定是否存在而決定。如果主體、目標和 Protocol=HTTP 都存在,請將其設為 NETWORK_HTTP。如果主體和目標存在,請設為 NETWORK_CONNECTION。如果只有主體,請將其設為 STATUS_UPDATE。否則,請將其設為 GENERIC_EVENT

異動

2024-10-18

改善項目:

  • 已將 properties.XForwardedHost 對應至 principal.hostnameprincipal.asset.hostname
  • 已將 properties_category 對應至 additional.fields
  • 已將 properties.roleInstance 對應至 principal.resource.product_object_id
  • 已將 properties.message 對應至 security_result.summary

2024-09-30

改善項目:

  • 新增支援功能,可剖析未剖析的 JSON 記錄新格式。

2024-06-24

改善項目:

  • 已將 metadata.product_namemetadata.vendor_name 對應至 AZURE_APP_SERVICE

2024-06-07

改善項目:

  • 新增對 JSON 記錄的支援,當記錄不是陣列格式時。
  • 已將 properties.ScSubStatus 對應至 additional.fields
  • 已將 properties.ScWin32Status 對應至 additional.fields

2024-04-25

改善項目:

  • 已將 properties.User 對應至 principal.user.userid
  • 已將 properties.UserDisplayName 對應至 principal.user.user_display_name
  • 已將 properties.UserAddress 對應至 principal.ip
  • properties.ProtocolClientBrowserClientModelClientOSOperationIdParentIdItemCount 對應至 additional.fields
  • CsUriQuerySDKVersionCookie 對應至 principal.resource.attribute.labels
  • 已將 SessionId 對應至 network.session_id
  • 已將 Message 對應至 security_result.summary
  • 已將 SeverityLevel 對應至 security_result.severity_details

2024-02-20

改善項目:

  • 已將 record.AppRoleInstance 對應至 principal.resource.product_object_id
  • 已將 record.AppRoleName 對應至 principal.resource.name
  • 已將 record.ClientCity 對應至 principal.location.city
  • 已將 record.ClientCountryOrRegion 對應至 principal.location.country_or_region
  • 已將 record.ClientStateOrProvince 對應至 principal.location.state
  • 已將 record.ClientIP 對應至 principal.ip
  • 已將 Result 對應至 security_result.summary
  • 已將 UserAgent 對應至 network.http.user_agent
  • 已將 Referer 對應至 network.http.referral_url
  • 已將 record.ResourceGUID 對應至 target.resource.product_object_id
  • 如果沒有 record.ResourceGUID,則將 record.resourceId 對應至 target.resource.product_object_id
  • 如果 record.ResourceGUID 存在,則將 record.resourceId 對應至 additional.fields
  • 已將 record.Type 對應至 additional.fields
  • 已將 record.ClientType 對應至 additional.fields
  • 已將 record.SDKVersion 對應至 additional.fields
  • 已將 record.Name 對應至 additional.fields
  • 已將 record.Instance 對應至 additional.fields
  • 已將 record.TimeTaken 對應至 additional.fields
  • 已將 record.Cookie 對應至 additional.fields
  • 已將 record.AppVersion 對應至 principal.resource.attribute.labels
  • 已將 record.IKey 對應至 target.resource.attribute.labels
  • 已將 record.Category 對應至 metadata.product_event_type
  • 已將 CsUriStem 對應至 target.url
  • CsBytes 的對應項目已從 network.received_bytes 變更為 network.sent_bytes
  • ScBytes 的對應項目已從 network.sent_bytes 變更為 network.received_bytes

2023-12-07

  • 新建的剖析器。

還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。