Recopila registros de Kaspersky AV

Compatible con:

En este documento, se explica cómo transferir registros de Kaspersky Antivirus a Google Security Operations con Bindplane. El código del analizador primero intenta analizar el mensaje de registro sin procesar como JSON. Si eso falla, usa expresiones regulares (patrones grok) para extraer campos del mensaje según los formatos de registro de AV de Kaspersky comunes.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o host de Linux con systemd
  • Si se ejecuta detrás de un proxy, los puertos del firewall están abiertos.
  • Acceso con privilegios a Kaspersky Antivirus

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de Bindplane

Instalación de Windows

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre una terminal con privilegios de raíz o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Para obtener más opciones de instalación, consulta la guía de instalación.

Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    • Ubica el archivo config.yaml. Por lo general, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    • Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

        receivers:
            udplog:
                # Replace the port and IP address as required
                listen_address: "0.0.0.0:514"
    
        exporters:
            chronicle/chronicle_w_labels:
                compression: gzip
                # 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
                ingestion_labels:
                    log_type: KASPERSKY_AV
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Reemplaza <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Obtén el archivo de autenticación de transferencia de Google SecOps.

Reinicia el agente de Bindplane para aplicar los cambios.

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Services o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura la exportación de eventos en Kaspersky AV

  1. Accede a la consola de Kaspersky Security Center.
  2. Selecciona el servidor de administración cuyos eventos deseas exportar.
  3. En el espacio de trabajo Administration Server, haz clic en la pestaña Events.
  4. Haz clic en el vínculo Configurar notificaciones y exportación de eventos.
  5. Selecciona Configurar exportación al sistema de SIEM en la lista.
  6. Proporciona los siguientes detalles de configuración:
    • Sistema SIEM: Selecciona Arcsight (formato CEF).
    • Dirección del servidor del sistema de SIEM: Ingresa la dirección IP del agente de Bindplane.
    • Puerto del servidor del sistema de SIEM: Ingresa el número de puerto del agente de Bindplane (por ejemplo, 514 para UDP).
    • Protocolo: Selecciona UDP.
  7. Haz clic en OK.

Tabla de asignación de la UDM

Campo de registro Asignación de UDM Lógica
Aplicación network.http.user_agent Se asignan directamente desde el campo Application en el registro sin procesar.
Ruta de la aplicación target.process.file.full_path Se usa con el campo Name para construir la ruta de acceso completa si Application path está presente en el registro sin procesar.
Componente target.resource.name Se asignan directamente desde el campo Component en el registro sin procesar.
Categoría de contenido security_result.category_details Se agrega al campo security_result.category_details si Content category está presente en el registro sin procesar.
Fuente de la categoría de contenido target.resource.type Si el valor contiene databases, el campo UDM se establece en DATABASE.
Erreur security_result.summary Se asigna directamente desde el campo Erreur en el registro sin procesar si el campo summary está vacío.
et metadata.product_event_type Se asigna directamente desde el campo et en el registro sin procesar si el campo product_event_type está vacío.
et security_result.category_details Se agregó al campo security_result.category_details.
etdn extensions.vulns.vulnerabilities.description Se asignan directamente desde el campo etdn en el registro sin procesar.
Hash SHA256 del archivo target.process.file.sha256 Se asignan directamente desde el campo File SHA256 hash en el registro sin procesar.
gn security_result.about.labels key se establece en GN y value se establece en el valor del campo gn.
hdn principal.hostname Se asignan directamente desde el campo hdn en el registro sin procesar.
cadera principal.ip Se asignan directamente desde el campo hip en el registro sin procesar.
host_name principal.hostname Se asignan directamente desde el campo host_name en el registro sin procesar.
intermediary_host intermediary.hostname Se asignan directamente desde el campo intermediary_host en el registro sin procesar.
intermediary_hostname intermediary.hostname Se asignan directamente desde el campo intermediary_hostname en el registro sin procesar.
kv_data1 Este campo se analiza y sus valores se asignan a otros campos de la UDM.
kv_data2 Este campo se analiza y sus valores se asignan a otros campos de la UDM.
etiqueta network.http.user_agent Si el valor es User-Agent, el campo de la AUA se propaga con el valor del campo description.
etiqueta principal.hostname Si el valor es Host, el campo de la UDM se propaga con el nombre de host extraído del campo description.
etiqueta security_result.description Para otros valores, el campo de la AUA se propaga con una cadena que contiene los campos label y description.
MD5 target.process.file.md5 Se asignan directamente desde el campo MD5 en el registro sin formato después de convertirlos a minúsculas.
Hash de archivo MD5 target.process.file.md5 Se asignan directamente desde el campo MD5 file hash en el registro sin procesar.
mensaje Este campo se analiza y sus valores se asignan a otros campos de la UDM.
método network.http.method Se asigna directamente desde el campo method en el registro sin procesar si coincide con una lista de métodos HTTP.
nombre target.file.full_path Se asignan directamente desde el campo name en el registro sin procesar.
Nom target.process.file.full_path Se usa con el campo application_path para construir la ruta de acceso completa.
p1 target.process.file.sha256 Se asigna directamente desde el campo p1 en el registro sin procesar después de convertirlo a minúsculas si el campo SHA256 está vacío y el valor es una cadena hexadecimal.
p2 target.process.file.full_path Se asignan directamente desde el campo p2 en el registro sin procesar.
p5 security_result.rule_name Se asignan directamente desde el campo p5 en el registro sin procesar.
p7 principal.user.user_display_name Se asigna directamente desde el campo p7 en el registro sin procesar si los campos User y user_name están vacíos.
ID de proceso principal.process.pid Se asignan directamente desde el campo Process ID en el registro sin procesar.
process_id target.process.pid Se asignan directamente desde el campo process_id en el registro sin procesar.
protocol network.application_protocol Si el valor contiene http (no distingue mayúsculas de minúsculas), el campo UDM se establece en HTTP.
Motivo security_result.summary Se asignan directamente desde el campo Reason en el registro sin procesar.
Página web solicitada target.url Se asignan directamente desde el campo Requested web page en el registro sin procesar.
Resultado Si el valor es Allowed, el campo sr_action se establece en ALLOW.
rtid security_result.about.labels key se establece en rtid y value se establece en el valor del campo rtid.
Regla security_result.description Se asignan directamente desde el campo Rule en el registro sin procesar.
SHA256 target.process.file.sha256 Se asignan directamente desde el campo SHA256 en el registro sin formato después de convertirlos a minúsculas.
sr_action security_result.action Se fusionó en el campo security_result.action.
resumen security_result.summary Se asignan directamente desde el campo summary en el registro sin procesar.
task_name security_result.about.labels key se establece en TaskName y value se establece en el valor del campo task_name.
threat_action_taken Si el valor es blocked, el campo security_action se establece en BLOCK. Si el valor es allowed, el campo security_action se establece en ALLOW.
timestamp metadata.event_timestamp Se usa para propagar la marca de tiempo del evento.
Tipo security_result.threat_name Se asignan directamente desde el campo Type en el registro sin procesar.
URL network.http.referral_url Se asignan directamente desde el campo url en el registro sin procesar.
Usuario principal.user.user_display_name El nombre de usuario se extrae de este campo y se asigna al campo de la AUA.
Usuario principal.administrative_domain El dominio se extrae de este campo y se asigna al campo de la AUA.
user_name principal.user.user_display_name Se asigna directamente desde el campo user_name en el registro sin procesar si el campo User está vacío.
metadata.event_type Se establece en SCAN_VULN_NETWORK si Application path y Name están presentes, en STATUS_UNCATEGORIZED si hdn o host_name están presentes, o en GENERIC_EVENT de lo contrario.
metadata.vendor_name Siempre se establece en KASPERSKY.
metadata.product_name Siempre se establece en KASPERSKY_AV.
metadata.log_type Siempre se establece en KASPERSKY_AV.

Cambios

2025-02-13

Mejora:

  • Se agregó compatibilidad para analizar los registros de CEF sin analizar.

2025-02-05

Mejora:

  • Se agregó compatibilidad para analizar los registros de CEF sin analizar.

2023-10-13

Mejora:

  • Se asignaron Hachage SHA256 y p1 a target.process.file.sha256.
  • Se asignaron Hachage MD5 y md5 a target.process.file.md5.
  • Se asignó intermediary a event.idm.read_only_udm.intermediary.

2022-10-14

Mejora:

  • Se agregó gsub para omitir caracteres especiales no deseados.

2022-05-17

Mejora:

  • Se agregaron asignaciones para los siguientes campos
  • Nom (nombre del proceso o la aplicación) (nombre) asignado a target.file.full_path (extensión).
  • Chemin de l'application (ruta de acceso de la aplicación) asignada a target.file.full_path.
  • Type d'événement (tipo de evento) asignado a metadata.product_event_type.
  • ID du processus (ID de proceso) asignado a target.process.pid.
  • Description du résultat (descripción del resultado) asignada a metadata.description.
  • Erreur (Error) asignado a security_result.summary.

2022-03-29

Mejora:

  • Se agregaron asignaciones para los siguientes campos faltantes:
  • Se asignó Result description a security_result.description.
  • Se asignó Type a security_result.threat_name.
  • Se asignó MD5 a process.file.md5.
  • Se asignó SHA256 a process.file.sha256.
  • Se asignó p2 a target.process.file.full_path.
  • Se asignó p5 a security_result.rule_name.
  • Se asignó p7 a principal.user.user_display_name.
  • Se asignó Reason a security_result.summary.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.