Recopila registros de IBM Guardium

Se admite en los siguientes sistemas operativos:

En este documento, se explica cómo transferir registros de IBM Guardium a Google Security Operations con Bindplane.

IBM Guardium es una plataforma de protección de datos y supervisión de la actividad de bases de datos que proporciona supervisión, auditoría y protección en tiempo real para bases de datos y sistemas de archivos. Guardium ofrece funciones de evaluación de vulnerabilidades, descubrimiento y clasificación de datos, supervisión de la actividad de la base de datos y generación de informes de cumplimiento.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Windows Server 2016 o versiones posteriores, o host de Linux con systemd
  • Conectividad de red entre el agente de Bindplane y el recopilador de IBM Guardium
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso con privilegios a la CLI de IBM Guardium
  • IBM Guardium versión 9.1 o posterior para la compatibilidad con syslog encriptado (opcional)

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

Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.

Instalación en Windows

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

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Espera a que se complete la instalación.

  4. Ejecute el siguiente comando para verificar la instalación:

    sc query observiq-otel-collector
    

El servicio debe mostrarse como RUNNING.

Instalación en Linux

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

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Espera a que se complete la instalación.

  4. Ejecute el siguiente comando para verificar la instalación:

    sudo systemctl status observiq-otel-collector
    

El servicio debería mostrarse como activo (en ejecución).

Recursos de instalación adicionales

Para obtener más opciones de instalación y solucionar problemas, consulta la guía de instalación del agente de Bindplane.

Configura el agente de BindPlane para transferir el syslog y enviarlo a Google SecOps

Ubica el archivo de configuración

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edita el archivo de configuración

  • Reemplaza todo el contenido de config.yaml con la siguiente configuración:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/guardium:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

Parámetros de configuración

Reemplaza los marcadores de posición que se indican más abajo:

  • Configuración del receptor:

    • Usa udplog para el registro del sistema UDP (el más común para Guardium).
    • Usa tcplog para syslog TCP si es necesario.
    • La dirección de escucha 0.0.0.0:514 escucha en todas las interfaces del puerto 514.
  • Configuración del exportador:

    • creds_file_path: Ruta de acceso completa al archivo de autenticación de la transferencia:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Es el ID de cliente del paso anterior.
    • endpoint: URL del extremo regional:
      • EE.UU.: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
    • log_type: Debe ser GUARDIUM.
    • ingestion_labels: Son etiquetas opcionales en formato YAML.

Guarda el archivo de configuración

Después de editarlo, guarda el archivo:

  • Linux: Presiona Ctrl+O, luego Enter y, después, Ctrl+X.
  • Windows: Haz clic en Archivo > Guardar

Reinicia el agente de Bindplane para aplicar los cambios

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

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica que el servicio esté en ejecución:

        sudo systemctl status observiq-otel-collector
      
    2. Revisa los registros en busca de errores:

        sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar el agente de Bindplane en Windows, elige una de las siguientes opciones:

    • Símbolo del sistema o PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Consola de Services:

      1. Presiona Win+R, escribe services.msc y presiona Intro.
      2. Busca observIQ OpenTelemetry Collector.
      3. Haz clic con el botón derecho y selecciona Reiniciar.

      4. Verifica que el servicio esté en ejecución:

        sc query observiq-otel-collector
        
      5. Revisa los registros en busca de errores:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configura el reenvío de syslog de IBM Guardium

Configura el destino de Syslog a través de la CLI

Para crear un destino de syslog para los eventos en IBM Guardium, debes acceder a la interfaz de línea de comandos y definir la dirección IP del host del agente de Bindplane.

  1. Con SSH, accede a IBM Guardium Collector como usuario de la CLI.
  2. Escribe los siguientes comandos para configurar el destino de syslog:

    • Para el registro del sistema UDP (recomendado):

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udp
      
    • Para el registro del sistema TCP, haz lo siguiente:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • Para niveles de gravedad específicos:

      store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp
      
      • Reemplaza BINDPLANE_AGENT_IP por la dirección IP del host en el que está instalado el agente de Bindplane.
  3. Ejecuta el siguiente comando para verificar la configuración:

    show remotelog
    

    El resultado debería mostrar el destino de syslog remoto que configuraste.

Configura el registro del sistema encriptado (opcional)

Si necesitas el reenvío de syslog encriptado, IBM Guardium versión 9.1 y posteriores admiten la encriptación TLS a través de TCP.

  1. Obtén el certificado público en formato PEM de la autoridad certificadora que usa tu receptor syslog remoto.
  2. Accede a la CLI en el recopilador de Guardium.
  3. Escribe el siguiente comando:

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. Cuando se te solicite, pega el certificado de la CA en formato PEM, incluidas las líneas BEGIN y END, y, luego, presiona Ctrl+D.

  5. Guardium almacena el certificado como /etc/pki/rsyslog/ca.pem.

Configura la plantilla de mensaje (opcional)

Guardium admite varios formatos de mensajes, incluidos CEF (formato de evento común) y LEEF (formato de evento extendido de registro). El formato predeterminado es adecuado para la mayoría de las implementaciones.

Para personalizar la plantilla de mensaje, sigue estos pasos:

  1. Accede a la GUI del dispositivo de Guardium como un usuario con privilegios de administrador.
  2. Ve a Consola de administración > Configuración > Perfil global.
  3. En la sección Plantilla de mensaje, edita la plantilla con el formato que desees.
  4. Haz clic en Guardar.

Configura la política para enviar alertas a syslog

Las políticas de IBM Guardium son responsables de reaccionar a los eventos y reenviar la información de los eventos al receptor syslog remoto.

Configura la acción de alerta de política

  1. Accede a la GUI del dispositivo de Guardium.
  2. Haz clic en la pestaña Herramientas.
  3. En el menú de navegación de la izquierda, selecciona Policy Builder.
  4. En el panel Buscador de políticas, selecciona una política existente y haz clic en Editar reglas.
  5. Haz clic en Editar esta regla de forma individual.
  6. Se muestra la Definición de regla de acceso.
  7. Haz clic en Agregar acción.
  8. En la lista Acción, selecciona uno de los siguientes tipos de alertas:
    • Alerta por coincidencia: Se proporciona una notificación por cada incumplimiento de política.
    • Alerta diaria: Se proporciona una notificación la primera vez que se produce un incumplimiento de política en el día.
    • Alert Once Per Session: Se proporciona una notificación por incumplimiento de política para cada sesión única.
    • Alerta por nivel de detalle del tiempo: Se proporciona una notificación por el período seleccionado.
  9. En la lista Plantilla de mensaje, selecciona la plantilla requerida o mantén la Predeterminada.
  10. En Tipo de notificación, selecciona SYSLOG.
  11. Haz clic en Agregar y, luego, en Aplicar.
  12. Haz clic en Guardar.
  13. Repite este proceso para todas las reglas de la política que quieras reenviar a Google SecOps.

Instala la política

Cualquier política nueva o editada en IBM Guardium debe instalarse antes de que se produzcan las acciones de alerta actualizadas o los cambios en las reglas.

  1. Haz clic en la pestaña Consola de administración.
  2. En el panel de navegación de la izquierda, selecciona Configuración > Instalación de políticas.
  3. En el panel Instalador de políticas, selecciona la política que modificaste en el paso anterior.
  4. En la lista desplegable, selecciona Install and Override.
  5. Se muestra una confirmación para instalar la política en todos los motores de inspección.
  6. Haz clic en Aceptar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
deviceNtDomain about.administrative_domain Dominio administrativo de la entidad acerca de
deviceExternalId about.asset.asset_id Identificador del activo
filePath, fileHash about.file.full_path Ruta de acceso completa del archivo
_hash, fileHash about.file.sha256 Hash SHA256 del archivo
fsize about.file.size Tamaño del archivo
dvchost about.hostname Nombre de host de la entidad acerca de
dvc about.ip Dirección IP de la entidad acerca de
smac, dmac, dvcmac about.mac Dirección MAC de la entidad acerca de
deviceProcessName, Subject, Emne, Path about.process.command_line Línea de comandos del proceso
dvcpid about.process.pid ID de proceso
filePermission about.resource.attribute.permissions Permisos asociados al recurso
extensions.auth.type Tipo de autenticación
sender_ip intermediary.ip Dirección IP del intermediario
intermediario Detalles de la entidad intermediaria
Recibido, Generado, marca de tiempo metadata.collected_timestamp Marca de tiempo en la que se recopiló el evento
msg, signature_name metadata.description Descripción del evento
metadata.event_type Tipo de evento (p.ej., USER_LOGIN, NETWORK_CONNECTION)
device_event_class_id, event_name, eventType metadata.product_event_type Tipo de evento específico del producto
externalId metadata.product_log_id Identificador del registro de producto
metadata.product_version Versión del producto
network.application_protocol Protocolo de aplicación que se usa en la conexión de red
deviceDirection network.direction Dirección del tráfico de red
requestMethod network.http.method Método HTTP que se usó en la solicitud
requestClientApplication network.http.user_agent Cadena de usuario-agente de la solicitud HTTP
protocolo network.ip_protocol Protocolo de IP utilizado
en network.received_bytes Cantidad de bytes recibidos
descifrar? network.sent_bytes Cantidad de bytes enviados
session_id network.session_id Identificador de sesión para la conexión de red
sntdom, Domain, Domene principal.administrative_domain Dominio administrativo del principal
sourceServiceName, source_program principal.application Aplicación asociada con el principal
prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname principal.asset.hostname Nombre de host del activo principal
sender_ip, src_ip, src, principal_ip, client_ip principal.asset.ip Dirección IP del activo principal
Group_name, Gruppenavn principal.group.group_display_name Nombre visible del grupo principal
prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname principal.hostname Nombre de host de la entidad principal
sender_ip, src_ip, src, principal_ip, client_ip principal.ip Dirección IP de la entidad principal
smac principal.mac Dirección MAC de la entidad principal
sourceTranslatedAddress principal.nat_ip Dirección IP de NAT de la entidad principal
sourceTranslatedPort principal.nat_port Puerto NAT de la entidad principal
spt, client_port principal.port Puerto que usa la entidad principal
sproc principal.process.command_line Línea de comandos del proceso principal
spid principal.process.pid ID de proceso de la principal
spriv principal.user.attribute.roles Roles asociados con el usuario principal
suser, usrName, CustomerName principal.user.user_display_name Nombre visible del usuario principal
dbUser, usrName, db_user, os_user, suid, db_username principal.user.userid ID de usuario del principal
security_result Detalles del resultado de seguridad
security_result.action Acción que se tomó en el resultado de seguridad
act, Action_Taken security_result.action_details Detalles de la acción tomada
cat security_result.category_details Detalles de la categoría del resultado de seguridad
msg_data_2, alert_description, Type, Scan_Type security_result.description Descripción del resultado de seguridad
operation_label, operasjon_label, permission_label, tillatelse_label, infection_channel_label, spyware_Grayware_Type_label, threat_probability_label security_result.detection_fields Campos que se usan para la detección en el resultado de seguridad
mwProfile, alert_name security_result.rule_name Nombre de la regla que activó el resultado de seguridad
severity, event_severity security_result.severity Nivel de gravedad del resultado de seguridad
reason, ruleDesc, appcategory, Result security_result.summary Resumen del resultado de seguridad
Spyware, Virus_Malware_Name, Unknown_Threat security_result.threat_name Nombre de la amenaza detectada
oldFilePath src.file.full_path Ruta de acceso completa del archivo fuente
oldFileSize src.file.size Tamaño del archivo fuente
oldFilePermission src.resource.attribute.permissions Permisos del recurso fuente
os_user src.user.userid ID de usuario del usuario fuente
dntdom target.administrative_domain Dominio administrativo del objetivo
destinationServiceName, service_name target.application Aplicación asociada con el destino
prin_host, dest_host, server_hostname target.asset.hostname Nombre de host del activo de destino
dst_ip, dest_ip, server_ip, IPv6_Address target.asset.ip Dirección IP del activo de destino
temp_dhost, dest_host, server_hostname target.hostname Nombre de host del destino
dst_ip, dst, dest_ip, server_ip, IPv6_Address target.ip Dirección IP del objetivo
dmac target.mac Dirección MAC del objetivo
destinationTranslatedAddress target.nat_ip Dirección IP de NAT del destino
destinationTranslatedPort target.nat_port Puerto NAT del destino
dpt, dstPort, dest_port, server_port target.port Puerto que usa el destino
dproc, full_sql target.process.command_line Línea de comandos del proceso de destino
File_name, Object, Objekt, Infected_Resource target.process.file.full_path Ruta de acceso completa del archivo del proceso de destino
dpid, full_sql_id target.process.pid ID del proceso de destino
session_start target.resource.attribute.creation_time Fecha y hora de creación del recurso de destino
additional_environment_name, additional_db_protocol_version, additional_dbProtocolVersion, additional_operation_name, additional_signature_id, resource_Type_label target.resource.attribute.labels Son las etiquetas asociadas con el recurso de destino.
session_end target.resource.attribute.last_update_time Fecha y hora de la última actualización del recurso de destino
db_name, database_name target.resource.name Nombre del recurso de destino
db_type, server_type target.resource.resource_subtype Subtipo del recurso de destino
target.resource.resource_type Tipo del recurso de destino
solicitud target.url URL asociada al destino
dpriv, roles target.user.attribute.roles Roles asociados con el usuario objetivo
temp_duser, CustomerName target.user.user_display_name Nombre visible del usuario objetivo
temp_duid, User, Bruker, db_username target.user.userid ID de usuario del objetivo
metadata.product_name Nombre del producto
metadata.vendor_name Nombre del proveedor

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