Recopila registros de Microsoft Defender para la identidad
En este documento, se explica cómo transferir los registros de Microsoft Defender for Identity a Google Security Operations con Azure Storage. El analizador procesa registros JSON o registros con formato CEF si falla el análisis de JSON. Extrae campos, realiza transformaciones de datos, como conversiones, cambios de nombre y combinaciones de cadenas, y los asigna al modelo de datos unificado (UDM), controlando varios formatos de registro y enriqueciendo los datos con contexto adicional, como etiquetas y detalles de autenticación.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Usuario activo de Azure
- Acceso con privilegios a Azure y rol de administrador de seguridad
Configura la cuenta de Azure Storage
- En la consola de Azure, busca Cuentas de almacenamiento.
- Haz clic en Crear.
- Especifica valores para los siguientes parámetros de entrada:
- Suscripción: Selecciona la suscripción.
- Grupo de recursos: Selecciona el grupo de recursos.
- Región: Selecciona la región.
- Rendimiento: Selecciona el tipo de rendimiento (se recomienda Estándar).
- Redundancia: Selecciona el tipo de redundancia (se recomienda GRS o LRS).
- Nombre de la cuenta de almacenamiento: Ingresa un nombre para la nueva cuenta de almacenamiento.
- Haz clic en Revisar + crear.
- Revisa el resumen de la cuenta y haz clic en Crear.
- En la página Descripción general de la cuenta de almacenamiento, selecciona el submenú Claves de acceso en Seguridad y redes.
- Haz clic en Mostrar junto a key1 o key2.
- Haz clic en Copiar en el portapapeles para copiar la clave.
- Guarda la llave en un lugar seguro para consultarla en el futuro.
- En la página Información general de la cuenta de almacenamiento, selecciona el submenú Extremos en Configuración.
- Haz clic en Copiar al portapapeles para copiar la URL del extremo del servicio Blob. (Por ejemplo,
https://<storageaccountname>.blob.core.windows.net
) - Guarda la URL del extremo en una ubicación segura para consultarla en el futuro.
- Ve a Overview > JSON View.
- Copia y guarda el ID del recurso de Storage.
Configura la exportación de registros para Microsoft Defender para la identidad
- Accede al Portal de Defender con una cuenta con privilegios.
- Ve a Configuración.
- Selecciona la pestaña Microsoft Defender XDR.
- Selecciona API de transmisión en la sección general y haz clic en Agregar.
- Selecciona Reenvía eventos a Azure Storage.
- Proporciona los siguientes detalles de configuración:
- Nombre: Ingresa un nombre único y significativo.
- Selecciona Reenvía eventos a Azure Storage.
- ID de recurso de la cuenta de almacenamiento: Ingresa el ID de recurso de Azure Storage que copiaste antes.
- Tipos de eventos: Selecciona Alertas y comportamientos y Dispositivos.
- Haz clic en Enviar.
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 en Configuración del SIEM > Feeds
Para configurar un 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 identidad de Defender).
- Selecciona Microsoft Azure Blob Storage como el Tipo de fuente.
- Selecciona Microsoft Defender for Identity como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAME
Reemplaza lo siguiente:
ENDPOINT_URL
: Es la URL del extremo del blob. (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: Es el nombre del blob. (comoinsights-logs-<logname>
)
URI is a: Selecciona según la configuración de la transmisión de registros (Single file | Directory | Directory which includes subdirectories).
Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- Clave compartida: Es la clave de acceso a Azure Blob Storage.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAME
Reemplaza lo siguiente:
ENDPOINT_URL
: Es la URL del extremo del blob. (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: Es el nombre del blob. (comoinsights-logs-<logname>
)- URI is a: Selecciona según la configuración de la transmisión de registros (Single file | Directory | Directory which includes subdirectories).
- Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
Clave compartida: Es la clave de acceso a Azure Blob Storage.
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 activo: Es el espacio de nombres asociado con el feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
category |
metadata.log_type |
El campo category del registro sin procesar se asigna a metadata.log_type . |
properties.AccountDisplayName |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AccountName |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AccountUpn |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.ActionType |
metadata.product_event_type |
El campo properties.ActionType del registro sin procesar se asigna a metadata.product_event_type . |
properties.AdditionalFields.ACTOR.ACCOUNT |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.ACTOR.DEVICE |
principal.asset.asset_id |
El analizador extrae el valor de properties.AdditionalFields.ACTOR.DEVICE y antepone ASSET ID: . |
properties.AdditionalFields.ACTOR.ENTITY_USER |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.Count |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.DestinationComputerDnsName |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.DestinationComputerObjectGuid |
target.asset.product_object_id |
El primer elemento del array properties.AdditionalFields.DestinationComputerObjectGuid se asigna a target.asset.product_object_id . Los elementos posteriores se asignan a additional.fields con claves como DestinationComputerObjectGuid_1 , DestinationComputerObjectGuid_2 , etcétera. |
properties.AdditionalFields.DestinationComputerOperatingSystem |
target.asset.platform_software.platform_version |
El primer elemento del array properties.AdditionalFields.DestinationComputerOperatingSystem se asigna a target.asset.platform_software.platform_version . Los elementos posteriores se asignan a additional.fields con claves como DestinationComputerOperatingSystem_1 , DestinationComputerOperatingSystem_2 , etcétera. |
properties.AdditionalFields.DestinationComputerOperatingSystemType |
target.asset.platform_software.platform |
Si el valor es windows , el campo del UDM se establece en WINDOWS . |
properties.AdditionalFields.DestinationComputerOperatingSystemVersion |
target.platform_version |
El primer elemento del array properties.AdditionalFields.DestinationComputerOperatingSystemVersion se asigna a target.platform_version . Los elementos posteriores se asignan a additional.fields con claves como DestinationComputerOperatingSystemVersion1 , DestinationComputerOperatingSystemVersion2 , etcétera. |
properties.AdditionalFields.FROM.DEVICE |
principal.asset.asset_id |
El analizador extrae el valor de properties.AdditionalFields.FROM.DEVICE y antepone ASSET ID: . |
properties.AdditionalFields.KerberosDelegationType |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.SourceAccountId |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.SourceAccountSid |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.SourceComputerObjectGuid |
principal.asset.product_object_id |
El campo properties.AdditionalFields.SourceComputerObjectGuid del registro sin procesar se asigna a principal.asset.product_object_id . |
properties.AdditionalFields.SourceComputerOperatingSystem |
principal.asset.platform_software.platform_version |
El campo properties.AdditionalFields.SourceComputerOperatingSystem del registro sin procesar se asigna a principal.asset.platform_software.platform_version . |
properties.AdditionalFields.SourceComputerOperatingSystemType |
principal.asset.platform_software.platform_version |
Si el valor es windows , el campo del UDM se establece en WINDOWS . |
properties.AdditionalFields.SourceComputerOperatingSystemVersion |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.Spns |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.TARGET_OBJECT.ENTITY_USER |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.AdditionalFields.TARGET_OBJECT.USER |
target.user.userid |
El primer elemento del array properties.AdditionalFields.TARGET_OBJECT.USER se asigna a target.user.userid . Los elementos posteriores se asignan a additional.fields con claves como TARGET_OBJECT.USER_1 , TARGET_OBJECT.USER_2 , etcétera. |
properties.AdditionalFields.TO.DEVICE |
target.asset.asset_id |
El primer elemento del array properties.AdditionalFields.TO.DEVICE se asigna a target.asset.asset_id con ASSET ID: antepuesto. Los elementos posteriores se asignan a additional.fields con claves como TODEVICE1 , TODEVICE2 , etcétera. |
properties.AuthenticationDetails |
extensions.auth.auth_details |
El analizador quita las llaves, los corchetes y las comillas dobles del valor, y antepone AuthenticationDetails: . |
properties.DeliveryAction |
additional.fields |
Se asignó con la clave DeliveryAction . |
properties.DeliveryLocation |
additional.fields |
Se asignó con la clave DeliveryLocation . |
properties.DestinationDeviceName |
target.hostname , target.asset.hostname |
El campo properties.DestinationDeviceName del registro sin procesar se asigna a target.hostname y target.asset.hostname . |
properties.DestinationIPAddress |
target.ip , target.asset.ip |
El campo properties.DestinationIPAddress del registro sin procesar se asigna a target.ip y target.asset.ip . |
properties.DestinationPort |
target.port |
El campo properties.DestinationPort del registro sin procesar se asigna a target.port . |
properties.DeviceName |
principal.hostname , principal.asset.hostname |
El campo properties.DeviceName del registro sin procesar se asigna a principal.hostname y principal.asset.hostname . |
properties.EmailClusterId |
additional.fields |
Se asignó con la clave EmailClusterId . |
properties.EmailDirection |
network.direction |
Si el valor es Inbound , el campo del UDM se establece en INBOUND . Si el valor es Outbound , el campo del UDM se establece en OUTBOUND . De lo contrario, se establece como UNKNOWN_DIRECTION . |
properties.EmailLanguage |
additional.fields |
Se asignó con la clave EmailLanguage . |
properties.InitiatingProcessAccountDomain |
principal.administrative_domain |
El campo properties.InitiatingProcessAccountDomain del registro sin procesar se asigna a principal.administrative_domain . |
properties.InitiatingProcessAccountSid |
principal.user.windows_sid |
El campo properties.InitiatingProcessAccountSid del registro sin procesar se asigna a principal.user.windows_sid . |
properties.InitiatingProcessCommandLine |
principal.process.command_line |
El campo properties.InitiatingProcessCommandLine del registro sin procesar se asigna a principal.process.command_line . |
properties.InitiatingProcessFileName |
principal.process.file.full_path |
Se usa en combinación con properties.InitiatingProcessFolderPath para construir la ruta de acceso completa. Si properties.InitiatingProcessFolderPath ya contiene el nombre del archivo, se usa directamente. |
properties.InitiatingProcessFolderPath |
principal.process.file.full_path |
Se usa en combinación con properties.InitiatingProcessFileName para construir la ruta de acceso completa. |
properties.InitiatingProcessId |
principal.process.pid |
El campo properties.InitiatingProcessId del registro sin procesar se asigna a principal.process.pid . |
properties.InitiatingProcessIntegrityLevel |
about.labels |
Se asignó con la clave InitiatingProcessIntegrityLevel . |
properties.InitiatingProcessMD5 |
principal.process.file.md5 |
El campo properties.InitiatingProcessMD5 del registro sin procesar se asigna a principal.process.file.md5 . |
properties.InitiatingProcessParentId |
principal.process.parent_process.pid |
El campo properties.InitiatingProcessParentId del registro sin procesar se asigna a principal.process.parent_process.pid . |
properties.InitiatingProcessParentFileName |
principal.process.parent_process.file.full_path |
El campo properties.InitiatingProcessParentFileName del registro sin procesar se asigna a principal.process.parent_process.file.full_path . |
properties.InitiatingProcessSHA1 |
principal.process.file.sha1 |
El campo properties.InitiatingProcessSHA1 del registro sin procesar se asigna a principal.process.file.sha1 . |
properties.InitiatingProcessSHA256 |
principal.process.file.sha256 |
El campo properties.InitiatingProcessSHA256 del registro sin procesar se asigna a principal.process.file.sha256 . |
properties.InitiatingProcessTokenElevation |
about.labels |
Se asignó con la clave InitiatingProcessTokenElevation . |
properties.InternetMessageId |
additional.fields |
El analizador quita los corchetes angulares y asigna el valor con la clave InternetMessageId . |
properties.IPAddress |
principal.ip , principal.asset.ip |
El campo properties.IPAddress del registro sin procesar se asigna a principal.ip y principal.asset.ip . |
properties.LogonType |
extensions.auth.mechanism |
Se usa para derivar el valor de extensions.auth.mechanism . |
properties.Port |
principal.port |
El campo properties.Port del registro sin procesar se asigna a principal.port . |
properties.PreviousRegistryKey |
src.registry.registry_key |
El campo properties.PreviousRegistryKey del registro sin procesar se asigna a src.registry.registry_key . |
properties.PreviousRegistryValueData |
src.registry.registry_value_data |
El campo properties.PreviousRegistryValueData del registro sin procesar se asigna a src.registry.registry_value_data . |
properties.PreviousRegistryValueName |
src.registry.registry_value_name |
El campo properties.PreviousRegistryValueName del registro sin procesar se asigna a src.registry.registry_value_name . |
properties.Query |
principal.user.attribute.labels |
Se asignó con la clave LDAP Search Scope . |
properties.RecipientEmailAddress |
Sin asignar | Este campo no se asigna al objeto IDM en el UDM. |
properties.RegistryKey |
target.registry.registry_key |
El campo properties.RegistryKey del registro sin procesar se asigna a target.registry.registry_key . |
properties.RegistryValueData |
target.registry.registry_value_data |
El campo properties.RegistryValueData del registro sin procesar se asigna a target.registry.registry_value_data . |
properties.RegistryValueName |
target.registry.registry_value_name |
El campo properties.RegistryValueName del registro sin procesar se asigna a target.registry.registry_value_name . |
properties.ReportId |
about.labels |
Se asignó con la clave ReportId . |
properties.SenderIPv4 |
principal.ip , principal.asset.ip |
El campo properties.SenderIPv4 del registro sin procesar se asigna a principal.ip y principal.asset.ip . |
properties.SenderMailFromAddress |
principal.user.attribute.labels |
Se asignó con la clave SenderMailFromAddress . |
properties.SenderMailFromDomain |
principal.user.attribute.labels |
Se asignó con la clave SenderMailFromDomain . |
properties.SenderObjectId |
principal.user.product_object_id |
El campo properties.SenderObjectId del registro sin procesar se asigna a principal.user.product_object_id . |
properties.Timestamp |
metadata.event_timestamp |
El campo properties.Timestamp del registro sin procesar se asigna a metadata.event_timestamp . |
tenantId |
observer.cloud.project.id |
El campo tenantId del registro sin procesar se asigna a observer.cloud.project.id . |
N/A | extensions.auth.type |
El analizador asigna el valor MACHINE . |
N/A | metadata.event_type |
Se deriva de los campos category y properties.ActionType . Puede ser USER_LOGIN , USER_RESOURCE_ACCESS , USER_CHANGE_PASSWORD , REGISTRY_MODIFICATION , REGISTRY_DELETION , REGISTRY_CREATION , GENERIC_EVENT o STATUS_UPDATE . |
N/A | metadata.vendor_name |
El analizador asigna el valor Microsoft . |
N/A | metadata.product_name |
El analizador asigna el valor Microsoft Defender Identity . |
cs1 |
metadata.url_back_to_product |
El campo cs1 del registro sin procesar se asigna a metadata.url_back_to_product . |
externalId |
metadata.product_log_id |
El campo externalId del registro sin procesar se asigna a metadata.product_log_id . |
msg |
metadata.description |
El campo msg del registro sin procesar se asigna a metadata.description . |
rule_name |
security_result.rule_name |
El campo rule_name del registro sin procesar se asigna a security_result.rule_name . |
severity |
security_result.severity |
El campo severity del registro sin procesar se asigna a security_result.severity . |
shost |
principal.hostname , principal.asset.hostname |
El campo shost del registro sin procesar se asigna a principal.hostname y principal.asset.hostname . |
src |
principal.ip |
El campo src del registro sin procesar se asigna a principal.ip . |
suser |
principal.user.user_display_name |
El campo suser del registro sin procesar se asigna a principal.user.user_display_name . |
time |
metadata.event_timestamp |
El campo time del registro sin procesar se asigna a metadata.event_timestamp . |
userid |
principal.user.userid |
El campo userid del registro sin procesar se asigna a principal.user.userid . |
N/A | security_result.action |
Se deriva del campo properties.ActionType . Puede ser ALLOW o BLOCK . |
N/A | security_result.summary |
Se deriva del campo category o del campo properties.ActionType . |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.