Recopila registros del interruptor Brocade

Compatible con:

Este analizador extrae campos de los registros del interruptor Brocade con patrones de grok que coinciden con varios formatos de registro. Luego, asigna estos campos extraídos a los campos de la UDM, controla diferentes estructuras de registro y enriquece los datos con metadatos, como información del proveedor y del producto. El analizador también realiza transformaciones de datos, como convertir niveles de gravedad y controlar mensajes repetidos, antes de generar el resultado final de la UDM.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso de administrador de la CLI al switch Brocade.

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.

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

  1. Para la instalación de Windows, ejecuta la siguiente secuencia de comandos:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Para la instalación de Linux, ejecuta la siguiente secuencia de comandos:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Puedes encontrar opciones de instalación adicionales en esta guía de instalación.

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

  1. Accede a la máquina en la que está instalado BindPlane.
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Brocade_Switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicia el agente de BindPlane para aplicar los cambios:

    sudo systemctl restart bindplane
    

Configura la exportación de Syslog desde un switch Brocade

  1. Conéctate al switch Brocade con SSH o Telnet con las credenciales adecuadas.
  2. Ejecuta el siguiente comando para especificar la dirección IP o el nombre de host y el puerto del servidor de syslog (Bindplane):

    syslogadmin --set -ip <IP> -port <Port>
    

    Por ejemplo:

    syslogadmin --set -ip 10.10.10.10 -port 54525
    
  3. Ejecuta el siguiente comando para mostrar los servidores de syslog configurados:

    syslogadmin --show -ip
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
application additional.fields[].key: "application"
additional.fields[].value.string_value:
Es el valor extraído del campo application@1588 en el registro sin procesar cuando existe el campo KV_DATA.
class additional.fields[].key: "class"
additional.fields[].value.string_value:
Es el valor extraído del campo class@1588 en el registro sin procesar cuando existe el campo KV_DATA.
domain principal.administrative_domain Es el valor extraído del patrón Grok que coincide con el campo domain.
Event additional.fields[].key: "event_category"
additional.fields[].value.string_value:
Es el valor extraído del campo arg0@1588 en el registro sin procesar cuando existe el campo KV_DATA.
event_id metadata.product_log_id Es el valor extraído del patrón Grok que coincide con el campo event_id.
event_type metadata.product_event_type Es el valor extraído del patrón Grok que coincide con el campo event_type.
flags additional.fields[].key: "flags"
additional.fields[].value.string_value:
Es el valor extraído del patrón Grok que coincide con el campo flags.
Info metadata.description Valor extraído del campo Info analizado con grok
interface app_protocol_src Es el valor extraído del campo interface@1588 en el registro sin procesar cuando existe el campo KV_DATA. Se usa para derivar network.application_protocol.
ip principal.ip Valor extraído del campo ip analizado con grok Se fusiona en principal.ip si no es igual a la IP extraída del campo Info.
Info, IP Addr principal.ip Es el valor extraído del campo IP Addr dentro del campo Info, analizado con grok.
log additional.fields[].key: "log"
additional.fields[].value.string_value:
Es el valor extraído del campo log@1588 en el registro sin procesar cuando existe el campo KV_DATA.
msg metadata.description Valor extraído del campo msg analizado con grok
msgid additional.fields[].key: "msgid"
additional.fields[].value.string_value:
Es el valor extraído del campo msgid@1588 en el registro sin procesar cuando existe el campo KV_DATA.
prin_host principal.hostname
principal.asset.hostname
Es el valor extraído del patrón Grok que coincide con el campo prin_host.
product_version metadata.product_version Es el valor extraído del patrón Grok que coincide con el campo product_version.
repeat_count additional.fields[].key: "repeat_count"
additional.fields[].value.string_value:
Valor extraído del campo msg analizado con grok
role, user_role principal.user.attribute.roles[].name Es el valor extraído del campo role@1588 o user_role. Si el valor es "admin", se reemplaza por "Administrador".
sequence_number additional.fields[].key: "sequence_number"
additional.fields[].value.string_value:
Es el valor extraído del patrón Grok que coincide con el campo sequence_number.
severity security_result.severity Valor extraído del campo severity analizado con grok Se asignan a los valores de gravedad de la UDM (INFORMATIONAL, ERROR, CRITICAL, MEDIUM).
Status security_result.summary Es el valor extraído del campo Status.
switch_name additional.fields[].key: "switch_name"
additional.fields[].value.string_value:
Es el valor extraído del patrón Grok que coincide con el campo switch_name.
target_application target.application Es el valor extraído del patrón Grok que coincide con el campo target_application.
time additional.fields[].key: "time"
additional.fields[].value.string_value:
Es el valor extraído del campo time dentro del campo kv_data3.
timestamp metadata.event_timestamp.seconds Es el valor extraído del campo timestamp, analizado con el filtro de fecha.
user principal.user.userid
principal.user.user_display_name
Valor extraído del campo user o user@1588, analizado con grok Se copió desde principal.hostname. Se copió desde principal.ip. Se copia de metadata.product_event_type o se establece en "STATUS_UPDATE" según las condiciones. Se copió del create_time.nanos del registro. Se determina según la lógica del analizador en función de los valores de has_principal, has_target, has_userid y event_type. Puede ser "SYSTEM_AUDIT_LOG_UNCATEGORIZED", "STATUS_UPDATE" o "GENERIC_EVENT". Se codifica en “BROCADE_SWITCH”. Está codificado de forma fija en "BROCADE". Se codifica en “BROCADE_SWITCH”. Se deriva del campo interface o se establece en "SSH" si el campo interface contiene "SSH".

Cambios

2024-04-15

  • Se agregó compatibilidad con registros específicos del cliente.

2023-12-01

  • Sin embargo, el analizador se creó recientemente.