Recopila registros de eventos de amenazas de Jamf
En este documento, se describe cómo puedes recopilar registros de eventos de amenazas de Jamf configurando un feed de Google Security Operations y cómo los campos de registro se asignan a los campos del modelo de datos unificado (UDM) de Google SecOps. En este documento, también se indica la versión compatible de los eventos de amenazas de Jamf.
Para obtener más información, consulta Ingesta de datos en Google SecOps.
Una implementación típica consta de eventos de amenazas de Jamf y el feed de Google SecOps configurado para enviar registros a Google SecOps. Cada implementación del cliente puede ser diferente y más compleja.
La implementación contiene los siguientes componentes:
Jamf Protect: Es la plataforma de Jamf Protect, configurada con Jamf Security Cloud, en la que recopilas registros de amenazas de red.
Feed de Google SecOps: Es el feed de Google SecOps que recupera registros de Jamf Protect y los escribe en Google SecOps.
Google SecOps: Google SecOps retiene y analiza los registros de Jamf Protect.
Una etiqueta de transferencia 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 transferencia JAMF_THREAT_EVENTS
.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Configuración de Jamf Protect Telemetry
- Jamf Protect, versión 4.0.0 o posterior
- Todos los sistemas de la arquitectura de implementación están configurados con la zona horaria UTC.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
- Centro de contenido > Paquetes de contenido
Configura feeds desde Configuración del SIEM > Feeds
Puedes usar Amazon S3 o un webhook para configurar un feed de transferencia en Google SecOps, pero te recomendamos que uses Amazon S3.
Configura un feed de transferencia con Amazon S3
Para configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Cómo configurar feeds por producto.
Para configurar un solo feed, sigue estos pasos:
- Ve a SIEM Settings > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de eventos de amenazas de Jamf.
- Selecciona Amazon S3 como el Tipo de fuente.
- Para crear un feed para los eventos de amenazas de Jamf, selecciona Jamf Protect Threat Events como el Tipo de registro.
- Haz clic en Siguiente.
- Guarda el feed y, luego, haz clic en Enviar.
- Copia el ID del feed del nombre del feed para usarlo en Jamf Threat Events.
Configura un feed de transferencia con un webhook
Solo para clientes unificados de Google Security Operations:
Para configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Cómo configurar varios feeds.
Para todos los clientes:
Para configurar un solo feed, sigue estos pasos:
- Ve a SIEM Settings > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed. Omite este paso si usas la plataforma independiente de SIEM de Google SecOps.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de eventos de amenazas de Jamf.
- En la lista Tipo de fuente, selecciona Webhook.
- Para crear un feed para los eventos de amenazas de Jamf, selecciona Jamf Protect Threat Events como el Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
\n
. - Espacio de nombres del recurso: Es el espacio de nombres del recurso.
- Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
- Haz clic en Siguiente.
- Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
- Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
- Copia y almacena la clave secreta, ya que no podrás volver a verla. Puedes volver a generar una clave secreta nueva, pero la regeneración de la clave secreta hace que la clave secreta anterior quede obsoleta.
- En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en la aplicación Jamf Threat Events.
- Haz clic en Listo.
- Especifica la URL del extremo en Jamf Threat Events.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3://your-log-bucket-name/
- Reemplaza
your-log-bucket-name
por el nombre real de tu bucket de S3.
- Reemplaza
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios, según la estructura de tu bucket.
- Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.
Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del recurso: Espacio de nombres asociado al feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Crea una clave de API para un feed de webhook
Ve a Google Cloud consola > Credenciales.
Haz clic en Crear credenciales y selecciona Clave de API.
Restringe el acceso a la clave de API a la API de Google Security Operations.
Configura Jamf Security Cloud para un feed de webhook
- En la aplicación de Jamf Security Cloud, ve a Integrations > Data Streams.
- Haz clic en Configuración nueva.
- Selecciona Threat Events > Generic HTTP > Continue.
- En la sección Configuración de conexión HTTP, selecciona https como el protocolo predeterminado.
- Ingresa el nombre de host de tu servidor en el campo Nombre de host o IP del servidor, como
us-chronicle.googleapis.com
. - Ingresa el puerto del servidor en el campo Puerto, como
443
. - Ingresa tu extremo web en el campo Extremo. (Este es el campo Endpoint Information que copiaste de la configuración del feed de webhook. Ya está en el formato requerido.
En la sección Encabezados adicionales, ingresa los siguientes parámetros de configuración, en los que cada encabezado es personalizado y distingue mayúsculas de minúsculas, y que ingresas de forma manual:
- Nombre del encabezado: X-goog-api-key y haz clic en Create option X-goog-api-key.
- Inserción del valor del encabezado: API_KEY (la clave de API para autenticarse en Google SecOps)
- Nombre del encabezado: X-Webhook-Access-Key y haz clic en Create option X-Webhook-Access-Key
- Inserción del valor del encabezado: SECRET (la clave secreta que generaste para autenticar el feed)
Haz clic en Test Configuration.
Si la operación se realiza correctamente, haz clic en Crear configuración.
Para obtener más información sobre los feeds de Google SecOps, consulta Crea y administra feeds con la IU de administració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 Jamf Threat Events admite registros en formato JSON.
Registros de muestra 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 la asignación de campos
En la siguiente tabla, se explica cómo el analizador de Google SecOps asigna 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: Del identificador de evento al tipo de evento
En la siguiente tabla, se enumeran los tipos de registros deJAMF_THREAT_EVENTS
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 registroJAMF_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 |
|
|
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] |
¿Qué sigue?
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.