Recoger registros de eventos de amenazas de Jamf

Disponible en:

En este documento se describe cómo puede recoger registros de eventos de amenazas de Jamf configurando un feed de Google Security Operations y cómo se asignan los campos de registro a los campos del modelo de datos unificado (UDM) de Google SecOps. En este documento también se indica la versión de Jamf Threat Events compatible.

Para obtener más información, consulta Ingestión de datos en Google SecOps.

Una implementación típica consta de Jamf Threat Events y el feed de Google SecOps configurado para enviar registros a Google SecOps. Cada implementación de cliente puede ser diferente y más compleja.

La implementación contiene los siguientes componentes:

  • Jamf Protect: la plataforma Jamf Protect, configurada con Jamf Security Cloud, donde recoges los registros de amenazas de red.

  • Feed de Google SecOps: el feed de Google SecOps que obtiene registros de Jamf Protect y escribe registros en Google SecOps.

  • Google SecOps: Google SecOps conserva y analiza los registros de Jamf Protect.

Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión JAMF_THREAT_EVENTS.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Una configuración de telemetría de Jamf Protect
  • Jamf Protect 4.0.0 o una versión posterior
  • Todos los sistemas de la arquitectura de implementación están configurados con la zona horaria UTC.

Configurar feeds desde Configuración de SIEM > Feeds

Puede usar Amazon S3 V2 o un webhook para configurar un feed de ingestión en Google SecOps.

Configurar un feed de ingestión con Amazon S3 V2

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir feed.
  3. Haga clic en el paquete de feeds JAMF.
  4. Busca el feed Jamf Protect Threat Events (Eventos de amenazas de Jamf Protect).
  5. Selecciona Amazon S3 V2 como Tipo de fuente.
  6. Especifique los valores de los siguientes campos.

    • URI de S3: el URI del segmento.
      • s3://your-log-bucket-name/
        • Sustituye your-log-bucket-name por el nombre real de tu segmento de S3.
    • Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras según tus preferencias de ingesta.
    • Antigüedad máxima del archivo: incluye los archivos modificados en los últimos días. El valor predeterminado es de 180 días.
    • ID de clave de acceso: clave de acceso del usuario con permisos para leer del segmento de S3.
    • Clave de acceso secreta: clave secreta del usuario con permisos para leer del segmento de S3.

    Opciones avanzadas

    • Nombre del feed: valor rellenado automáticamente que identifica el feed.
    • Espacio de nombres de recursos: espacio de nombres asociado al feed.
    • Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed.
  7. Haga clic en Crear feed.

Configurar un feed de ingestión mediante un webhook

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir feed.
  3. Haga clic en el paquete de feeds JAMF.
  4. Busca el feed Jamf Protect Threat Events (Eventos de amenazas de Jamf Protect).
  5. En la lista Tipo de origen, selecciona Webhook.
  6. Especifique los valores de los siguientes campos:
    • Delimitador de división: el delimitador que se usa para separar las líneas de registro, como \n.
    • Espacio de nombres de recursos: el espacio de nombres de recursos.
    • Etiquetas de ingestión: etiqueta que se aplicará a los eventos de este feed.
  7. Haga clic en Crear feed.

Para configurar varios feeds de distintos tipos de registro en esta familia de productos, consulte Configurar feeds por producto.

Crear una clave de API para un feed de webhook

  1. Ve a la Google Cloud consola > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y, a continuación, selecciona Clave de API.

  3. Restringe el acceso de la clave de API a la API Google Security Operations.

Configurar Jamf Security Cloud para un feed de webhook

  1. En la aplicación Jamf Security Cloud, ve a Integraciones > Flujos de datos.
  2. Haga clic en Nueva configuración.
  3. Selecciona Eventos de amenazas > HTTP genérico > Continuar.
  4. En la sección Configuración de conexión HTTP, selecciona https como protocolo predeterminado.
  5. Introduce el nombre de host de tu servidor en el campo Nombre de host o IP del servidor, como us-chronicle.googleapis.com.
  6. Introduce el puerto de tu servidor en el campo Puerto, como 443.
  7. Introduce tu endpoint web en el campo Endpoint (Endpoint). Este es el campo Información del endpoint que has copiado de la configuración del feed de webhook. Ya está en el formato requerido).
  8. En la sección Additional headers (Encabezados adicionales), introduce los siguientes ajustes. Cada encabezado es un encabezado personalizado que distingue entre mayúsculas y minúsculas y que debes introducir manualmente:

    • Nombre del encabezado: X-goog-api-key y haz clic en Crear opción X-goog-api-key.
    • Inserción del valor del encabezado: API_KEY (la clave de API para autenticarte en Google SecOps).
    • Nombre del encabezado: X-Webhook-Access-Key y haz clic en Crear opción X-Webhook-Access-Key.
    • Inserción del valor del encabezado: SECRET (la clave secreta que has generado para autenticar el feed).
  9. Haz clic en Probar configuración.

  10. Si se realiza correctamente, haz clic en Crear configuración.

Para obtener más información sobre los feeds de Google SecOps, consulta Crear y gestionar feeds con la interfaz de gestión de feeds. Para obtener información sobre los requisitos de cada tipo de feed, consulta la API de configuración de feeds.

Formatos de registro de eventos de amenazas de Jamf admitidos

El analizador de eventos de amenazas de Jamf admite registros en formato JSON.

Registros de ejemplo de eventos de amenazas de Jamf admitidos

  • 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"
      }
    }
    

Referencia de asignación de campos

En la siguiente tabla se explica cómo asigna el analizador de Google SecOps los campos de los registros de eventos de amenazas de Jamf a los campos del modelo de datos unificado (UDM) de Google SecOps.

Referencia de asignación de campos: identificador de evento a tipo de evento

En la siguiente tabla se enumeran los JAMF_THREAT_EVENTS tipos de registros y sus tipos de eventos de UDM correspondientes.

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

Referencia de asignación de campos: JAMF_THREAT_EVENTS

En la siguiente tabla se enumeran los campos de registro del tipo de registro JAMF_THREAT_EVENTS y sus campos de UDM correspondientes.
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
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]

Siguientes pasos

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.