Recoger registros de eventos de amenazas de Jamf
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
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- Haga clic en el paquete de feeds JAMF.
- Busca el feed Jamf Protect Threat Events (Eventos de amenazas de Jamf Protect).
- Selecciona Amazon S3 V2 como Tipo de fuente.
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.
- Sustituye
- 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.
- URI de S3: el URI del segmento.
Haga clic en Crear feed.
Configurar un feed de ingestión mediante un webhook
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- Haga clic en el paquete de feeds JAMF.
- Busca el feed Jamf Protect Threat Events (Eventos de amenazas de Jamf Protect).
- En la lista Tipo de origen, selecciona Webhook.
- 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.
- Delimitador de división: el delimitador que se usa para separar las líneas de registro, como
- 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
Ve a la Google Cloud consola > Credenciales.
Haz clic en Crear credenciales y, a continuación, selecciona Clave de API.
Restringe el acceso de la clave de API a la API Google Security Operations.
Configurar Jamf Security Cloud para un feed de webhook
- En la aplicación Jamf Security Cloud, ve a Integraciones > Flujos de datos.
- Haga clic en Nueva configuración.
- Selecciona Eventos de amenazas > HTTP genérico > Continuar.
- En la sección Configuración de conexión HTTP, selecciona https como protocolo predeterminado.
- Introduce el nombre de host de tu servidor en el campo Nombre de host o IP del servidor, como
us-chronicle.googleapis.com
. - Introduce el puerto de tu servidor en el campo Puerto, como
443
. - 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).
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).
Haz clic en Probar configuración.
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 losJAMF_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 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 |
|
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] |
Siguientes pasos
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.