收集 Jamf 威脅事件記錄
本文說明如何設定 Google Security Operations 資訊提供,以收集 Jamf 威脅事件記錄,以及記錄欄位如何對應至 Google SecOps 統合資料模型 (UDM) 欄位。本文也列出支援的 Jamf Threat Events 版本。
詳情請參閱「將資料擷取至 Google SecOps」。
一般部署作業包含 Jamf 威脅事件和 Google SecOps 資訊提供,這些項目會設定為將記錄傳送至 Google SecOps。每個客戶的部署作業可能有所不同,而且可能更為複雜。
部署作業包含下列元件:
Jamf Protect:透過 Jamf Security Cloud 設定的 Jamf Protect 平台,用於收集網路威脅記錄。
Google SecOps 資訊提供:從 Jamf Protect 擷取記錄,並將記錄寫入 Google SecOps 的 Google SecOps 資訊提供。
Google SecOps:Google SecOps 會保留及分析 Jamf Protect 的記錄檔。
擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為具結構性的 UDM 格式。本文中的資訊適用於具有 JAMF_THREAT_EVENTS
攝入標籤的剖析器。
事前準備
請確認您已完成下列事前準備事項:
- 已設定 Jamf Protect 遙測資料
- Jamf Protect 4.0.0 以上版本
- 部署架構中的所有系統都已設定為世界標準時間時區。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態消息」,設定動態消息
您可以使用 Amazon S3 或 Webhook 在 Google SecOps 中設定擷取動態饋給,但建議使用 Amazon S3。
使用 Amazon S3 設定擷取動態饋給
如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Jamf Threat Events Logs」。
- 選取「Amazon S3」做為「來源類型」。
- 如要建立 Jamf 威脅事件的動態消息,請選取「Jamf Protect 威脅事件」做為「記錄類型」。
- 點選「下一步」。
- 儲存動態饋給,然後提交。
- 從動態消息名稱複製「動態消息 ID」,以便在「Jamf 威脅事件」中使用。
使用 Webhook 設定擷取動態饋給
僅適用於 Google Security Operations Unified 客戶:
如要為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「設定多個動態饋給」。
所有客戶:
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。如果您使用 Google SecOps SIEM 獨立平台,請略過這個步驟。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Jamf Threat Events Logs」。
- 在「來源類型」清單中,選取「Webhook」。
- 如要建立 Jamf 威脅事件的動態消息,請選取「Jamf Protect 威脅事件」做為「記錄類型」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。 - 資產命名空間:資產命名空間。
- 擷取標籤:要套用至這個動態饋給事件的標籤。
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
- 點選「下一步」。
- 在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」。
- 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
- 複製並儲存密鑰,因為您無法再次查看這個密鑰。您可以再次產生新的密鑰,但重新產生的密鑰會使先前的密鑰失效。
- 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。 您需要在 Jamf Threat Events 應用程式中指定這個端點網址。
- 按一下 [完成]。
- 在 Jamf 威脅事件中指定端點網址。
從內容中心設定動態饋給
為下列欄位指定值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:bucket URI。
s3://your-log-bucket-name/
- 請將
your-log-bucket-name
替換為 S3 值區的實際名稱。
- 請將
- URI 是:根據 bucket 結構,選取「Directory」(目錄) 或「Directory which includes subdirectories」(包含子目錄的目錄)。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:具備 S3 值區讀取權限的使用者存取金鑰。
存取密鑰:使用者的存取密鑰,具備從 S3 bucket 讀取的權限。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
為 Webhook 動態饋給建立 API 金鑰
依序前往 Google Cloud 控制台 >「憑證」。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰存取權限制在 Google Security Operations API。
為 Webhook 饋給設定 Jamf Security Cloud
- 在 Jamf Security Cloud 應用程式中,依序前往「Integrations」(整合) >「Data Streams」(資料串流)。
- 按一下「New Configuration」。
- 依序選取「威脅事件」 >「一般 HTTP」 >「繼續」。
- 在「HTTP 連線設定」部分,選取「https」做為預設通訊協定。
- 在「Server Hostname/IP」(伺服器主機名稱/IP) 欄位中輸入伺服器主機名稱,例如
us-chronicle.googleapis.com
。 - 在「通訊埠」欄位中輸入伺服器通訊埠,例如
443
。 - 在「端點」欄位中輸入網路端點。(這是您從 Webhook 摘要設定複製的「端點資訊」欄位。(如果已是所需格式,則不需轉換)。
在「其他標頭」部分,輸入下列設定,其中每個標頭都是您手動輸入的自訂標頭 (區分大小寫):
- 標頭名稱:X-goog-api-key,然後按一下「建立選項 X-goog-api-key」
- 插入標頭值:API_KEY (用於向 Google SecOps 驗證的 API 金鑰)。
- 標頭名稱:X-Webhook-Access-Key,然後按一下「建立選項 X-Webhook-Access-Key」
- 插入標頭值:SECRET (您產生的密鑰,用於驗證動態饋給)。
按一下「Test Configuration」。
如果成功,請按一下「建立設定」。
如要進一步瞭解 Google SecOps 動態消息,請參閱「使用動態消息管理 UI 建立及管理動態消息」。如要瞭解各動態消息類型的規定,請參閱「動態消息設定 API」。
支援的 Jamf Threat Events 記錄格式
Jamf 威脅事件剖析器支援 JSON 格式的記錄。
支援的 Jamf Threat Events 記錄範例
JSON
{ "event": { "metadata": { "schemaVersion": "1.0", "vendor": "Jamf", "product": "Threat Events Stream" }, "timestamp": "2023-01-11T13:10:40.410Z", "alertId": "debd2e4b-9da1-454e-952d-18a00b42ffce", "account": { "customerId": "dummycustomerid", "parentId": "dummyparentid", "name": "Jamf Internal Test Accounts (root) - Jamf - CE Security Team" }, "device": { "deviceId": "e9671102-5ccf-4e66-a6b3-b117ba257d5f", "os": "UNKNOWN 13.2.1", "deviceName": "Mac (13.2.1)", "userDeviceName": "darrow", "externalId": "0c221ae4-50af-5e39-8275-4424cc87ab8e" }, "eventType": { "id": "303", "description": "Risky Host/Domain - Malware", "name": "ACCESS_BAD_HOST" }, "app": { "id": "ru.freeapps.calc", "name": "MyFreeCalculator", "version": "10.4", "sha1": "c3499c2729730a7f807efb8676a92dcb6f8a3f8f", "sha256": "50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545" }, "destination": { "name": "dummy.domain.org", "ip": "0000:1111:2222:3333:4444:5", "port": "80" }, "source": { "ip": "198.51.100.1", "port": "243" }, "location": "GB", "accessPoint": null, "accessPointBssid": "23:8f:cf:00:9d:23", "severity": 8, "user": { "email": "test.user@domain.io", "name": "Test User" }, "eventUrl": "dummy.domain.com", "action": "Blocked" } }
欄位對應參考資料
下表說明 Google SecOps 剖析器如何將 Jamf 威脅事件記錄欄位對應至 Google SecOps 統合式資料模型 (UDM) 欄位。
欄位對應參照:事件 ID 對應至事件類型
下表列出JAMF_THREAT_EVENTS
記錄類型及其對應的 UDM 事件類型。
Event Identifier | Event Type | Security Category |
---|---|---|
MALICIOUS_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
ADWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
BANKER_MALWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
POTENTIALLY_UNWANTED_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
RANSOMWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
ROOTING_MALWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
SMS_MALWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
SPYWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
TROJAN_MALWARE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
THIRD_PARTY_APP_STORES_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
ADMIN_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
SIDE_LOADED_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
VULNERABLE_APP_IN_INVENTORY |
SCAN_UNCATEGORIZED |
SOFTWARE_MALICIOUS, SOFTWARE_PUA |
SSL_TRUST_COMPROMISE |
SCAN_NETWORK |
NETWORK_SUSPICIOUS |
JAILBREAK |
SCAN_UNCATEGORIZED |
EXPLOIT |
IOS_PROFILE |
SCAN_UNCATEGORIZED |
|
OUTDATED_OS |
SCAN_VULN_HOST |
SOFTWARE_MALICIOUS |
OUTDATED_OS_LOW |
SCAN_VULN_HOST |
SOFTWARE_MALICIOUS |
OUT_OF_DATE_OS |
SCAN_UNCATEGORIZED |
|
LOCK_SCREEN_DISABLED |
SCAN_UNCATEGORIZED |
|
STORAGE_ENCRYPTION_DISABLED |
SCAN_UNCATEGORIZED |
|
UNKNOWN_SOURCES_ENABLED |
SCAN_UNCATEGORIZED |
|
DEVELOPER_MODE_ENABLED |
SCAN_UNCATEGORIZED |
|
USB_DEBUGGING_ENABLED |
SCAN_UNCATEGORIZED |
|
USB_APP_VERIFICATION_DISABLED |
SCAN_UNCATEGORIZED |
|
FIREWALL_DISABLED |
SCAN_UNCATEGORIZED |
POLICY_VIOLATION |
USER_PASSWORD_DISABLED |
SCAN_UNCATEGORIZED |
|
ANTIVIRUS_DISABLED |
SCAN_UNCATEGORIZED |
|
APP_INACTIVITY |
SCAN_UNCATEGORIZED |
|
MISSING_ANDROID_SECURITY_PATCHES |
SCAN_UNCATEGORIZED |
|
ACCESS_SPAM_HOST |
SCAN_HOST |
NETWORK_SUSPICIOUS |
ACCESS_PHISHING_HOST |
SCAN_HOST |
PHISHING |
ACCESS_BAD_HOST |
SCAN_HOST |
NETWORK_MALICIOUS |
RISKY_APP_DOWNLOAD |
SCAN_UNCATEGORIZED |
SOFTWARE_SUSPICIOUS |
ACCESS_CRYPTOJACKING_HOST |
SCAN_HOST |
NETWORK_SUSPICIOUS |
SSL_MITM_TRUSTED_VALID_CERT |
SCAN_NETWORK |
NETWORK_SUSPICIOUS |
SSL_MITM_UNTRUSTED_VALID_CERT |
SCAN_NETWORK |
NETWORK_SUSPICIOUS |
SSL_STRIP_MITM |
SCAN_NETWORK |
NETWORK_MALICIOUS |
SSL_MITM_UNTRUSTED_INVALID_CERT |
SCAN_NETWORK |
NETWORK_MALICIOUS |
SSL_MITM_TRUSTED_INVALID_CERT |
SCAN_NETWORK |
NETWORK_MALICIOUS |
LEAK_CREDIT_CARD |
SCAN_UNCATEGORIZED |
ACL_VIOLATION |
LEAK_PASSWORD |
SCAN_UNCATEGORIZED |
ACL_VIOLATION |
LEAK_EMAIL |
SCAN_UNCATEGORIZED |
ACL_VIOLATION |
LEAK_USERID |
SCAN_UNCATEGORIZED |
ACL_VIOLATION |
LEAK_LOCATION |
SCAN_UNCATEGORIZED |
ACL_VIOLATION |
欄位對應參考資料:JAMF_THREAT_EVENTS
下表列出JAMF_THREAT_EVENTS
記錄類型的記錄欄位,以及對應的 UDM 欄位。
Log field | UDM mapping | Logic |
---|---|---|
event.account.parentId |
about.resource_ancestors.product_object_id |
|
event.account.name |
about.resource.name |
|
event.account.customerId |
about.resource.product_object_id |
|
|
is_alert |
The is_alert UDM field is set to TRUE . |
event.timestamp |
metadata.event_timestamp |
|
event.eventType.name |
metadata.product_event_type |
|
event.alertId |
metadata.product_log_id |
|
event.metadata.product |
metadata.product_name |
|
event.metadata.vendor |
metadata.vendor_name |
|
event.source.port |
princiap.port |
|
event.device.deviceName |
principal.asset.assetid |
|
event.location |
principal.asset.location.country_or_region |
|
|
principal.asset.platform_software.platform |
The platform_name is extracted from the event.device.deviceName log field using a Grok pattern.If the platform_name value is equal to Mac , then the principal.asset.platform_software.platform UDM field is set to MAC .
|
event.device.os |
principal.asset.platform_software.platform_version |
|
event.device.deviceId |
principal.asset.product_object_id |
|
event.source.ip |
principal.ip |
|
event.accessPointBssid |
principal.mac |
|
event.user.email |
principal.user.email_addresses |
|
event.user.name |
principal.user.user_display_name |
|
sourceUserName |
principal.user.user_display_name |
|
event.device.externalId |
principal.asset.attribute.labels [event_device_externalId] |
|
event.device.userDeviceName |
principal.asset.attribute.labels [event_device_userDeviceName] |
|
event.accessPoint |
principal.labels [event_accessPoint] |
|
event.action |
security_result.action |
The security_result.action UDM field is set to one of the following values:
|
event.action |
security_result.action_details |
|
event.eventType.name |
security_result.category_details |
|
event.eventType.description |
security_result.description |
|
event.severity |
security_result.severity_details |
|
event.eventType.id |
security_result.threat_id |
|
event.eventType.name |
security_result.threat_name |
|
event.eventUrl |
security_result.url_back_to_product |
|
event.destination.port |
target.port |
|
event.app.name |
target.application |
|
event.app.name |
target.file.full_path |
|
event.app.sha1 |
target.file.sha1 |
|
event.app.sha256 |
target.file.sha256 |
|
event.destination.ip |
target.ip |
|
event.destination.name |
target.url |
|
event.app.version |
target.labels [event_app_version] |
|
event.app.id |
target.labels [event_app_id] |
|
event.metadata.schemaVersion |
about.labels [event_metadata_schemaVersion] |
後續步驟
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。