收集 iOS 裝置上的 Microsoft Defender for Endpoint 記錄
本文說明如何使用 Microsoft Azure Blob 儲存體 V2 設定 Google SecOps 資訊提供,以收集 iOS 裝置上的 Microsoft Defender for Endpoint 記錄。
iOS 版 Microsoft Defender for Endpoint 是一種行動威脅防禦解決方案,可保護 iOS 裝置免於網路釣魚、不安全的網路連線和惡意應用程式的威脅。這項服務會透過本機 VPN 提供網路保護,並與 Microsoft Intune 整合,方便您管理裝置。iOS 裝置的事件會擷取到與其他 Defender for Endpoint 平台相同的進階搜尋資料表,包括 DeviceEvents、DeviceInfo、DeviceLogonEvents 和 DeviceNetworkEvents。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- 具備下列權限的 Microsoft Azure 入口網站特殊存取權:
- 建立儲存空間帳戶
- 設定診斷設定 (適用於 Azure 服務)
- 管理存取金鑰
- 有權存取 Microsoft Defender 入口網站,並具備下列權限:
- 設定資料匯出設定
- 管理 Microsoft Defender XDR 設定
- 搭載 iOS 16.0 以上版本的 iOS 裝置
透過 Intune 公司入口網站註冊或透過 Microsoft Authenticator 註冊的裝置
設定 Azure 儲存體帳戶
建立儲存空間帳戶
- 在 Azure 入口網站中,搜尋「儲存體帳戶」。
- 點選「+ 建立」。
請提供下列設定詳細資料:
設定 值 訂閱項目 選取 Azure 訂閱項目 資源群組 選取現有資料庫或建立新資料庫 儲存體帳戶名稱 輸入不重複的名稱 (例如 defenderioslogssa)區域 選取區域 (例如 East US)效能 標準 (建議) 備援功能 GRS (異地備援儲存空間) 或 LRS (本機備援儲存空間) 按一下「Review + create」。
查看帳戶總覽,然後按一下「建立」。
等待部署作業完成。
取得儲存空間帳戶憑證
- 前往您剛建立的「儲存空間帳戶」。
- 在左側導覽中,選取「Security + networking」(安全性 + 網路) 下方的「Access keys」(存取金鑰)。
- 按一下「顯示金鑰」。
- 複製並儲存下列項目,以供日後使用:
- 儲存體帳戶名稱:您建立的名稱 (例如
defenderioslogssa) - 金鑰 1 或金鑰 2:共用存取金鑰 (採用 Base64 編碼的 512 位元隨機字串)
- 儲存體帳戶名稱:您建立的名稱 (例如
取得 Blob 服務端點
- 在同一個儲存空間帳戶中,選取左側導覽列的「Endpoints」(端點)。
- 複製並儲存「Blob service」端點網址。
- 範例:
https://defenderioslogssa.blob.core.windows.net/
- 範例:
取得儲存體帳戶資源 ID
- 在同一個儲存空間帳戶中,選取左側導覽列的「屬性」。
- 向下捲動,找出「儲存空間帳戶資源 ID」。
- 按一下「資源 ID」旁的複製圖示,然後儲存以供日後使用。
- 範例:
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/defenderioslogssa
- 範例:
設定 Microsoft Defender for Endpoint 資料匯出功能
- 前往
https://security.microsoft.com登入 Microsoft Defender 入口網站。 - 依序前往「設定」> Microsoft Defender XDR >「資料匯出設定」。
- 按一下「+ 新增資料匯出設定」。
- 在「Name」(名稱) 欄位中輸入描述性名稱 (例如
Export to Chronicle)。 - 在「Forward events to」(將事件轉送至) 部分,選取「Azure Storage」(Azure 儲存體)。
- 在「儲存空間帳戶資源 ID」欄位中,貼上您先前複製的儲存空間帳戶資源 ID。
在「選擇事件」部分,選取要匯出的事件類型。如要全面監控 iOS 裝置,請選取下列項目:
- DeviceEvents:一般裝置事件,包括應用程式啟動和系統事件
- DeviceInfo:裝置庫存資訊,包括 OS 版本和裝置屬性
- DeviceLogonEvents:登入和驗證事件
- DeviceNetworkEvents:網路連線和網頁防護事件
- DeviceProcessEvents:程序建立和終止事件
- DeviceFileEvents:檔案建立、修改和刪除事件
- AlertInfo:適用於端點的 Defender 提供的快訊中繼資料
- AlertEvidence:與快訊相關的證據
按一下 [儲存]。
設定完成後,Microsoft Defender for Endpoint 就會開始將事件匯出至 Azure 儲存體帳戶。事件會以下列命名模式整理在 Blob 容器中:
deviceeventsdeviceinfodevicelogoneventsdevicenetworkeventsdeviceprocesseventsdevicefileeventsalertinfoalertevidence
每個容器都會將事件儲存在依日期和時間排序的階層式資料夾結構中:
container-name/ └── year=YYYY/month=MM/day=DD/hour=HH/ └── [event-files].json
在 Google SecOps 中設定動態饋給,擷取 Microsoft Defender for Endpoint on iOS 記錄
你必須為每個事件類型容器分別建立動態饋給。針對要擷取的每個容器重複下列步驟。
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Defender iOS - DeviceEvents)。 - 選取「Microsoft Azure Blob Storage V2」做為「來源類型」。
- 選取「iOS 版 Microsoft Defender for Endpoint」做為「記錄類型」。
- 點選「下一步」。
指定下列輸入參數的值:
- Azure URI:輸入 Blob 服務端點網址和容器路徑:
https://defenderioslogssa.blob.core.windows.net/deviceevents/更改下列內容:
defenderioslogssa:您的 Azure 儲存體帳戶名稱。deviceevents:事件類型的 Blob 容器名稱。
- 來源刪除選項:根據偏好設定選取刪除選項:
- 永不:轉移後一律不刪除任何檔案。
- 刪除已轉移的檔案:成功轉移檔案後刪除檔案。
- 刪除已轉移的檔案和空白目錄:成功轉移後刪除檔案和空白目錄。
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)
- 共用金鑰:輸入從儲存空間帳戶擷取的共用金鑰值 (存取金鑰)
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤 (例如
defender_ios)
點選「下一步」。
在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
針對要擷取的每個事件類型容器 (例如 deviceinfo、devicelogonevents、devicenetworkevents 等),重複上述步驟。使用描述性動態饋給名稱來區分事件類型。
設定 Azure 儲存空間防火牆 (如已啟用)
如果 Azure 儲存體帳戶使用防火牆,您必須新增 Google SecOps IP 範圍。
- 在 Azure 入口網站中,前往「儲存體帳戶」。
- 選取「Security + networking」(安全性 + 網路) 下方的「Networking」(網路)。
- 在「防火牆和虛擬網路」下方,選取「從所選虛擬網路和 IP 位址啟用」。
- 在「防火牆」部分的「位址範圍」下方,按一下「+ 新增 IP 範圍」。
以 CIDR 標記法新增每個 Google SecOps IP 範圍。
如要取得目前的 IP 範圍,請按照下列步驟操作:
- 請參閱 IP 許可清單說明文件
- 或使用 Feed Management API 以程式輔助方式擷取
按一下 [儲存]。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| __TimeReceivedBySvc | additional.fields | 與從各來源欄位建立的標籤合併 |
| properties.InitiatingProcessUniqueId | additional.fields | |
| properties.MachineGroup | additional.fields | |
| properties.IsProcessRemoteSession | additional.fields | |
| properties.IsInitiatingProcessRemoteSession | additional.fields | |
| properties.InitiatingProcessSessionId | additional.fields | |
| properties.InitiatingProcessParentCreationTime | additional.fields | |
| properties.InitiatingProcessVersionInfoOriginalFileName | additional.fields | |
| properties.InitiatingProcessVersionInfoFileDescription | additional.fields | |
| properties.InitiatingProcessVersionInfoInternalFileName | additional.fields | |
| properties.InitiatingProcessVersionInfoProductName | additional.fields | |
| properties.AdditionalFields | additional.fields | |
| properties.DeliveryAction | additional.fields | |
| properties.DeliveryLocation | additional.fields | |
| properties.EmailAction | additional.fields | |
| properties.EmailActionPolicy | additional.fields | |
| properties.EmailActionPolicyGuid | additional.fields | |
| properties.AttachmentCount | additional.fields | |
| properties.UrlCount | additional.fields | |
| properties.EmailLanguage | additional.fields | |
| properties.EmailClusterId | additional.fields | |
| properties.Connectors | additional.fields | |
| properties.OrgLevelAction | additional.fields | |
| properties.OrgLevelPolicy | additional.fields | |
| properties.UserLevelAction | additional.fields | |
| properties.UserLevelPolicy | additional.fields | |
| properties.ConfidenceLevel | additional.fields | |
| SPF | additional.fields | |
| DKIM | additional.fields | |
| DMARC | additional.fields | |
| CompAuth | additional.fields | |
| properties.BulkComplaintLevel | additional.fields | |
| has_email | metadata.event_type | 如果 has_email 為 true,則設為「EMAIL_TRANSACTION」;如果 has_principal 和 has_target 為 true,則設為「NETWORK_CONNECTION」;如果 has_principal 為 true 且 has_target 為 false,則設為「STATUS_UPDATE」;否則設為「GENERIC_EVENT」 |
| has_principal | metadata.event_type | |
| has_target | metadata.event_type | |
| tenantId | metadata.product_deployment_id | 直接複製值 |
| operationName | metadata.product_event_type | 直接複製值 |
| properties.InitiatingProcessVersionInfoProductVersion | metadata.product_version | 直接複製值 |
| properties.EmailDirection | network.direction | 如果等於「Inbound」,請設為「INBOUND」 |
| properties.SenderFromAddress | network.email.from | 直接複製值 |
| properties.InternetMessageId | network.email.mail_id | 直接複製值 |
| properties.Subject | network.email.subject | 從資源合併。主題 |
| properties.RecipientEmailAddress | network.email.to | 從 properties.RecipientEmailAddress 合併 |
| properties.SenderFromDomain | principal.administrative_domain | 如果 properties.SenderFromDomain 不為空,則為該屬性的值,否則為 properties.InitiatingProcessAccountDomain |
| properties.InitiatingProcessAccountDomain | principal.administrative_domain | |
| properties.DeviceId | principal.asset.asset_id | 串連為「DeviceId:%{properties.DeviceId}」 |
| properties.DeviceName | principal.asset.hostname | 直接複製值 |
| properties.SenderIPv4 | principal.asset.ip | 從 properties.SenderIPv4 和 properties.SenderIPv6 合併 |
| properties.SenderIPv6 | principal.asset.ip | |
| properties.DeviceName | principal.hostname | 直接複製值 |
| properties.SenderIPv4 | principal.ip | 從 properties.SenderIPv4 和 properties.SenderIPv6 合併 |
| properties.SenderIPv6 | principal.ip | |
| properties.InitiatingProcessCommandLine | principal.process.command_line | 直接複製值 |
| properties.InitiatingProcessFolderPath | principal.process.file.full_path | 直接複製值 |
| properties.InitiatingProcessMD5 | principal.process.file.md5 | 直接複製值 |
| properties.InitiatingProcessFileName | principal.process.file.names | 從屬性合併。InitiatingProcessFileName |
| properties.InitiatingProcessSHA1 | principal.process.file.sha1 | 直接複製值 |
| properties.InitiatingProcessSHA256 | principal.process.file.sha256 | 如果符合十六進位規則運算式,系統會直接複製值 |
| properties.InitiatingProcessParentFileName | principal.process.parent_process.file.full_path | 直接複製值 |
| properties.InitiatingProcessParentId | principal.process.parent_process.pid | 已轉換為字串 |
| properties.InitiatingProcessId | principal.process.pid | 已轉換為字串 |
| properties.InitiatingProcessCreationTime | principal.resource.attribute.labels | 與從各來源欄位建立的標籤合併 |
| properties.InitiatingProcessParentCreationTime | principal.resource.attribute.labels | |
| properties.InitiatingProcessVersionInfoOriginalFileName | principal.resource.attribute.labels | |
| properties.InitiatingProcessVersionInfoFileDescription | principal.resource.attribute.labels | |
| properties.InitiatingProcessVersionInfoInternalFileName | principal.resource.attribute.labels | |
| properties.InitiatingProcessVersionInfoProductName | principal.resource.attribute.labels | |
| properties.InitiatingProcessLogonId | principal.resource.attribute.labels | |
| properties.SenderMailFromDomain | principal.user.attribute.labels | 與從屬性建立的標籤合併。SenderMailFromDomain |
| properties.InitiatingProcessVersionInfoCompanyName | principal.user.company_name | 直接複製值 |
| properties.InitiatingProcessAccountUpn | principal.user.email_addresses | 從屬性合併。如果符合電子郵件規則運算式,則為 InitiatingProcessAccountUpn;否則為 properties.SenderMailFromAddress、properties.SenderFromAddress |
| properties.SenderMailFromAddress | principal.user.email_addresses | |
| properties.SenderFromAddress | principal.user.email_addresses | |
| properties.SenderObjectId | principal.user.product_object_id | 直接複製值 |
| properties.SenderDisplayName | principal.user.user_display_name | 直接複製值 |
| properties.InitiatingProcessAccountName | principal.user.userid | 直接複製值 |
| properties.InitiatingProcessAccountSid | principal.user.windows_sid | 使用 grok 模式擷取 |
| category | security_result.category_details | 直接複製值 |
| properties.ReportId | security_result.detection_fields | 與從各來源欄位建立的標籤合併 |
| properties.NetworkMessageId | security_result.detection_fields | |
| properties.AppGuardContainerId | security_result.detection_fields | |
| 租戶 | security_result.detection_fields | |
| properties.ActionType | security_result.summary | 直接複製值 |
| properties.ThreatTypes | security_result.threat_name | 如果 properties.ThreatTypes 不是空白/空值,則為該屬性的值,否則為 properties.ThreatNames |
| properties.ThreatNames | security_result.threat_name | |
| properties.InitiatingProcessFileSize | target.process.file.size | 轉換為字串,然後轉換為 uinteger |
| properties.ProcessTokenElevation | target.resource.attribute.labels | 與從屬性建立的標籤合併。ProcessTokenElevation |
| properties.RemoteUrl | target.url | 直接複製值 |
| properties.RecipientEmailAddress | target.user.email_addresses | 從 properties.RecipientEmailAddress 合併 |
| properties.RecipientObjectId | target.user.product_object_id | 直接複製值 |
| metadata.product_name | metadata.product_name | 設為「Microsoft Defender Endpoint」 |
| metadata.vendor_name | metadata.vendor_name | 設為「MICROSOFT_DEFENDER_ENDPOINT_IOS」 |
properties.DeviceName |
principal.hostname and principal.asset.hostname |
從變更記錄對應 |
properties.Timestamp |
metadata.event_timestamp |
從變更記錄對應 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。