收集 Azure Storage 稽核記錄
支援以下發布途徑:
Google secops
Siem
本文件說明如何使用 Azure Storage 帳戶將 Azure Storage 稽核記錄匯出至 Google 安全作業。剖析器會處理 JSON 格式的記錄,並將這些記錄轉換為統一資料模型 (UDM)。這項工具會從原始記錄中擷取欄位、執行資料類型轉換,並透過額外內容 (例如使用者代理程式剖析和 IP 位址細目) 豐富資料,然後將擷取的欄位對應至對應的 UDM 欄位。
事前準備
請確認您已完成下列必要條件:
- Google SecOps 執行個體
- 有效的 Azure 租用戶
- 特殊存取權 (Azure)
設定 Azure 儲存體帳戶
- 在 Azure 控制台中搜尋「儲存體帳戶」。
- 按一下 [建立]。
- 指定下列輸入參數的值:
- 訂閱:選取訂閱項目。
- 資源群組:選取資源群組。
- 區域:選取區域。
- 成效:選取成效 (建議使用標準)。
- 備援功能:選取備援功能 (建議使用 GRS 或 LRS)。
- 儲存體帳戶名稱:輸入新儲存體帳戶的名稱。
- 按一下「Review + create」。
- 查看帳戶總覽,然後按一下「建立」。
- 在「儲存空間帳戶總覽」頁面中,選取「安全性與網路」的「存取金鑰」子選單。
- 按一下「key1」或「key2」旁邊的「顯示」。
- 按一下「複製到剪貼簿」即可複製金鑰。
- 將金鑰儲存於安全的位置,以供日後使用。
- 在「儲存空間帳戶總覽」頁面中,選取「設定」中的「端點」子選單。
- 按一下「複製到剪貼簿」,複製 Blob 服務端點網址,例如
https://<storageaccountname>.blob.core.windows.net
。 - 將端點網址儲存於安全位置,以供日後使用。
如何設定 Azure Storage 稽核記錄的記錄匯出功能
- 使用權限帳戶登入 Azure 入口網站。
- 依序前往「儲存空間帳戶」>「診斷設定」。
- 按一下「+ 新增診斷設定」。
- 選取
blob
、queue
、table
和file
的診斷設定。- 為每個診斷設定選取「類別群組」中的「allLogs」選項。
- 為每個診斷設定輸入描述性名稱。
- 選取「封存至儲存空間帳戶」核取方塊做為目的地。
- 指定訂閱項目和儲存空間帳戶。
- 按一下 [儲存]。
設定動態饋給
在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:
- SIEM 設定 > 動態饋給
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態」設定動態
如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一頁中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Azure Storage 稽核記錄」。
- 選取「Microsoft Azure Blob Storage」做為「Source type」。
- 選取「Azure Storage Audit」做為「Log type」。
- 點選「下一步」。
指定下列輸入參數的值:
- 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 儲存體的存取金鑰。
資產命名空間:資產命名空間。
攝入標籤:要套用至這個動態饋給事件的標籤。
- Azure URI:Blob 端點網址。
點選「下一步」。
在「完成」畫面中查看新的動態饋給設定,然後按一下「提交」。
透過內容中心設定動態饋給
指定下列欄位的值:
- 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 儲存體的存取金鑰。
進階選項
- 動態饋給名稱:預先填入的值,用於識別動態饋給。
- 來源類型:用於收集記錄並匯入 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 攝入標籤:套用至這個動態饋給中所有事件的標籤。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
callerIpAddress |
principal.asset.ip |
系統會使用 grok 模式從 callerIpAddress 欄位擷取 IP 位址,並指派給 principal.asset.ip 。 |
callerIpAddress |
principal.ip |
系統會使用 grok 模式從 callerIpAddress 欄位擷取 IP 位址,並指派給 principal.ip 。 |
callerIpAddress |
principal.port |
系統會使用 grok 模式從 callerIpAddress 欄位擷取通訊埠號碼,並指派給 principal.port 。 |
category |
security_result.category_details |
category 欄位的值會指派給 security_result.category_details 。 |
correlationId |
security_result.detection_fields[0].key |
文字常值 correlationId 會指派給鍵欄位。 |
correlationId |
security_result.detection_fields[0].value |
correlationId 欄位的值會指派給 security_result.detection_fields[0].value 。time 欄位的值會解析為時間戳記,並指派給 event.idm.read_only_udm.metadata.event_timestamp 。如果 category 為 StorageWrite ,且 principal.user.userid 存在 (衍生自 properties.accountName ),則值會設為 USER_RESOURCE_UPDATE_CONTENT 。如果 category 為 StorageDelete ,且 principal.user.userid 存在,則值會設為 USER_RESOURCE_DELETION 。否則,該值會設為 USER_RESOURCE_ACCESS 。文字字串 AZURE_STORAGE_AUDIT 會指派給 event.idm.read_only_udm.metadata.log_type 。文字字串 AZURE_STORAGE_AUDIT 會指派給 event.idm.read_only_udm.metadata.product_name 。schemaVersion 欄位的值會指派給 event.idm.read_only_udm.metadata.product_version 。文字字串 AZURE_STORAGE_AUDIT 會指派給 event.idm.read_only_udm.metadata.vendor_name 。 |
location |
target.location.name |
location 欄位的值會指派給 target.location.name 。 |
operationName |
additional.fields[x].key |
文字常值 operationName 會指派給鍵欄位。 |
operationName |
additional.fields[x].value.string_value |
operationName 欄位的值會指派給 additional.fields[x].value.string_value 。 |
operationVersion |
additional.fields[x].key |
文字常值 operationVersion 會指派給鍵欄位。 |
operationVersion |
additional.fields[x].value.string_value |
operationVersion 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.accountName |
principal.user.userid |
properties.accountName 欄位的值會指派給 principal.user.userid 。 |
properties.clientRequestId |
additional.fields[x].key |
文字常值 clientRequestId 會指派給鍵欄位。 |
properties.clientRequestId |
additional.fields[x].value.string_value |
properties.clientRequestId 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.etag |
additional.fields[x].key |
文字常值 etag 會指派給鍵欄位。 |
properties.etag |
additional.fields[x].value.string_value |
properties.etag 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.objectKey |
additional.fields[x].key |
文字常值 objectKey 會指派給鍵欄位。 |
properties.objectKey |
additional.fields[x].value.string_value |
properties.objectKey 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.requestMd5 |
additional.fields[x].key |
文字常值 requestMd5 會指派給鍵欄位。 |
properties.requestMd5 |
additional.fields[x].value.string_value |
properties.requestMd5 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.responseMd5 |
additional.fields[x].key |
文字常值 responseMd5 會指派給鍵欄位。 |
properties.responseMd5 |
additional.fields[x].value.string_value |
properties.responseMd5 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.serviceType |
additional.fields[x].key |
文字常值 serviceType 會指派給鍵欄位。 |
properties.serviceType |
additional.fields[x].value.string_value |
properties.serviceType 欄位的值會指派給 additional.fields[x].value.string_value 。 |
properties.tlsVersion |
network.tls.version |
properties.tlsVersion 欄位的值會指派給 network.tls.version 。 |
properties.userAgentHeader |
network.http.parsed_user_agent |
properties.userAgentHeader 欄位的值會解析為使用者代理程式字串,並指派給 network.http.parsed_user_agent 。 |
properties.userAgentHeader |
network.http.user_agent |
properties.userAgentHeader 欄位的值會指派給 network.http.user_agent 。 |
protocol |
network.application_protocol |
protocol 欄位的值會指派給 network.application_protocol 。 |
resourceId |
target.resource.id |
resourceId 欄位的值會指派給 target.resource.id 。 |
resourceId |
target.resource.product_object_id |
resourceId 欄位的值會指派給 target.resource.product_object_id 。文字字串 DATABASE 會指派給 target.resource.resource_type 。 |
resourceType |
additional.fields[x].key |
文字常值 resourceType 會指派給鍵欄位。 |
resourceType |
additional.fields[x].value.string_value |
resourceType 欄位的值會指派給 additional.fields[x].value.string_value 。如果 statusText 為 Success ,則值會設為 ALLOW 。 |
statusCode |
network.http.response_code |
statusCode 欄位的值會轉換為整數,並指派給 network.http.response_code 。文字字串 MICROSOFT_AZURE 會指派給 target.cloud.environment 。 |
time |
timestamp |
time 欄位的值會解析為時間戳記,並指派給 timestamp 。 |
uri |
network.http.referral_url |
uri 欄位的值會指派給 network.http.referral_url 。 |
異動
2024-12-12
- 將
identity.tokenHash
、identity.type
、identity.requester.appId
、identity.requester.tenantId
、identity.requester.tokenIssuer
、properties.sourceAccessTier
、principal.type
、auth.action
、auth.roleAssignmentId
和auth.roleDefinitionId
對應至additional.fields
。 - 已將
identity.requester.upn
對應至src.user.userid
。 - 已將
identity.requester.objectId
對應至src.user.product_object_id
。
2024-12-06
- 已將
smbCommandMinor
對應至security_result.action_details
。
2024-07-31
- 將
statusText
和correlationId
初始化為空值。
2024-04-08
- 新建的剖析器。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。