Recopila registros de Wazuh
Descripción general
Este analizador de Wazuh transfiere registros con formato SYSLOG y JSON, normaliza los campos en un formato común y los enriquece con metadatos específicos de Wazuh. Luego, usa una serie de sentencias condicionales basadas en los campos event_type y rule_id para asignar los datos de registro sin procesar al tipo y los campos de eventos de la UDM adecuados, lo que permite controlar varios formatos de registro y casos extremos dentro del ecosistema de Wazuh.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener una instancia de Wazuh activa.
- Asegúrate de tener acceso con privilegios a los archivos de configuración de Wazuh.
Configura un feed en Google SecOps para transferir registros de Wazuh
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Wazuh).
- Selecciona Webhook como el Tipo de origen.
- Selecciona Wazuh como el Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
\n
. - Espacio de nombres de recursos: Es el espacio de nombres de recursos.
- Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
- Haz clic en Generate Secret Key para generar una clave secreta que autentique este feed.
- Copia y almacena la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes volver a generar una clave secreta nueva, pero esta acción hace que la clave secreta anterior quede obsoleta.
- En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en tu aplicación cliente.
- Haz clic en Listo.
Crea una clave de API para el feed de webhook
Ve a consola de Google Cloud > Credenciales.
Haz clic en Crear credenciales y selecciona Clave de API.
Restringe el acceso de la clave de API a la API de Google Security Operations.
Especifica la URL del extremo
- En tu aplicación cliente, especifica la URL del extremo HTTPS que se proporciona en el feed de webhook.
Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado en el siguiente formato:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Recomendación: Especifica la clave de API como un 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 con parámetros de consulta en el siguiente formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Reemplaza lo siguiente:
ENDPOINT_URL
: Es la URL del extremo del feed.API_KEY
: Es la clave de API para autenticarse en Google Security Operations.SECRET
: Es la clave secreta que generaste para autenticar el feed.
Configura el webhook de Wazuh Cloud
Completa los siguientes pasos para configurar el webhook de Wazuh Cloud:
- Accede a tu cuenta de Wazuh Cloud.
- Ve a Configuración, que se encuentra en el menú del panel izquierdo, en Administración del servidor.
- Haz clic en Editar configuración.
Agrega el siguiente bloque de integración dentro de la sección
<integration>
de la configuración.- Si la sección no existe, copia todo el bloque con
<integration>
para crear una. - Reemplaza los valores de los marcadores de posición por tus detalles reales de SecOps de Google:
- Si la sección no existe, copia todo el bloque con
<integration>
<name>google-chronicle</name>
<hook_url>https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs?key=<API_KEY>&secret=<SECRET></hook_url>
<alert_format>json</alert_format>
<level>0</level> <!-- Adjust the level as needed -->
</integration>
CHRONICLE_REGION
: Tu región de Google SecOps (por ejemplo,us
,europe-west1
).GOOGLE_PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud.LOCATION
: Tu región de Google SecOps (por ejemplo,us
,europe-west1
).CUSTOMER_ID
: Es el ID de cliente de Google SecOps.FEED_ID
: El ID de tu feed de SecOps de Google.API_KEY
: Es la clave de API de tu cuenta de Google Cloud que aloja Google SecOps.SECRET
: El secreto de tu feed de SecOps de Google.alert_format
: Establece enjson
para la compatibilidad con Google SecOps.level
: Especifica el nivel mínimo de alerta que se reenviará.0
envía todas las alertas.
- Haga clic en el botón Guardar.
- Haz clic en Reiniciar wazuh-manager.
Configura el webhook de Wazuh On-Premise
Completa los siguientes pasos para configurar el webhook de Wazuh On-Premise:
- Accede a tu administrador de Wazuh local.
- Ve al directorio
/var/ossec/etc/
. - Abre el archivo
ossec.conf
con un editor de texto (por ejemplo,nano
ovim
). Agrega el siguiente bloque de integración dentro de la sección
<integration>
de la configuración.- Si la sección no existe, copia todo el bloque con
<integration>
para crear una. - Reemplaza los valores de los marcadores de posición por tus detalles reales de SecOps de Google:
<integration> <name>google-chronicle</name> <hook_url>https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs?key=<API_KEY>&secret=<SECRET></hook_url> <alert_format>json</alert_format> <level>0</level> <!-- Adjust the level as needed --> </integration>
CHRONICLE_REGION
: Tu región de Google SecOps (por ejemplo,us
,europe-west1
).GOOGLE_PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud.LOCATION
: Tu región de Google SecOps (por ejemplo,us
,europe-west1
).CUSTOMER_ID
: Es el ID de cliente de Google SecOps.FEED_ID
: El ID de tu feed de SecOps de Google.API_KEY
: Es la clave de API de tu cuenta de Google Cloud que aloja Google SecOps.SECRET
: El secreto de tu feed de SecOps de Google.alert_format
: Establece enjson
para la compatibilidad con Google SecOps.level
: Especifica el nivel mínimo de alerta que se reenviará.0
envía todas las alertas.
- Si la sección no existe, copia todo el bloque con
Reinicia el administrador de Wazuh para aplicar los cambios:
sudo systemctl restart wazuh-manager
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
Acct-Authentic |
event.idm.read_only_udm.security_result.authentication_mechanism |
Se asignan directamente desde el campo Acct-Authentic . |
Acct-Status-Type |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asignan directamente desde el campo Acct-Status-Type . La clave se establece en "Acct-Status-Type". |
agent.id |
event.idm.read_only_udm.intermediary.resource.id |
Se asignan directamente desde el campo agent.id . |
agent.ip |
event.idm.read_only_udm.intermediary.ip , event.idm.read_only_udm.intermediary.asset.ip , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asignan directamente desde el campo agent.ip . También se usa para la IP principal o de destino en algunos casos según el tipo de evento. |
agent.name |
event.idm.read_only_udm.security_result.about.hostname |
Se asignan directamente desde el campo agent.name . |
application |
event.idm.read_only_udm.target.application |
Se asigna directamente desde el campo application de Wazuh. |
audit-session-id |
event.idm.read_only_udm.network.session_id |
Se asignan directamente desde el campo audit-session-id . |
ClientIP |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asignan directamente desde el campo ClientIP . |
ClientPort |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo ClientPort y se convierte en número entero. |
cmd |
event.idm.read_only_udm.target.process.command_line |
Se asignan directamente desde el campo cmd . |
CommandLine |
event.idm.read_only_udm.target.process.command_line |
Se asignan directamente desde el campo CommandLine . |
ConfigVersionId |
event.idm.read_only_udm.additional.fields[].value.number_value |
Se asignan directamente desde el campo ConfigVersionId . La clave se establece en "Config Version Id". |
data.Account Number |
event.idm.read_only_udm.principal.user.userid |
Se asignan directamente desde el campo data.Account Number para IDs de reglas específicos. |
data.Control |
event.idm.read_only_udm.security_result.action_details |
Se asignan directamente desde el campo data.Control para IDs de reglas específicos. |
data.Message |
event.idm.read_only_udm.security_result.description |
Se asignan directamente desde el campo data.Message para IDs de reglas específicos. |
data.Profile |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asignan directamente desde el campo data.Profile para IDs de reglas específicos. |
data.Region |
event.idm.read_only_udm.principal.location.name |
Se asignan directamente desde el campo data.Region para IDs de reglas específicos. |
data.Status |
event.idm.read_only_udm.security_result.action |
Se asignó desde el campo data.Status . Si el valor es "Pass" o "AUDIT_SUCCESS", la acción se establece en "ALLOW". Si el valor es "ERROR", "AUDIT_FAILURE" o "FAIL", la acción se establece en "BLOCK". |
data.aws.awsRegion |
event.idm.read_only_udm.principal.location.name |
Se asignan directamente desde el campo data.aws.awsRegion para IDs de reglas específicos. |
data.aws.eventID |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
Se asignan directamente desde el campo data.aws.eventID . La clave se establece en "ID de evento". |
data.aws.eventName |
event.idm.read_only_udm.metadata.description |
Se asignan directamente desde el campo data.aws.eventName para IDs de reglas específicos. |
data.aws.eventSource |
event.idm.read_only_udm.metadata.url_back_to_product |
Se asignan directamente desde el campo data.aws.eventSource para IDs de reglas específicos. |
data.aws.eventType |
event.idm.read_only_udm.metadata.product_event_type |
Se asignan directamente desde el campo data.aws.eventType para IDs de reglas específicos. |
data.aws.requestID |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
Se asignan directamente desde el campo data.aws.requestID . La clave se establece en "ID de solicitud". |
data.aws.requestParameters.loadBalancerName |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
Se asignan directamente desde el campo data.aws.requestParameters.loadBalancerName . La clave se establece en "LoadBalancer Name". |
data.aws.sourceIPAddress |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asignan directamente desde el campo data.aws.sourceIPAddress para IDs de reglas específicos. |
data.aws.source_ip_address |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asignan directamente desde el campo data.aws.source_ip_address . |
data.aws.userIdentity.accountId |
event.idm.read_only_udm.principal.user.product_object_id |
Se asignan directamente desde el campo data.aws.userIdentity.accountId para IDs de reglas específicos. |
data.aws.userIdentity.principalId |
event.idm.read_only_udm.principal.user.userid |
Se asignan directamente desde el campo data.aws.userIdentity.principalId para IDs de reglas específicos. |
data.aws.userIdentity.sessionContext.sessionIssuer.arn |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
Se asignan directamente desde el campo data.aws.userIdentity.sessionContext.sessionIssuer.arn . La clave se establece en "ARN". |
data.aws.userIdentity.sessionContext.sessionIssuer.userName |
event.idm.read_only_udm.principal.user.user_display_name |
Se asignan directamente desde el campo data.aws.userIdentity.sessionContext.sessionIssuer.userName para IDs de reglas específicos. |
data.command |
event.idm.read_only_udm.target.file.full_path |
Se asignan directamente desde el campo data.command . |
data.docker.message |
event.idm.read_only_udm.security_result.description |
Se asignan directamente desde el campo data.docker.message para tipos de eventos específicos. |
data.dstuser |
event.idm.read_only_udm.target.user.userid |
Se asignan directamente desde el campo data.dstuser . |
data.file |
event.idm.read_only_udm.target.file.full_path |
Se asignan directamente desde el campo data.file . |
data.package |
event.idm.read_only_udm.target.asset.software[].name |
Se asignan directamente desde el campo data.package . |
data.srcip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asignan directamente desde el campo data.srcip . |
data.srcuser |
event.idm.read_only_udm.principal.user.userid |
Se asignan directamente desde el campo data.srcuser . |
data.subject.account_domain |
event.idm.read_only_udm.target.administrative_domain |
Se asignan directamente desde el campo data.subject.account_domain para IDs de reglas específicos. |
data.subject.account_name |
event.idm.read_only_udm.target.user.user_display_name |
Se asignan directamente desde el campo data.subject.account_name para IDs de reglas específicos. |
data.subject.security_id |
event.idm.read_only_udm.target.user.windows_sid |
Se asignan directamente desde el campo data.subject.security_id para IDs de reglas específicos. |
data.title |
event.idm.read_only_udm.target.resource.name |
Se asignan directamente desde el campo data.title . |
data.version |
event.idm.read_only_udm.target.asset.software[].version |
Se asignan directamente desde el campo data.version . |
decoder.name |
event.idm.read_only_udm.about.resource.name , event.idm.read_only_udm.target.application |
Se asignan directamente desde el campo decoder.name . También se usa para la aplicación de destino en algunos casos. |
decoder.parent |
event.idm.read_only_udm.about.resource.parent |
Se asignan directamente desde el campo decoder.parent . |
Description |
event.idm.read_only_udm.metadata.description |
Se asignan directamente desde el campo Description . |
Destination |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port |
Se analiza para extraer la IP y el puerto de destino. |
DestinationIPAddress |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asignan directamente desde el campo DestinationIPAddress . |
DestinationPort |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo DestinationPort y se convierte en número entero. |
device_ip_address |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asignan directamente desde el campo device_ip_address . |
feature |
event.idm.read_only_udm.metadata.product_event_type |
Se asignan directamente desde el campo feature , a veces combinados con message_type . |
file_path |
event.idm.read_only_udm.target.file.full_path |
Se asignan directamente desde el campo file_path . |
Framed-IP-Address |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asignan directamente desde el campo Framed-IP-Address . |
full_log |
event.idm.read_only_udm.principal.port , event.idm.read_only_udm.security_result.description , event.idm.read_only_udm.about.labels[].value |
Se analiza para extraer el número de puerto, la descripción del resultado de seguridad y el ID de acceso del sujeto. |
Hashes |
event.idm.read_only_udm.target.process.file.sha256 , event.idm.read_only_udm.target.process.file.md5 |
Se analiza para extraer los hashes SHA256 y MD5. |
hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asignan directamente desde el campo hostname . |
Image |
event.idm.read_only_udm.target.process.file.full_path |
Se asignan directamente desde el campo Image . |
IntegrityLevel |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asignan directamente desde el campo IntegrityLevel . La clave se establece en "Integrity Level". |
kv_data |
event.idm.read_only_udm.target.process.file.full_path , event.idm.read_only_udm.target.process.pid , event.idm.read_only_udm.target.process.parent_process.file.full_path , event.idm.read_only_udm.target.process.parent_process.command_line , event.idm.read_only_udm.target.process.parent_process.product_specific_process_id , event.idm.read_only_udm.target.process.product_specific_process_id , event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.additional.fields[].value.string_value |
Se analiza para extraer varios campos relacionados con la creación de procesos, los valores hash de archivos y la descripción. |
kv_log_data |
event.idm.read_only_udm.security_result.severity_details |
Se analizó para extraer el nivel de alerta. |
location |
event.idm.read_only_udm.target.file.full_path |
Se asignan directamente desde el campo location . |
LogonGuid |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo LogonGuid después de quitar las llaves. La clave se establece en "Logon Guid". |
LogonId |
event.idm.read_only_udm.about.labels[].value , event.idm.read_only_udm.additional.fields[].value.string_value |
Se usa para el ID de acceso del sujeto en los eventos de salida y se asigna directamente a otros eventos. La clave se establece en "ID de acceso". |
log_description |
event.idm.read_only_udm.metadata.description |
Se asignan directamente desde el campo log_description . |
log_message |
event.idm.read_only_udm.target.file.full_path , event.idm.read_only_udm.metadata.description |
Se analiza para extraer la ruta de acceso y la descripción del registro. |
manager.name |
event.idm.read_only_udm.about.user.userid , event.idm.read_only_udm.principal.user.userid |
Se asignan directamente desde el campo manager.name . También se usa para el ID de usuario principal en algunos casos. |
md5 |
event.idm.read_only_udm.target.process.file.md5 |
Se asignan directamente desde el campo md5 . |
message |
event.idm.read_only_udm.metadata.product_event_type , event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.target.process.command_line , event.idm.read_only_udm.network.http.method , event.idm.read_only_udm.network.http.response_code , event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port , event.idm.read_only_udm.principal.nat_ip , event.idm.read_only_udm.principal.nat_port , event.idm.read_only_udm.security_result.severity , event.idm.read_only_udm.network.session_id , event.idm.read_only_udm.security_result.detection_fields[].value , event.idm.read_only_udm.additional.fields[].value.number_value , event.idm.read_only_udm.target.url , event.idm.read_only_udm.target.application , event.idm.read_only_udm.principal.resource.attribute.labels[].value , event.idm.read_only_udm.security_result.rule_type , event.idm.read_only_udm.security_result.description , event.idm.read_only_udm.network.http.user_agent , event.idm.read_only_udm.principal.process.pid , event.idm.read_only_udm.principal.resource.attribute.labels[].value , event.idm.read_only_udm.security_result.severity_details |
Se analiza con grok para extraer varios campos según el formato del registro. |
message_data |
event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.principal.port , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port , event.idm.read_only_udm.network.sent_bytes , event.idm.read_only_udm.network.received_bytes , event.idm.read_only_udm.network.ip_protocol , event.idm.read_only_udm.metadata.event_type |
Se analizan para extraer datos de mensajes, direcciones IP, puertos, bytes enviados o recibidos, y el tipo de evento. |
message_type |
event.idm.read_only_udm.metadata.product_event_type , event.idm.read_only_udm.metadata.description |
Se asignan directamente desde el campo message_type , a veces combinados con feature . También se usa para la descripción en algunos casos. |
method |
event.idm.read_only_udm.network.http.method |
Se asignan directamente desde el campo method . |
NAS-IP-Address |
event.idm.read_only_udm.principal.nat_ip |
Se asignan directamente desde el campo NAS-IP-Address . |
NAS-Port |
event.idm.read_only_udm.principal.nat_port |
Se asigna directamente desde el campo NAS-Port y se convierte en número entero. |
NAS-Port-Type |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Se asignan directamente desde el campo NAS-Port-Type . La clave se establece en "nas_port_type". |
NetworkDeviceName |
event.idm.read_only_udm.intermediary.hostname |
Se asigna directamente desde el campo NetworkDeviceName después de quitar las barras diagonales. |
ParentCommandLine |
event.idm.read_only_udm.target.process.parent_process.command_line |
Se asignan directamente desde el campo ParentCommandLine . |
ParentImage |
event.idm.read_only_udm.target.process.parent_process.file.full_path |
Se asignan directamente desde el campo ParentImage . |
ParentProcessGuid |
event.idm.read_only_udm.target.process.parent_process.product_specific_process_id |
Se asigna directamente desde el campo ParentProcessGuid después de quitar las llaves y agregar "ID:" al principio. |
ParentProcessId |
event.idm.read_only_udm.target.process.parent_process.pid |
Se asignan directamente desde el campo ParentProcessId . |
predecoder.hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asignan directamente desde el campo predecoder.hostname . |
ProcessGuid |
event.idm.read_only_udm.target.process.product_specific_process_id |
Se asigna directamente desde el campo ProcessGuid después de quitar las llaves y agregar "ID:" al principio. |
ProcessId |
event.idm.read_only_udm.target.process.pid |
Se asignan directamente desde el campo ProcessId . |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
Se asignan directamente desde el campo product_event_type . |
response_code |
event.idm.read_only_udm.network.http.response_code |
Se asigna directamente desde el campo response_code y se convierte en número entero. |
rule.description |
event.idm.read_only_udm.metadata.event_type , event.idm.read_only_udm.security_result.summary |
Se usa para determinar el tipo de evento y se asigna directamente al resumen de resultados de seguridad. |
rule.id |
event.idm.read_only_udm.metadata.product_log_id , event.idm.read_only_udm.security_result.rule_id |
Se asignan directamente desde el campo rule.id . |
rule.info |
event.idm.read_only_udm.target.url |
Se asignan directamente desde el campo rule.info . |
rule.level |
event.idm.is_alert , event.idm.is_significant , event.idm.read_only_udm.security_result.severity_details |
Se usa para determinar si el evento es una alerta o es significativo, y para establecer los detalles de gravedad. |
r_cat_name |
event.idm.read_only_udm.metadata.event_type |
Se usa para determinar el tipo de evento. |
r_msg_id |
event.idm.read_only_udm.metadata.product_log_id |
Se asignan directamente desde el campo r_msg_id . |
security_result.severity |
event.idm.read_only_udm.security_result.severity |
Se asignan directamente desde el campo security_result.severity . |
ServerIP |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asignan directamente desde el campo ServerIP . |
ServerPort |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo ServerPort y se convierte en número entero. |
sha256 |
event.idm.read_only_udm.target.process.file.sha256 |
Se asignan directamente desde el campo sha256 . |
Source |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.principal.port |
Se analiza para extraer la IP y el puerto principales. |
src_ip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asignan directamente desde el campo src_ip . |
sr_description |
event.idm.read_only_udm.metadata.event_type , event.idm.read_only_udm.security_result.description |
Se usa para determinar el tipo de evento y se asigna directamente a la descripción del resultado de seguridad. |
syscheck.md5_after |
event.idm.read_only_udm.target.process.file.md5 |
Se asignan directamente desde el campo syscheck.md5_after . |
syscheck.md5_before |
event.idm.read_only_udm.src.process.file.md5 |
Se asignan directamente desde el campo syscheck.md5_before . |
syscheck.path |
event.idm.read_only_udm.target.file.full_path |
Se asignan directamente desde el campo syscheck.path . |
syscheck.sha1_after |
event.idm.read_only_udm.target.process.file.sha1 |
Se asignan directamente desde el campo syscheck.sha1_after . |
syscheck.sha1_before |
event.idm.read_only_udm.src.process.file.sha1 |
Se asignan directamente desde el campo syscheck.sha1_before . |
syscheck.sha256_after |
event.idm.read_only_udm.target.process.file.sha256 |
Se asignan directamente desde el campo syscheck.sha256_after . |
syscheck.sha256_before |
event.idm.read_only_udm.src.process.file.sha256 |
Se asignan directamente desde el campo syscheck.sha256_before . |
syscheck.size_after |
event.idm.read_only_udm.target.process.file.size |
Se asigna directamente desde el campo syscheck.size_after y se convierte en un número entero sin signo. |
syscheck.size_before |
event.idm.read_only_udm.src.process.file.size |
Se asigna directamente desde el campo syscheck.size_before y se convierte en un número entero sin signo. |
syscheck.uname_after |
event.idm.read_only_udm.principal.user.user_display_name |
Se asignan directamente desde el campo syscheck.uname_after . |
target_url |
event.idm.read_only_udm.target.url |
Se asignan directamente desde el campo target_url . |
timestamp |
event.idm.read_only_udm.metadata.event_timestamp |
Se asignan directamente desde el campo timestamp . |
Total_bytes_recv |
event.idm.read_only_udm.network.received_bytes |
Se asigna directamente desde el campo Total_bytes_recv y se convierte en un número entero sin signo. |
Total_bytes_send |
event.idm.read_only_udm.network.sent_bytes |
Se asigna directamente desde el campo Total_bytes_send y se convierte en un número entero sin signo. |
User-Name |
event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac |
Se asigna directamente desde el campo User-Name si no es una dirección MAC. De lo contrario, se analiza como una dirección MAC. |
user_agent |
event.idm.read_only_udm.network.http.user_agent |
Se asignan directamente desde el campo user_agent . |
user_id |
event.idm.read_only_udm.principal.user.userid |
Se asignan directamente desde el campo user_id . |
UserName |
event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac |
Se asigna directamente desde el campo UserName si no es una dirección MAC. De lo contrario, se analiza como una dirección MAC. |
VserverServiceIP |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asignan directamente desde el campo VserverServiceIP . |
VserverServicePort |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo VserverServicePort y se convierte en número entero. |
win.system.channel |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asignan directamente desde el campo win.system.channel . La clave se establece en “channel”. |
win.system.computer |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Se asignan directamente desde el campo win.system.computer . La clave se estableció en "computadora". |
win.system.eventID |
event.idm.read_only_udm.metadata.product_log_id |
Se asignan directamente desde el campo win.system.eventID . |
win.system.message_description |
event.idm.read_only_udm.metadata.description |
Se asignan directamente desde el campo win.system.message_description . |
win.system.processID |
event.idm.read_only_udm.principal.process.pid |
Se asignan directamente desde el campo win.system.processID . |
win.system.providerGuid |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Se asignan directamente desde el campo win.system.providerGuid . La clave se establece en "providerGuid". |
win.system.providerName |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
Se asignan directamente desde el campo win.system.providerName . La clave se establece en "providerName". |
win.system.severityValue |
event.idm.read_only_udm.security_result.severity , event.idm.read_only_udm.security_result.severity_details |
Se asigna directamente desde el campo win.system.severityValue si es un valor de gravedad válido. |
win.system.systemTime |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asignan directamente desde el campo win.system.systemTime . La clave se establece en "systemTime". |
win.system.threadID |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asignan directamente desde el campo win.system.threadID . La clave se establece en "threadID". |
N/A | event.idm.read_only_udm.metadata.event_type |
Se establece en "GENERIC_EVENT" como valor predeterminado, que se anula con una lógica específica para diferentes tipos de eventos. |
N/A | event.idm.read_only_udm.extensions.auth.mechanism |
Configúralo como "REMOTE" para los eventos de acceso. |
N/A | event.idm.read_only_udm.extensions.auth.type |
Se establece en "PASSWORD" para los eventos de acceso y salida, y se anula en "MACHINE" para algunos eventos. |
N/A | event.idm.read_only_udm.network.ip_protocol |
Establece el valor en "TCP" para las conexiones de red TCP. |
N/A | event.idm.read_only_udm.security_result.action |
Configúralo como "ALLOW" para los eventos de acceso y correctos, y "BLOCK" para los eventos fallidos. |
N/A | event.idm.is_alert |
Se establece en true si rule.level es menor o igual que 12. |
N/A | event.idm.is_significant |
Se establece en true si rule.level es mayor que 12, false de lo contrario. |
N/A | event.idm.read_only_udm.metadata.log_type |
Establece el valor en "WAZUH". |
N/A | event.idm.read_only_udm.metadata.product_name |
Establece el valor en "Wazuh". |
Cambios
2024-03-04
- Se agregó compatibilidad con los registros de syslog de SVROSSEC.
- Se asignó "file_path" a "target.file.full_path".
- Se asignó "registry_key" a "target.registry.registry_key".
- Se asignó "user_name" a "principal.user.userid".
- Se asignó "log_description" a "metadata.description".
- Se asignó "action_data" a "security_result.action_details".
- Se asignó "src_host" a "principal.hostname".
- Se asignó "rule_id" a "security_result.rule_id".
- Se asignó "classification" a "security_result.detection_fields".
- Se asignó "rule_summary" a "security_result.summary".
- Asignaciones alineadas para "principal.hostname" y "principal.asset.hostname".
- Asignaciones alineadas para "principal.ip" y "principal.asset.ip".
- Asignaciones alineadas para "target.ip" y "target.asset.ip".
2023-07-17
- Se agregó un patrón Grok para analizar registros de syslog sin analizar.
- Se agregó la verificación de nulo para "predecoder.hostname".
2022-10-14
- Se aumentó el porcentaje de análisis.
- Se agregó compatibilidad para analizar el patrón de syslog.