Recoger registros de conmutadores Alcatel

Disponible en:

En este documento se explica cómo ingerir registros de conmutadores Alcatel en Google Security Operations mediante un agente de Bindplane. El analizador extrae campos mediante una serie de grok patrones basados en diferentes formatos de registro. Después, asigna los campos extraídos a los campos correspondientes del modelo de datos unificado (UDM) y enriquece los datos con metadatos como el proveedor y el tipo de evento.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google SecOps.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host Linux con systemd.
  • Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.
  • Asegúrate de que tienes credenciales con privilegios para un conmutador Alcatel.

Obtener el archivo de autenticación de ingestión de Google SecOps

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

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en 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.

Instalar el agente de Bindplane

Instalación de ventanas

  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 un terminal con privilegios de superusuario 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

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Busca el archivo config.yaml. Normalmente, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. 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: ALCATEL_SWITCH
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.

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

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión 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 Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar la exportación de Syslog de un conmutador Alcatel

  1. Conéctate al conmutador mediante SSH o un cable de consola.
  2. Inicia sesión con las credenciales de administrador.
  3. Accede al modo de configuración global:

    enable
    configure terminal
    
  4. Define la dirección IP del servidor Bindplane (syslog):

    swlog output socket <syslog-server-ip>
    
    • Sustituye <syslog-server-ip> por la dirección IP del agente de Bindplane.
  5. Habilita el registro en el servidor syslog:

    swlog remote enable
    
  6. Configura el nivel de registro:

    swlog console level info
    
  7. Habilita el registro de comandos:

    command-log enable
    
  8. Guarda los cambios en la configuración de inicio:

    write memory
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
1.1.1.1 principal.ip
principal.asset.ip
Extraído del mensaje de registro.
1.1.1.2 target.ip
target.asset.ip
Extraído del mensaje de registro.
1.1.2.7 target.ip
target.asset.ip
Extraído del mensaje de registro.
1035 target.port Extraído del mensaje de registro.
2266 additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como vlan.
3036 principal.port Extraído del mensaje de registro.
59300 target.port Extraído del mensaje de registro.
60588 target.port Extraído del mensaje de registro.
997 principal.resource.attribute.labels.value Se extrae del mensaje de registro y se asigna como limit.
A6450-L2-K4B-01 principal.application Extraído del mensaje de registro.
A6450-L2-X1B-02-01 principal.application Extraído del mensaje de registro.
A6450-L2-X2A-01-01 principal.application Extraído del mensaje de registro.
A6450-L2-X4B-02-01 principal.application Extraído del mensaje de registro.
A6900-L3-LTX0A principal.application Extraído del mensaje de registro.
Accepted keyboard-interactive/pam security_result.summary Parte del campo sec_summary extraído.
b8:53:ac:6e:c9:bc principal.mac Extraído del mensaje de registro.
BRIDGE(10) additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como id_protocol.
CLI log, security_result.summary Parte del campo sec_summary extraído.
cmd: show configuration snapshot all, security_result.detection_fields.value Se extrae del mensaje de registro y se asigna como cmd.
Connection reset by 1.1.2.7 port 60505 security_result.summary Extraído del mensaje de registro.
Dec 7 14:28:40 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 8 04:21:22 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 9 20:08:29 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 9 20:51:34 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 11 10:18:30 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 17 02:14:22 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Dec 19 10:27:33 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Did not receive identification string from 1.1.2.7 port 60588 security_result.summary Extraído del mensaje de registro.
esmSetRateLimit: Txing additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como esm_set_rate_limit.
Feb 15 16:29:29 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Feb 16 11:08:45 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
Feb 16 11:08:49 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid security_result.summary Extraído del mensaje de registro.
for ncmadmin from 1.1.1.2 port 59300 ssh2 security_result.summary Parte del campo sec_summary extraído.
from port 3036 to port 1035 security_result.summary Parte del campo sec_summary extraído.
IVDELCSW03 principal.hostname
principal.asset.hostname
Se extrae del mensaje de registro cuando principal_ip no es una dirección IP.
IP-HELPER(22) additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como id_protocol.
Jan 16 02:14:13 metadata.event_timestamp.seconds
metadata.event_timestamp.nanos
Analizado a partir del campo ts.
LLDP(42) additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como id_protocol.
limit=997, principal.resource.attribute.labels.value Se extrae del mensaje de registro y se asigna como limit.
limitType=1 principal.resource.attribute.labels.value Se extrae del mensaje de registro y se asigna como limitType.
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL security_result.summary Extraído del mensaje de registro.
Mac Movement for MacAddr: a0:29:19:c0:55:18 security_result.summary Extraído del mensaje de registro.
MacAddr: a0:29:19:c0:55:18 principal.mac Extraído del mensaje de registro.
ncmadmin principal.user.userid Extraído del mensaje de registro.
OS6360 principal.hostname
principal.asset.hostname
Se extrae del mensaje de registro cuando principal_ip no es una dirección IP.
result: SUCCESS security_result.detection_fields.value Se extrae del mensaje de registro y se asigna como result.
SES CMD info(5) security_result.summary Parte del campo sec_summary extraído.
STACK-MANAGER principal.application Extraído del mensaje de registro.
Stack Port A MAC Frames TX/RX Enabled security_result.summary Extraído del mensaje de registro.
STP(11) additional.fields.value.string_value Se extrae del mensaje de registro y se asigna como id_protocol.
SWCONSOLE-L2-K0A-01 target.hostname
target.asset.hostname
Extraído del mensaje de registro.
trafficType=2, principal.resource.attribute.labels.value Se extrae del mensaje de registro y se asigna como trafficType.
user: ncmadmin security_result.summary Parte del campo sec_summary extraído.
zslot=0, principal.resource.attribute.labels.value Se extrae del mensaje de registro y se asigna como zslot.
- additional.fields.key Valor codificado: id_protocol
- additional.fields.key Valor codificado: esm_set_rate_limit
- additional.fields.key Valor codificado: vlan
- metadata.event_type Se define como GENERIC_EVENT si no coincide con ningún otro tipo.
- metadata.product_name Valor codificado: Alcatel Switch
- metadata.vendor_name Valor codificado: ALCATEL SWITCH
- network.application_protocol Se asigna el valor SSH cuando id_protocol coincide con ssh (sin distinguir entre mayúsculas y minúsculas).
- principal.resource.attribute.labels.key Valor codificado: limit
- principal.resource.attribute.labels.key Valor codificado: trafficType
- principal.resource.attribute.labels.key Valor codificado: limitType
- principal.resource.attribute.labels.key Valor codificado: zslot
- security_result.detection_fields.key Valor codificado: cmd
- security_result.detection_fields.key Valor codificado: result
- security_result.severity Se asigna el valor INFORMATIONAL cuando prod_severity coincide con info (sin distinguir entre mayúsculas y minúsculas).

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.