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 ExtendedProperties despué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 a security_result.severity_details . |
AlertType |
security_result.threat_name |
Asignación directa. |
Category |
security_result.detection_fields.Category |
Se asigna directamente desde el campo ExtendedProperties despué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 ExtendedProperties despué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.DestinationDevice O target.ip |
Se asigna desde el campo ExtendedProperties después de analizar el JSON. Si el valor es una dirección IP válida, se asigna a target.ip . De lo contrario, se asigna como campo de detección. |
DestinationDeviceAddress |
target.ip |
Se asigna desde el campo ExtendedProperties despué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 ExtendedProperties despué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 Entities después de analizar el JSON. Solo se asignan direcciones IP. |
Entities.HostName |
principal.asset.hostname O principal.asset.ip |
Se extrae de la matriz Entities después de analizar el JSON. Si el valor es una dirección IP válida, se asigna a principal.asset.ip . De lo contrario, se asigna a principal.asset.hostname . |
Entities.IoTDevice.DeviceId |
security_result.detection_fields.IoTDeviceID |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.DeviceType |
security_result.detection_fields.IoTDeviceType |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.DeviceTypeId |
security_result.detection_fields.IoTDeviceTypeId |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.Importance |
security_result.detection_fields.IoTDeviceImportance |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.IoTSecurityAgentId |
security_result.detection_fields.IoTSecurityAgentId |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.Manufacturer |
security_result.detection_fields.IoT Manufacturer |
Se extrae de la matriz Entities después de analizar el JSON. |
Entities.IoTDevice.OperatingSystem |
principal.asset.platform_software.platform_version |
Se extrae de la matriz Entities despué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 Entities después de analizar el JSON. |
Entities.IoTDevice.Sensor |
security_result.detection_fields.IoT Sensor |
Se extrae de la matriz Entities después de analizar el JSON. |
ExtendedProperties.Protocol |
security_result.detection_fields.Protocol |
Se asigna directamente desde el campo ExtendedProperties después de analizar el JSON. |
ExtendedProperties.SensorId |
security_result.detection_fields.SensorId |
Se asigna directamente desde el campo ExtendedProperties después de analizar el JSON. |
ExtendedProperties.SourceDevice |
principal.ip O security_result.detection_fields.SourceDevice |
Se asigna desde el campo ExtendedProperties después de analizar el JSON. Si el valor es una dirección IP válida, se asigna a principal.ip . De lo contrario, se asigna como campo de detección. |
ExtendedProperties.SourceDeviceAddress |
principal.ip |
Se asigna desde el campo ExtendedProperties despué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 Tactics después de analizar el JSON y eliminar las barras invertidas. |
Techniques |
security_result.attack_details.techniques.id |
Se extrae del campo Techniques despué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.