收集 Jamf 威胁事件日志

支持的语言:

本文档介绍了如何通过设置 Google Security Operations Feed 来收集 Jamf 威胁事件日志,以及日志字段如何映射到 Google SecOps 统一数据模型 (UDM) 字段。本文档还列出了受支持的 Jamf 威胁事件版本。

如需了解详情,请参阅将数据提取到 Google SecOps

典型部署包括 Jamf 威胁事件和配置为将日志发送到 Google SecOps 的 Google SecOps Feed。每个客户部署都可能有所不同,并且可能更复杂。

部署包含以下组件:

  • Jamf Protect:配置了 Jamf Security Cloud 的 Jamf Protect 平台,您可以在其中收集网络威胁日志。

  • Google SecOps Feed:从 Jamf Protect 中提取日志并将日志写入 Google SecOps 的 Google SecOps Feed。

  • Google SecOps:Google SecOps 会保留并分析 Jamf Protect 中的日志。

注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 JAMF_THREAT_EVENTS 注入标签的解析器。

准备工作

确保您满足以下前提条件:

  • Jamf Protect 遥测设置
  • Jamf Protect 4.0.0 版或更高版本
  • 部署架构中的所有系统都使用世界协调时间 (UTC) 时区进行配置。

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

您可以使用 Amazon S3 或 Webhook 在 Google SecOps 中设置提取 Feed,但我们建议使用 Amazon S3。

使用 Amazon S3 设置注入 Feed

如需为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

如需配置单个 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置> Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称;例如,Jamf 威胁事件日志
  5. 选择 Amazon S3 作为来源类型
  6. 如需为 Jamf 威胁事件创建 Feed,请选择 Jamf Protect 威胁事件作为日志类型
  7. 点击下一步
  8. 保存信息流,然后点击提交
  9. 从 Feed 名称中复制 Feed ID,以便在 Jamf Threat Events 中使用。

使用网络钩子设置提取 Feed

仅限 Google Security Operations 统一版客户:
如需在此产品系列中为不同类型的日志配置多个 Feed,请参阅配置多个 Feed

对于所有客户:
如需配置单个 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置> Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed。如果您使用的是 Google SecOps SIEM 独立平台,请跳过此步骤。
  4. Feed 名称字段中,输入 Feed 的名称;例如,Jamf 威胁事件日志
  5. 来源类型列表中,选择 Webhook
  6. 如需为 Jamf 威胁事件创建 Feed,请选择 Jamf Protect 威胁事件作为日志类型
  7. 点击下一步
  8. 可选:为以下输入参数指定值:
    • 拆分分隔符:用于分隔日志行的分隔符,例如 \n
    • 资源命名空间资源命名空间
    • 注入标签:要应用于此 Feed 中事件的标签。
  9. 点击下一步
  10. 最终确定界面中查看新的 Feed 配置,然后点击提交
  11. 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
  12. 复制并存储密钥,因为您无法再次查看此密钥。您可以再次生成新的密钥,但重新生成密钥会使之前的密钥失效。
  13. 详情标签页中,从端点信息字段复制 Feed 端点网址。 您需要在 Jamf Threat Events 应用中指定此端点网址。
  14. 点击完成
  15. 在 Jamf 威胁事件中指定端点网址。

设置来自内容中心的 Feed

为以下字段指定值:

  • 区域:Amazon S3 存储桶所在的区域。
  • S3 URI:存储桶 URI。
    • s3://your-log-bucket-name/
      • your-log-bucket-name 替换为您的 S3 存储桶的实际名称。
  • URI is a:根据您的存储桶结构,选择目录目录(包括子目录)
  • 源删除选项:根据您的提取偏好设置选择删除选项。
  • 访问密钥 ID:有权从 S3 存储桶读取数据的用户的访问密钥。

  • 私有访问密钥:具有从 S3 存储桶读取权限的用户的私有密钥。

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资产命名空间与 Feed 关联的命名空间
  • 提取标签:应用于相应 Feed 中所有事件的标签。

为网络钩子 Feed 创建 API 密钥

  1. 依次前往 Google Cloud 控制台 > 凭据

    转到“凭据”页面

  2. 点击创建凭据,然后选择 API 密钥

  3. 将 API 密钥访问权限限制为 Google Security Operations API

为 webhook Feed 设置 Jamf Security Cloud

  1. 在 Jamf Security Cloud 应用中,前往集成 > 数据流
  2. 点击新配置
  3. 依次选择威胁事件 > 通用 HTTP > 继续
  4. HTTP 连接配置部分中,选择 https 作为默认协议。
  5. 服务器主机名/IP 字段中输入服务器主机名,例如 us-chronicle.googleapis.com
  6. 端口字段中输入服务器端口,例如 443
  7. 端点字段中输入您的 Web 端点。(这是您从网络钩子 Feed 设置中复制的端点信息字段。它已采用所需格式。)
  8. 其他标头部分中,输入以下设置,其中每个标头都是您手动输入的自定义标头(区分大小写):

    • 标头名称:X-goog-api-key,然后点击 Create option X-goog-api-key
    • 插入的标头值:API_KEY(用于向 Google SecOps 进行身份验证的 API 密钥)。
    • 标头名称:X-Webhook-Access-Key,然后点击 Create option X-Webhook-Access-Key
    • 标头值插入:SECRET(您生成的用于验证 Feed 的密钥)。
  9. 点击测试配置

  10. 如果成功,请点击创建配置

如需详细了解 Google SecOps Feed,请参阅使用 Feed 管理界面创建和管理 Feed。如需了解每种 Feed 类型的要求,请参阅 Feed 配置 API

支持的 Jamf 威胁事件日志格式

Jamf 威胁事件解析器支持 JSON 格式的日志。

受支持的 Jamf 威胁事件日志示例

  • 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) 字段。

字段映射参考信息:事件标识符到事件类型

下表列出了 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:
  • ALLOW if the event.action log field value is equal to Resolved or Detected.
  • BLOCK if the event.action log field value is equal to Blocked.
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 专业人士那里获得解答。