Recopila registros de Wazuh

Se admite en los siguientes países:

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

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Wazuh).
  4. Selecciona Webhook como el Tipo de origen.
  5. Selecciona Wazuh como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. 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.
  8. Haz clic en Siguiente.
  9. Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
  10. Haz clic en Generate Secret Key para generar una clave secreta que autentique este feed.
  11. 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.
  12. 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.
  13. Haz clic en Listo.

Crea una clave de API para el feed de webhook

  1. Ve a consola de Google Cloud > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y selecciona Clave de API.

  3. Restringe el acceso de la clave de API a la API de Google Security Operations.

Especifica la URL del extremo

  1. En tu aplicación cliente, especifica la URL del extremo HTTPS que se proporciona en el feed de webhook.
  2. 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:

  1. Accede a tu cuenta de Wazuh Cloud.
  2. Ve a Configuración, que se encuentra en el menú del panel izquierdo, en Administración del servidor.
  3. Haz clic en Editar configuración.
  4. 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 en json para la compatibilidad con Google SecOps.
  • level: Especifica el nivel mínimo de alerta que se reenviará. 0 envía todas las alertas.
  1. Haga clic en el botón Guardar.
  2. 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:

  1. Accede a tu administrador de Wazuh local.
  2. Ve al directorio /var/ossec/etc/.
  3. Abre el archivo ossec.conf con un editor de texto (por ejemplo, nano o vim).
  4. 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 en json para la compatibilidad con Google SecOps.
    • level: Especifica el nivel mínimo de alerta que se reenviará. 0 envía todas las alertas.
  5. 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.