Recopila registros de BMC AMI Defender

Compatible con:

En este documento, se explica cómo transferir registros de BMC AMI Defender a Google Security Operations con el agente de Bindplane.

BMC AMI Datastream para z/OS es un programa agente de mainframe que supervisa la actividad del sistema z/OS y recopila, procesa y entrega registros de System Management Facility (SMF) a los sistemas SIEM distribuidos en tiempo real. El agente reformatea los registros de SMF de RACF, ACF2, Top Secret, TCP/IP, CICS, IMS y otros eventos del sistema y de aplicaciones de z/OS como mensajes de syslog que cumplen con el RFC 3164 y los transmite a través de los protocolos UDP, TCP o TLS.

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 para el agente de Bindplane
  • Conectividad de red entre el host del agente de Bindplane y la LPAR de z/OS que ejecuta BMC AMI Datastream
  • 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.
  • BMC AMI Datastream para z/OS versión 6.1 o posterior instalado y en ejecución en la LPAR de z/OS
  • Acceso para editar archivos de parámetros en el conjunto de datos amihlq.PARM en z/OS (por lo general, requiere acceso a TSO/ISPF o autoridad para enviar trabajo por lotes)
  • Autoridad para modificar la configuración de BMC AMI Datastream (por lo general, requiere acceso de LECTURA de RACF a los conjuntos de datos de parámetros)

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 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

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

    receivers:
      tcplog:
        listen_address: "0.0.0.0:1514"
    
    exporters:
      chronicle/bmc_datastream:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'your-customer-id-here'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BMC_AMI_DEFENDER
        raw_log_field: body
    
    service:
      pipelines:
        logs/datastream_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/bmc_datastream
    
  2. Reemplaza los marcadores de posición que se indican más abajo:

    • Configuración del receptor:

      listen_address: Dirección IP y puerto para escuchar:

      • 0.0.0.0:1514 para escuchar en todas las interfaces en el puerto 1514 (se recomienda para Linux no root)
      • 0.0.0.0:514 para escuchar en todas las interfaces en el puerto syslog estándar (requiere acceso de administrador en Linux)
      • Dirección IP específica para escuchar en una interfaz
    • 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: Tu customer ID. Para obtener más información, consulta Cómo obtener el ID de cliente de Google SecOps.

      • endpoint: URL del extremo regional:

        • EE.UU.: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Consulta Extremos regionales para obtener la lista completa.
      • log_type: BMC_AMI_DEFENDER

Ejemplo de configuración para Syslog UDP

  • Si prefieres el transporte UDP (menor latencia, enviar y olvidar):

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/bmc_datastream:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: BMC_AMI_DEFENDER
        raw_log_field: body
    
    service:
      pipelines:
        logs/datastream_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/bmc_datastream
    

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, haz lo siguiente:

    1. Ejecuta el comando siguiente:

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar el agente de Bindplane en Windows, haz lo siguiente:

    1. 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.
    2. Verifica que el servicio esté en ejecución:

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

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

Configura el reenvío de syslog de BMC AMI Defender

Edita el archivo de parámetros con TSO/ISPF

  1. Accede a TSO/ISPF en la LPAR de z/OS en la que está instalado BMC AMI Datastream.
  2. En el ISPF Primary Option Menu, ingresa 2 para seleccionar EDIT.
  3. En el Panel de entrada - Editar, ingresa lo siguiente:

    • Biblioteca de ISPF: Ingresa el nombre del conjunto de datos de parámetros en el formato 'amihlq.PARM', en el que amihlq es el calificador de alto nivel elegido durante la instalación (por ejemplo, 'PROD.CZAGENT.PARM').
    • Miembro: Ingresa el miembro $$$CONFG.
  4. Press Enter to open the member for editing.

Configure the SIEM type

  1. In the $$$CONFG y busca la sección etiquetada como Switches for setting the SIEM type.
  2. Quita el comentario de un tipo de SIEM quitando el punto y coma inicial de la línea correspondiente:

    • Para el formato estándar de syslog, quita la marca de comentario de: SWITCH ON(RFC3164)
    • Para el formato de evento común, quita la marca de comentario de: SWITCH ON(CEF)
    • Para el formato JSON, quita el comentario de: SWITCH ON(JSON)
    • Para el formato LEEF de IBM QRadar, quita la marca de comentario de: SWITCH ON(LEEF)
    • Para el formato de Splunk, quita la marca de comentario de: SWITCH ON(Splunk)
  3. Presiona F3 para guardar y salir del miembro.

Configura el servidor syslog

  1. En el Panel de entrada de edición, ingresa lo siguiente:

    • ISPF Library: Ingresa 'amihlq.PARM' (igual que antes).
    • Miembro: Ingresa $$$SERVR.
  2. Press Enter to open the member for editing.

  3. Locate the section corresponding to your selected SIEM type. For example:

    • For RFC3164: Locate the section labeled ; RFC3164
    • For CEF: Locate the section labeled ; CEF - TRANS(TCP) Recommended
    • For JSON: Locate the section labeled ; JSON - TRANS(TCP) Recommended
  4. Uncomment the SERVER statement by removing the leading semicolon.

  5. Edit the SERVER statement with the following values:

    • Replace ip.addr.example with the IP address of the Bindplane agent host (for example, 192.168.1.100).
    • If using TCP (recommended), the statement should look like:

      SERVER 192.168.1.100:1514 TRANS(TCP) MAXMSG(2000)
      
    • If using UDP, the statement should look like:

      SERVER 192.168.1.100:514 TRANS(UDP) MAXMSG(2000)
      
  6. If you selected CEF, JSON, or Splunk format and are using TCP transport, locate the OPTIONS statement section and uncomment the FRAMING parameter:

    OPTIONS FRAMING(OCTETCOUNT)
    
  7. Press F3 to save and exit the member.

Refresh the BMC AMI Datastream configuration

  1. From the ISPF Primary Option Menu, enter 6 to select COMMAND.
  2. On the TSO Command Processor screen, enter the following MVS console command:

    F czagentname,PARMS
    

    Replace czagentname with the name of the BMC AMI Datastream started task (typically CZAGENT or the instance name configured during installation).

  3. Press Enter to execute the command.

  4. Verify the configuration was refreshed by checking the system log for message CZA0001I indicating the parameter file was successfully processed.

Verify syslog transmission

  1. From the ISPF Primary Option Menu, enter 6 to select COMMAND.
  2. Enter the following command to display BMC AMI Datastream statistics:

    F czagentname,STATS
    
  3. Press Enter to execute the command.

  4. Check the system log for message CZA0350I showing the number of messages sent to the syslog server.

  5. Verify the Bindplane agent is receiving messages by checking the Bindplane agent logs:

    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: Check C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log

Alternative: Edit parameter file using batch job

If you do not have TSO/ISPF access, you can edit the parameter files using a batch job:

  1. Create a batch job with the following JCL:

    //EDITPARM JOB (ACCT),'EDIT DATASTREAM PARMS',
    //         CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID
    //STEP1    EXEC PGM=IEBGENER
    //SYSPRINT DD SYSOUT=*
    //SYSIN    DD DUMMY
    //SYSUT1   DD *
    SWITCH ON(RFC3164)
    /*
    //SYSUT2   DD DSN=amihlq.PARM($$$CONFG),DISP=SHR
    //STEP2    EXEC PGM=IEBGENER
    //SYSPRINT DD SYSOUT=*
    //SYSIN    DD DUMMY
    //SYSUT1   DD *
    SERVER 192.168.1.100:1514 TRANS(TCP) MAXMSG(2000)
    /*
    //SYSUT2   DD DSN=amihlq.PARM($$$SERVR),DISP=SHR
    .
  2. Reemplaza amihlq por el calificador de alto nivel para la instalación de BMC AMI Datastream.

  3. Reemplaza 192.168.1.100:1514 por la dirección IP y el puerto del host del agente de Bindplane.

  4. Envía el trabajo y verifica que se haya completado correctamente (código de retorno 0).

  5. Ejecuta el comando MODIFY para actualizar la configuración como se describe en la sección anterior.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
aceeadsp security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceeaudt security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceeflg1 security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceelogu security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceeoper security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceepriv security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceeracf security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceeroa security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
aceespec security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
additional.fields additional.fields Información adicional sobre el evento
auth security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_audit security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_bypass security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_exit security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_normal security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_oper security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_soft security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_special security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
auth_trusted security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
authinfo security_result.description Descripción del resultado de seguridad
evento metadata.product_event_type Tipo de evento específico del producto
event_type metadata.event_type Tipo de evento (p.ej., USER_LOGIN, NETWORK_CONNECTION)
eventdesc metadata.description Descripción del evento
grupo additional.fields Información adicional sobre el evento
Nombre de host principal.hostname, principal.asset.hostname Nombre de host de la principal, nombre de host del activo
jobid security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
jobnm additional.fields Información adicional sobre el evento
jsauth security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
nombre principal.user.user_display_name Nombre visible del usuario
pgm security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
privstatd security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_always security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_audit security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_cmdviol security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_globalaudit security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_setropts security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_special security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_user security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
reas_verify security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
rtype additional.fields Información adicional sobre el evento
saf additional.fields Información adicional sobre el evento
safd additional.fields Información adicional sobre el evento
security_result.detection_fields security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
gravedad, security_result.severity, security_result.severity_details Gravedad del resultado de seguridad, información detallada sobre la gravedad
sid additional.fields Información adicional sobre el evento
timestamp metadata.event_timestamp Marca de tiempo en la que ocurrió el evento
tokflg1 security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
tokflg3 security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
tokpriv security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
toksus security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
tokudus security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
userid principal.user.userid ID de usuario
incumplimiento security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
user_warning security_result.detection_fields Campos que se usaron para determinar el resultado de seguridad
worktyped additional.fields Información adicional sobre el evento
metadata.product_name Nombre del producto
metadata.vendor_name Nombre del proveedor o la empresa

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