Recopilar registros de LAPS de Microsoft
En este documento se explica cómo ingerir los registros de Microsoft LAPS (Local Administrator Password Solution) en Google Security Operations mediante Bindplane. El analizador primero extrae los datos con formato JSON del campo message
y, a continuación, analiza el campo EventData
del JSON extraído. A continuación, asigna los campos extraídos al esquema del modelo de datos unificado (UDM), clasifica el tipo de evento en función del EventId
y, por último, combina todos los datos procesados en el evento de salida.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Instancia de Google SecOps
- Si se ejecuta a través de un proxy, los puertos del cortafuegos están abiertos.
- Acceso privilegiado a un servidor Microsoft Windows con LAPS
Obtener el archivo de autenticación de ingestión de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recogida.
- Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.
Obtener el ID de cliente de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instalar el agente de Bindplane
Instalación de ventanas
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Recursos de instalación adicionales
Para ver más opciones de instalación, consulta la guía de instalación.
Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps
- Accede al archivo de configuración:
- Busca el archivo
config.yaml
. Normalmente, se encuentra en el directorio de instalación en Windows. - Abre el archivo con un editor de texto (por ejemplo, el Bloc de notas).
- Busca el archivo
Edita el archivo
config.yaml
de la siguiente manera:receivers: windowseventlog/laps_operational: channel: Microsoft-Windows-LAPS/Operational max_reads: 100 poll_interval: 5s raw: true start_at: end processors: batch: exporters: chronicle/laps: # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'WINDOWS_LAPS' override_log_type: false raw_log_field: body service: pipelines: logs/laps: receivers: - windowseventlog/laps_operational processors: [batch] exporters: [chronicle/laps]
Sustituye
<customer_id>
por el ID de cliente real.Actualiza
/path/to/ingestion-authentication-file.json
a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar LAPS de Microsoft Windows
- Escribe
eventvwr.msc
en una petición de comando elevada y pulsa ENTRAR para abrir el Visor de eventos. - Ve a Registros de aplicaciones y servicios > Microsoft > Windows > LAPS.
- Despliega LAPS.
- Haz clic con el botón derecho en LAPS y, a continuación, en Propiedades.
- Selecciona la casilla Habilitar registro.
- Haz clic en Aceptar cuando se te pregunte si el registro está habilitado.
- Haz clic en Aceptar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
Canal | read_only_udm.additional.fields.key | El valor se toma del campo Channel del registro sin procesar y se asigna al campo key . |
Canal | read_only_udm.additional.fields.value.string_value | El valor se toma del campo Channel del registro sin procesar y se asigna al campo string_value . |
Ordenador | read_only_udm.principal.hostname | El valor se toma del campo Computer del registro sin procesar. |
Ordenador | read_only_udm.principal.asset.hostname | El valor se toma del campo Computer del registro sin procesar. |
EventData.%1 | read_only_udm.additional.fields.value.string_value | El valor se toma del campo EventData.%1 del registro sin procesar y se asigna al campo string_value . |
EventId | read_only_udm.metadata.product_event_type | El valor se toma del campo EventId del registro sin procesar. |
EventId | read_only_udm.security_result.rule_name | El valor se toma del campo EventId del registro sin procesar y se añade a EventID: . |
EventRecordID | read_only_udm.metadata.product_log_id | El valor se toma del campo EventRecordID del registro sin procesar. |
Palabras clave | read_only_udm.additional.fields.key | El valor se toma del campo Keywords del registro sin procesar y se asigna al campo key . |
Palabras clave | read_only_udm.additional.fields.value.string_value | El valor se toma del campo Keywords del registro sin procesar y se asigna al campo string_value . |
Nivel | read_only_udm.security_result.severity | El valor se toma del campo Level del registro sin procesar y se asigna a INFORMATIONAL para INFO , Informational , Information , Normal y NOTICE ; ERROR para ERROR y Error ; y CRITICAL para Critical . |
Código de operación | read_only_udm.additional.fields.key | El valor se toma del campo Opcode del registro sin procesar y se asigna al campo key . |
Código de operación | read_only_udm.additional.fields.value.string_value | El valor se toma del campo Opcode del registro sin procesar y se asigna al campo string_value . |
ProcessID | read_only_udm.principal.process.pid | El valor se toma del campo ProcessID del registro sin procesar. |
ProviderName | read_only_udm.metadata.product_name | El valor se toma del campo ProviderName del registro sin procesar. |
Tarea | read_only_udm.additional.fields.key | El valor se toma del campo Task del registro sin procesar y se asigna al campo key . |
Tarea | read_only_udm.additional.fields.value.string_value | El valor se toma del campo Task del registro sin procesar y se asigna al campo string_value . |
ThreadID | read_only_udm.additional.fields.key | El valor se toma del campo ThreadID del registro sin procesar y se asigna al campo key . |
ThreadID | read_only_udm.additional.fields.value.string_value | El valor se toma del campo ThreadID del registro sin procesar y se asigna al campo string_value . |
TimeCreated | read_only_udm.metadata.event_timestamp | El valor se toma del campo TimeCreated del registro sin procesar y se analiza como una marca de tiempo UNIX_MS. |
TimeCreated | events.timestamp | El valor se toma del campo TimeCreated del registro sin procesar y se analiza como una marca de tiempo UNIX_MS. |
Versión | read_only_udm.additional.fields.key | El valor se toma del campo Version del registro sin procesar y se asigna al campo key . |
Versión | read_only_udm.additional.fields.value.string_value | El valor se toma del campo Version del registro sin procesar y se asigna al campo string_value . |
read_only_udm.additional.fields.key | Se le ha asignado el valor EventData_P1 . |
|
read_only_udm.metadata.event_type | Se asigna condicionalmente STATUS_UNCATEGORIZED si EventId es 7 o 2 . De lo contrario, se asigna GENERIC_EVENT . |
|
read_only_udm.metadata.vendor_name | Se le ha asignado el valor Microsoft . |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.