收集 Jamf Threat Events 記錄
本文說明如何設定 Google Security Operations 動態饋給,收集 Jamf 威脅事件記錄,以及記錄欄位如何對應至 Google SecOps 統一資料模型 (UDM) 欄位。本文也列出支援的 Jamf Threat Events 版本。
詳情請參閱「將資料匯入 Google SecOps」。
一般部署作業包括 Jamf 威脅事件和 Google SecOps 動態饋給,並且已設定為將記錄傳送至 Google SecOps。每個客戶的部署作業可能有所不同,且可能更為複雜。
部署作業包含下列元件:
Jamf Protect:Jamf Protect 平台已與 Jamf Security Cloud 搭配設定,可用於收集網路威脅記錄。
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 以上版本
- 部署架構中的所有系統都已設定為使用世界標準時間 (UTC) 時區。
設定動態饋給
在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:
- SIEM 設定 > 動態饋給
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態」設定動態
您可以使用 Amazon S3 或 webhook 在 Google SecOps 中設定擷取動態饋給,但我們建議使用 Amazon S3。
使用 Amazon S3 設定擷取動態饋給
如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一頁中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Jamf 威脅事件記錄」。
- 選取「Amazon S3」做為「Source Type」(來源類型)。
- 如要建立 Jamf 威脅事件動態饋給,請選取「Jamf Protect 威脅事件」做為「記錄類型」。
- 點選「下一步」。
- 儲存動態饋給,然後點選「提交」。
- 複製動態饋給 ID 並使用在 Jamf 威脅事件中。
使用 Webhook 設定擷取動態饋給
僅適用於 Google Security Operations 統一客戶:
如要針對這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「設定多個動態饋給」。
適用於所有客戶:
如要設定單一動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一頁中,按一下「設定單一動態饋給」。如果您使用的是 Google SecOps SIEM 獨立平台,請略過這個步驟。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Jamf 威脅事件記錄」。
- 在「Source Type」(來源類型) 清單中,選取「Webhook」。
- 如要建立 Jamf 威脅事件動態饋給,請選取「Jamf Protect 威脅事件」做為「記錄類型」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分隔符號:用於分隔記錄資料列的符號,例如
\n
。 - 資產命名空間:資產命名空間。
- 攝入標籤:要套用至這個動態饋給事件的標籤。
- 分隔符號:用於分隔記錄資料列的符號,例如
- 點選「下一步」。
- 在「完成」畫面中查看新的動態饋給設定,然後按一下「提交」。
- 按一下「產生密鑰」,即可產生密鑰來驗證這項動態饋給。
- 您無法再次查看密鑰,因此請複製並儲存密鑰。您可以再次產生新的密鑰,但密鑰重新產生後,先前的密鑰就會失效。
- 在「Details」分頁中,從「Endpoint Information」欄位複製動態消息端點網址。您必須在 Jamf Threat Events 應用程式中指定這個端點網址。
- 按一下 [完成]。
- 在 Jamf 威脅事件中指定端點網址。
透過內容中心設定動態饋給
指定下列欄位的值:
- 區域:Amazon S3 值區所在的區域。
- S3 URI:值區 URI。
s3://your-log-bucket-name/
- 請將
your-log-bucket-name
替換為實際的 S3 值區名稱。
- 請將
- URI 是:請根據您的桶層結構,選取「目錄」或「目錄 (包含子目錄)」。
- 來源刪除選項:根據擷取偏好設定選取刪除選項。
存取金鑰 ID:使用者具備從 S3 值區讀取權限的存取金鑰。
私密存取金鑰:使用者具備 S3 值區讀取權限的私密金鑰。
進階選項
- 動態饋給名稱:預先填入的值,用於識別動態饋給。
- 來源類型:用於收集記錄並匯入 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 攝入標籤:套用至這個動態饋給中所有事件的標籤。
為 webhook 動態饋給建立 API 金鑰
依序前往「Google Cloud 控制台」>「憑證」。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰的存取權限制在 Google Security Operations API。
為 webhook 動態饋給設定 Jamf Security Cloud
- 在 Jamf Security Cloud 應用程式中,依序前往「整合」 >「資料串流」。
- 按一下「新設定」。
- 依序選取「威脅事件」 >「一般 HTTP」 >「繼續」。
- 在「HTTP 連線設定」部分,選取「https」做為預設通訊協定。
- 在「Server Hostname/IP」欄位中輸入伺服器主機名稱,例如
us-chronicle.googleapis.com
。 - 在「Port」欄位中輸入伺服器通訊埠,例如
443
。 - 在「Endpoint」欄位中輸入網頁端點,(這是您從 webhook 動態饋給設定複製的「端點資訊」欄位。已採用必要格式。)
在「其他標頭」部分,輸入下列設定,其中每個標頭都是您手動輸入的自訂標頭,且會區分大小寫:
- 標頭名稱:X-goog-api-key,然後按一下「建立 X-goog-api-key 選項」
- 標頭值插入:API_KEY (用於向 Google SecOps 進行驗證的 API 金鑰)。
- 標頭名稱:X-Webhook-Access-Key,然後按一下「Create option X-Webhook-Access-Key」
- 標頭值插入:SECRET (您用來驗證動態饋給而產生的密鑰)。
按一下「Test Configuration」。
如果成功,請按一下「建立設定」。
如要進一步瞭解 Google SecOps 動態饋給,請參閱「使用動態饋給管理 UI 建立及管理動態饋給」。如要瞭解每種動態饋給類型的規定,請參閱「動態饋給設定 API」。
支援的 Jamf 威脅事件記錄格式
Jamf Threat Events 剖析器支援 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 專家尋求解答。