Recopila registros del conmutador Brocade

Compatible con:

Este analizador extrae campos de los registros de conmutadores Brocade con patrones de Grok que coinciden con varios formatos de registro. Luego, asigna estos campos extraídos a los campos del UDM, controla diferentes estructuras de registros y enriquece los datos con metadatos, como información del proveedor y del producto. El analizador también realiza transformaciones de datos, como convertir los niveles de gravedad y controlar los mensajes repetidos, antes de generar el resultado final del 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 ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso de administrador a la CLI del conmutador Brocade.

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

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Collection Agents.
  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 SIEM Settings > Profile.
  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 en 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 en 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 que ingiera Syslog y lo envíe 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 conmutador Brocade

  1. Conéctate al conmutador 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 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 de 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 de Grok que coincide con el campo event_id.
event_type metadata.product_event_type Es el valor extraído del patrón de 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 de Grok que coincide con el campo flags.
Info metadata.description Es el 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 Es el valor extraído del campo ip, analizado con grok. Se combina en principal.ip si no es la misma que 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 Es el 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 de Grok que coincide con el campo prin_host.
product_version metadata.product_version Es el valor extraído del patrón de Grok que coincide con el campo product_version.
repeat_count additional.fields[].key: "repeat_count"
additional.fields[].value.string_value:
Es el 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 "Admin".
sequence_number additional.fields[].key: "sequence_number"
additional.fields[].value.string_value:
Es el valor extraído del patrón de Grok que coincide con el campo sequence_number.
severity security_result.severity Es el valor extraído del campo severity, analizado con grok. Se asigna a los valores de gravedad del 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 de Grok que coincide con el campo switch_name.
target_application target.application Es el valor extraído del patrón de 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
Es el 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 como "BROCADE_SWITCH". Se codifica de forma rígida como "BROCADE". Se codifica como "BROCADE_SWITCH". Se deriva del campo interface o se establece en "SSH" si el campo interface contiene "SSH".

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