Recopilar registros de Microsoft Sentinel
Información general
Este analizador extrae campos de los registros JSON de Microsoft Sentinel, realiza transformaciones como la extracción de direcciones IP y la manipulación de cadenas, y asigna los datos extraídos al UDM, incluidos los campos principal, target, security_result y metadata. También gestiona varios tipos de datos y combina las entidades extraídas en la estructura de UDM.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Instancia de Google SecOps.
- Acceso a Microsoft Sentinel.
Configurar feeds desde Configuración de SIEM > Feeds
Para configurar un feed, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- En la página siguiente, haga clic en Configurar un solo feed.
- En el campo Nombre del feed, introduce un nombre para el feed; por ejemplo, Registros de Microsoft Sentinel.
- Selecciona Webhook como Tipo de fuente.
- Seleccione Microsoft Sentinel como Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica los valores de los siguientes parámetros de entrada:
- Delimitador de división: el delimitador que se usa para separar las líneas de registro, como \n.
 
- Delimitador de división: el delimitador que se usa para separar las líneas de registro, como 
- Haz clic en Siguiente.
- Revise la configuración de la nueva fuente en la pantalla Finalizar y, a continuación, haga clic en Enviar.
- Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
- Copia y guarda la clave secreta, ya que no podrás volver a verla. Puedes volver a generar una clave secreta, pero si lo haces, la clave secreta anterior quedará obsoleta.
- En la pestaña Detalles, copia la URL del endpoint del feed del campo Información del endpoint. Debe especificar esta URL de endpoint en su aplicación cliente.
- Haz clic en Listo.
Crear una clave de API para la feed de webhook
- Ve a la consolaGoogle Cloud > 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 Chronicle. 
Especificar la URL del endpoint
- En tu aplicación cliente, especifica la URL del endpoint HTTPS proporcionada en el feed de webhook.
- Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado con el siguiente formato: - X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET- Recomendación: Especifica la clave de API como encabezado en lugar de hacerlo en la URL. Si tu cliente de webhook no admite encabezados personalizados, puedes especificar la clave de API y la clave secreta mediante parámetros de consulta con el siguiente formato: - ENDPOINT_URL?key=API_KEY&secret=SECRET
Haz los cambios siguientes:
- ENDPOINT_URL: URL del endpoint del feed.
- API_KEY: la clave de API para autenticarte en Google Security Operations.
- SECRET: la clave secreta que has generado para autenticar el feed.
Configurar una aplicación lógica para incidentes de Microsoft Sentinel
Para configurar Aplicación lógica para incidentes de Microsoft Sentinel, sigue estos pasos:
- Inicia sesión en Azure Portal.
- Haz clic en Crear un recurso.
- Busca Logic App.
- Haz clic en Crear para iniciar el proceso de creación.
- Especifique valores para los siguientes parámetros de entrada:
- Suscripción: selecciona la suscripción.
- Grupo de recursos: seleccione el grupo de recursos.
- Nombre: introduce un nombre para la aplicación lógica.
- Región: selecciona la región.
- Espacio de trabajo de Log Analytics: seleccione el espacio de trabajo de Log Analytics.
 
- Haz clic en Revisar y crear.
- Haz clic en Crear.
- Una vez creada la aplicación lógica, haz clic en Ir al recurso.
- Haz clic en Herramientas de desarrollo > Diseñador de aplicaciones lógicas.
- Haz clic en Añadir un activador.
- Busca Microsoft Sentinel.
- Selecciona Incidente de Microsoft Sentinel como activador.
- Si aún no has creado una conexión con Microsoft Sentinel, tendrás que hacerlo ahora. Haz clic en Crear nuevo y sigue las instrucciones para autenticarte.
- Haz clic en Insertar un paso nuevo.
- Haz clic en Añadir una acción.
- Busca y selecciona HTTP como acción.
- Especifique valores para los siguientes parámetros de entrada:
- URI: la URL del endpoint del feed.
- Método: POST
- Encabezados: añade los siguientes encabezados:
- Content-Type: application/json
- X-goog-api-key: la clave de API para autenticarte en Google Security Operations.
- X-Webhook-Access-Key: la clave secreta que has generado para autenticar el feed.
 
 
Configurar una aplicación lógica para las alertas de Microsoft Sentinel
Para configurar Logic App for Microsoft Sentinel Alerts, siga estos pasos:
- Ve a la página principal de Azure Portal.
- Haz clic en Crear un recurso.
- Busca Logic App.
- Haz clic en Crear para iniciar el proceso de creación.
- Especifique valores para los siguientes parámetros de entrada:
- Suscripción: selecciona la suscripción.
- Grupo de recursos: seleccione el grupo de recursos.
- Nombre: introduce un nombre para la aplicación lógica.
- Región: selecciona la región.
- Espacio de trabajo de Log Analytics: seleccione el espacio de trabajo de Log Analytics.
 
- Haz clic en Revisar y crear.
- Haz clic en Crear.
- Una vez creada la aplicación lógica, haz clic en Ir al recurso.
- Haz clic en Herramientas de desarrollo > Diseñador de aplicaciones lógicas.
- Haz clic en Añadir un activador.
- Busca Microsoft Sentinel.
- Seleccione Alerta de Microsoft Sentinel como activador.
- Si aún no has creado una conexión con Microsoft Sentinel, tendrás que hacerlo ahora. Haz clic en Crear nuevo y sigue las instrucciones para autenticarte.
- Haz clic en Insertar un paso nuevo.
- Haz clic en Añadir una acción.
- Busca y selecciona HTTP como acción.
- Especifique valores para los siguientes parámetros de entrada:
- URI: la URL del endpoint del feed.
- Método: POST
- Encabezados: añade los siguientes encabezados:
- Content-Type: application/json
- X-goog-api-key: la clave de API para autenticarte en Google Security Operations.
- X-Webhook-Access-Key: la clave secreta que has generado para autenticar el feed.
 
 
Configurar reglas de automatización en Microsoft Sentinel
Para configurar reglas de automatización en Microsoft Sentinel, sigue estos pasos:
- Ve a tu espacio de trabajo de Microsoft Sentinel.
- Haga clic en Configuración > Automatización.
- Haz clic en Crear.
- Selecciona Regla de automatización.
- Especifique valores para los siguientes parámetros de entrada:
- Nombre: introduce un nombre para la regla de automatización.
- Activador: selecciona Cuando se crea un incidente.
- Acciones: selecciona Ejecutar guía > Aplicación lógica creada para incidencias.
 
- Haz clic en Aplicar.
- Haz clic en Crear.
- Selecciona Regla de automatización.
- Especifique valores para los siguientes parámetros de entrada:
- Nombre: introduce un nombre para la regla de automatización.
- Activador: selecciona Cuando se actualice el incidente.
- Condición: haz clic en Añadir > Condición (Y) > Estado > Cambiado.
- Acciones: selecciona Ejecutar guía > Aplicación lógica creada para incidencias.
 
- Haz clic en Aplicar.
- Haz clic en Crear.
- Selecciona Regla de automatización.
- Especifique valores para los siguientes parámetros de entrada:
- Nombre: introduce un nombre para la regla de automatización.
- Activador: selecciona Cuando se cree la alerta.
- Acciones: selecciona Ejecutar guía > Aplicación lógica creada para alertas.
 
- Haz clic en Aplicar.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica | 
|---|---|---|
| AlertGenerationStatus | security_result.detection_fields.AlertGenerationStatus | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| AlertLink | principal.labels.AlertLink | Asignación directa. | 
| AlertName | security_result.rule_name | Asignación directa. | 
| AlertSeverity | security_result.severity | Se asigna directamente y se convierte a mayúsculas. Si el valor es HIGH, MEDIUM, LOW, CRITICAL o UNKNOWN_SEVERITY, se asigna a security_result.severity. De lo contrario, se asigna asecurity_result.severity_details. | 
| AlertType | security_result.threat_name | Asignación directa. | 
| Category | security_result.detection_fields.Category | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| CompromisedEntity | principal.resource.attribute.labels.CompromisedEntity | Asignación directa. | 
| CompromisedEntityId | security_result.detection_fields.CompromisedEntityId | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| ConfidenceLevel | security_result.confidence_details | Asignación directa. | 
| ConfidenceScore | security_result.detection_fields.ConfidenceScore | Asignación directa. | 
| cribl_pipe | additional.fields.cribl_pipe | Asignación directa. | 
| Description | security_result.description | Asignación directa. | 
| DestinationDevice | security_result.detection_fields.DestinationDeviceOtarget.ip | Se asigna desde el campo ExtendedPropertiesdespués de analizar el JSON. Si el valor es una dirección IP válida, se asigna atarget.ip. De lo contrario, se asigna como campo de detección. | 
| DestinationDeviceAddress | target.ip | Se asigna desde el campo ExtendedPropertiesdespués de analizar el JSON, solo si es una dirección IP válida. | 
| DeviceId | security_result.detection_fields.DeviceId | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| DisplayName | security_result.summary | Asignación directa. | 
| EndTime | about.labels.EndTime | Asignación directa. | 
| Entities.Address | principal.asset.ip | Se extrae de la matriz Entitiesdespués de analizar el JSON.  Solo se asignan direcciones IP. | 
| Entities.HostName | principal.asset.hostnameOprincipal.asset.ip | Se extrae de la matriz Entitiesdespués de analizar el JSON. Si el valor es una dirección IP válida, se asigna aprincipal.asset.ip. De lo contrario, se asigna aprincipal.asset.hostname. | 
| Entities.IoTDevice.DeviceId | security_result.detection_fields.IoTDeviceID | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.DeviceType | security_result.detection_fields.IoTDeviceType | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.DeviceTypeId | security_result.detection_fields.IoTDeviceTypeId | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.Importance | security_result.detection_fields.IoTDeviceImportance | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.IoTSecurityAgentId | security_result.detection_fields.IoTSecurityAgentId | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.Manufacturer | security_result.detection_fields.IoT Manufacturer | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.OperatingSystem | principal.asset.platform_software.platform_version | Se extrae de la matriz Entitiesdespués de analizar el JSON y se eliminan los espacios finales. | 
| Entities.IoTDevice.PurdueLayer | security_result.detection_fields.IoT PurdueLayer | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| Entities.IoTDevice.Sensor | security_result.detection_fields.IoT Sensor | Se extrae de la matriz Entitiesdespués de analizar el JSON. | 
| ExtendedProperties.Protocol | security_result.detection_fields.Protocol | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| ExtendedProperties.SensorId | security_result.detection_fields.SensorId | Se asigna directamente desde el campo ExtendedPropertiesdespués de analizar el JSON. | 
| ExtendedProperties.SourceDevice | principal.ipOsecurity_result.detection_fields.SourceDevice | Se asigna desde el campo ExtendedPropertiesdespués de analizar el JSON. Si el valor es una dirección IP válida, se asigna aprincipal.ip. De lo contrario, se asigna como campo de detección. | 
| ExtendedProperties.SourceDeviceAddress | principal.ip | Se asigna desde el campo ExtendedPropertiesdespués de analizar el JSON, solo si es una dirección IP válida. | 
| IsIncident | security_result.detection_fields.IsIncident | Asignado directamente y convertido en cadena. | 
| ProcessingEndTime | about.labels.ProcessingEndTime | Asignación directa. | 
| ProductComponentName | principal.resource.attribute.labels.ProductComponentName | Asignación directa. | 
| ProductName | principal.resource.attribute.labels.ProductName | Asignación directa. | 
| ProviderName | principal.resource.attribute.labels.ProviderName | Asignación directa. | 
| ResourceId | principal.resource.product_object_id,target.resource.name | Asignación directa. | 
| SourceComputerId | principal.asset.asset_id | Asignado directamente, con el prefijo "SourceComputerId:". | 
| SourceSystem | security_result.detection_fields.SourceSystem | Asignación directa. | 
| StartTime | about.labels.StartTime | Asignación directa. | 
| Status | security_result.detection_fields.Status | Asignación directa. | 
| SystemAlertId | metadata.product_log_id | Asignación directa. | 
| Tactics | security_result.attack_details.tactics.name | Se extrae del campo Tacticsdespués de analizar el JSON y eliminar las barras invertidas. | 
| Techniques | security_result.attack_details.techniques.id | Se extrae del campo Techniquesdespués de analizar el JSON y eliminar las barras invertidas. | 
| TenantId | additional.fields.TenantId | Asignación directa. | 
| TimeGenerated | about.labels.TimeGenerated | Asignación directa. | 
| timestamp | metadata.event_timestamp,events.timestamp | Asignación directa. | 
| VendorName | metadata.vendor_name | Asignación directa. | 
| VendorOriginalId | additional.fields.VendorOriginalId | Asignación directa. | 
| _time | metadata.event_timestamp,events.timestamp | Se analiza como una marca de tiempo con el formato UNIX o UNIX_MS. | 
| (Lógica del analizador) | metadata.event_type | Se define como "USER_RESOURCE_ACCESS" si están presentes principal, target y ResourceId. De lo contrario, se asigna el valor "GENERIC_EVENT". | 
| (Lógica del analizador) | metadata.log_type | Asigna el valor "MICROSOFT_SENTINEL". | 
| (Lógica del analizador) | metadata.product_name | Asigna el valor "MICROSOFT_SENTINEL". | 
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.