Recopila registros del interruptor Cisco

Compatible con:

En este documento, se explica cómo transferir registros de interruptores Cisco a Google Security Operations con un agente de Bindplane. El analizador extrae campos de los mensajes de SYSLOG y los asigna a un modelo de datos unificado (UDM) según patrones y palabras clave identificados. Controla una amplia variedad de eventos, como DHCP, SSH, intentos de acceso, tráfico de red y actualizaciones de estado del sistema, los clasifica y enriquece los datos con detalles de seguridad relevantes.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • 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 a un interruptor Cisco.

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

Instalación de Windows

  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 una terminal con privilegios de raíz 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

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

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, 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: CISCO_SWITCH
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

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

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Obtén el archivo de autenticación de transferencia 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 Services o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura Syslog en un switch Cisco

  1. Accede al interruptor Cisco.
  2. Para escalar privilegios, ingresa el comando enable:

    Switch> enable
    Switch#
    
  3. Para cambiar al modo de configuración, ingresa el comando conf t:

    Switch# conf t
    Switch(config)#
    
  4. Ingresa los siguientes comandos:

    logging host <bindplane-server-ip> transport <tcp/udp> port <port-number>
    logging source-interface <interface>
    
    • Reemplaza <bindplane-server-ip> por la dirección IP del agente de Bindplane y <port-number> por el puerto configurado.
    • Reemplaza <tcp/udp> por el protocolo de escucha configurado en el agente de Bindplane. (Por ejemplo, udp).
    • Reemplaza <interface> por el ID de la interfaz de Cisco.
  5. Para establecer el nivel de prioridad, ingresa el siguiente comando:

    logging trap Informational 
    logging console Informational 
    logging severity Informational
    
  6. Establece la facilidad de syslog:

    logging facility local6
    
  7. Ingresa el siguiente comando para habilitar las marcas de tiempo:

    service timestamps log datetime
    
  8. Guarda y cierra.

  9. Para configurar la configuración para que sobreviva al reinicio, ingresa el siguiente comando:

    copy running-config startup-config
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
acción security_result.action_details El valor de este campo se deriva del campo action en el registro sin procesar.
día
descripción metadata.description El valor de este campo se deriva del campo description en el registro sin procesar.
descripción security_result.description El valor de este campo se deriva del campo description en el registro sin procesar.
destination_ip target.asset.ip El valor de este campo se deriva del campo destination_ip en el registro sin procesar.
destination_ip target.ip El valor de este campo se deriva del campo destination_ip en el registro sin procesar.
destination_port target.port El valor de este campo se deriva del campo destination_port en el registro sin procesar.
dispositivo principal.asset.hostname El valor de este campo se deriva del campo device en el registro sin procesar.
dispositivo principal.hostname El valor de este campo se deriva del campo device en el registro sin procesar.
dispositivo target.asset.hostname El valor de este campo se deriva del campo device en el registro sin procesar.
dispositivo target.hostname El valor de este campo se deriva del campo device en el registro sin procesar.
device_ip principal.asset.ip El valor de este campo se deriva del campo device_ip en el registro sin procesar.
device_ip principal.ip El valor de este campo se deriva del campo device_ip en el registro sin procesar.
device_ip target.asset.ip El valor de este campo se deriva del campo device_ip en el registro sin procesar.
device_ip target.ip El valor de este campo se deriva del campo device_ip en el registro sin procesar.
instalación principal.resource.type El valor de este campo se deriva del campo facility en el registro sin procesar.
header_data metadata.product_log_id El valor de este campo se deriva del campo header_data en el registro sin procesar.
header_data target.asset.ip El valor de este campo se deriva del campo header_data en el registro sin procesar.
header_data target.ip El valor de este campo se deriva del campo header_data en el registro sin procesar.
Nombre de host principal.asset.hostname El valor de este campo se deriva del campo hostname en el registro sin procesar.
Nombre de host principal.hostname El valor de este campo se deriva del campo hostname en el registro sin procesar.
ip principal.asset.ip El valor de este campo se deriva del campo ip en el registro sin procesar.
ip principal.ip El valor de este campo se deriva del campo ip en el registro sin procesar.
ip_address principal.asset.ip El valor de este campo se deriva del campo ip_address en el registro sin procesar.
ip_address principal.ip El valor de este campo se deriva del campo ip_address en el registro sin procesar.
ip_protocol network.ip_protocol El valor de este campo se deriva del campo ip_protocol en el registro sin procesar.
mac principal.mac El valor de este campo se deriva del campo mac en el registro sin procesar.
mnemotécnico network.dhcp.opcode El valor de este campo se deriva del campo mnemonic en el registro sin procesar.
mnemotécnico metadata.product_event_type El valor de este campo se deriva del campo mnemonic en el registro sin procesar.
mes
p_ip principal.asset.ip El valor de este campo se deriva del campo p_ip en el registro sin procesar.
p_ip principal.ip El valor de este campo se deriva del campo p_ip en el registro sin procesar.
puerto target.port El valor de este campo se deriva del campo port en el registro sin procesar.
priority
protocol network.ip_protocol El valor de este campo se deriva del campo protocol en el registro sin procesar.
Reason
regla security_result.rule_id El valor de este campo se deriva del campo rule en el registro sin procesar.
sec_result_action security_result.action El valor de este campo se deriva del campo sec_result_action en el registro sin procesar.
gravedad,
source principal.asset.ip El valor de este campo se deriva del campo source en el registro sin procesar.
source principal.ip El valor de este campo se deriva del campo source en el registro sin procesar.
source_ip network.dhcp.ciaddr El valor de este campo se deriva del campo source_ip en el registro sin procesar.
source_ip principal.asset.ip El valor de este campo se deriva del campo source_ip en el registro sin procesar.
source_ip principal.ip El valor de este campo se deriva del campo source_ip en el registro sin procesar.
source_mac network.dhcp.chaddr El valor de este campo se deriva del campo source_mac en el registro sin procesar.
source_port principal.port El valor de este campo se deriva del campo source_port en el registro sin procesar.
resumen security_result.summary El valor de este campo se deriva del campo summary en el registro sin procesar.
hora
Zona horaria
usuario principal.user.userid El valor de este campo se deriva del campo user en el registro sin procesar.
usuario target.user.userid El valor de este campo se deriva del campo user en el registro sin procesar.
cuando
año
extensions.auth.type MACHINE
metadata.log_type CISCO_SWITCH
metadata.vendor_name Cisco
metadata.product_name Switch Cisco
network.application_protocol DHCP
network.dhcp.type SOLICITUD

Cambios

2025-02-18

Mejora:

  • Se agregó compatibilidad con el nuevo patrón de registros SYSLOG.

2025-01-22

Mejora:

  • Si facility es SEC_LOGIN y mnemonic es LOGIN_SUCCESS, se asigna device a principle.hostname y principal.asset.hostname.
  • Si facility es SEC_LOGIN y mnemonic es LOGIN_FAILED, se asigna device a principal.hostname y principal.asset.hostname.

2024-11-27

Mejora:

  • Se agregaron nuevos patrones de Grok para analizar los registros de syslog con errores.
  • Se asignó username3 a principal.user.userid.
  • Se asignó login_status a security_result.summary.

2024-11-20

Mejora:

  • Se agregó compatibilidad con el nuevo patrón de registros SYSLOG.

2024-11-06

Mejora:

  • Se asignó ecs.version a metadata.product_version.
  • Se asignaron fileset.name, flow.locality, flow.id, input.type, netflow.exporter.source_id y netflow.exporter.uptime_millis a additional.fields.
  • Se asignó network.transport a network.ip_protocol.
  • Se asignó netflow.post_nat_source_ipv4_address a principal.ip.
  • Se asignó netflow.source_transport_port a principal.port.
  • Se asignó network.direction a network.direction.

2024-10-22

Mejora:

  • Se agregó un patrón Grok para analizar registros sin analizar.
  • Se asignó intermediary_ip a intermediary.ip
  • Se asignó intermediary_hostname a intermediary.hostname

2024-10-03

Mejora:

  • Se agregó compatibilidad con el nuevo patrón de registros SYSLOG.

2024-09-24

Mejora:

  • Se agregó compatibilidad con un nuevo formato de registros de syslog.

2024-08-26

Mejora:

  • Cuando principal_host está vacío, solo se asigna device a principal.hostname.

2024-07-01

Mejora:

  • Se agregó un patrón Grok para analizar registros descartados válidos con un patrón nuevo.
  • Además, se agregó un patrón Grok para recuperar target_ip del campo header_data.

2024-05-29

Mejora:

  • Se agregó un patrón Grok para analizar registros descartados válidos con un patrón nuevo.
  • Se agregó un patrón Grok para recuperar principal_host del campo header_data.
  • Se agregó un patrón Grok para recuperar destination_ip, src_mac y hostname del campo description.
  • Se asignó principal_host a principal.hostname.
  • Se asignó src_mac a principal.mac.
  • Se asignó eventSummary a metadata.product_event_type.
  • Se asignó description a security_result.description.
  • Se asignó error_msg a security_result.detection_fields.

2024-05-22

Mejora:

  • Se agregó un patrón de Grok para recuperar el nombre de host.

2024-05-08

Mejora:

  • Se agregó un patrón de Grok para admitir registros en formato SYSLOG procesados.
  • Se asignó pid a principal.process.pid.
  • Se asignó srcPort a principal.port.
  • Se asignó device_ip a principal.ip y principal.asset.ip.
  • Se asignó srcUser a principal.user.userid.
  • Se asignó username1 a target.user.userid.
  • Se asignó command a target.process.command_line.
  • Se asignó PWD a target.process.file.full_path.
  • Se asignó host_name a principal.hostnameandprincipal.asset.hostname`.
  • Se asignaron node_id, cluster_id, exception, UniqueId y app_id a additional.fields.

2023-12-08

Mejora:

  • Se agregó compatibilidad con el nuevo patrón de registros SYSLOG y registros de par clave-valor.
  • Se asignó DEVICE a principal.mac.
  • Se asignó SRC a principal.ip.
  • Se asignó SPT a principal.port.
  • Se asignó DST a target.ip.
  • Se asignó DPT a target.port.
  • Se asignó ID a network.session_id.
  • Se asignó LEN a network.session_duration.seconds.
  • Se asignó PROTO a network.ip_protocol.
  • Se asignaron IN, OUT, PHYSIN, WINDOW, RES,TOS,PREC,TTL,URGP,MAC,radio,vap,auth_type,sugg_band,ssid_id,ssid_profile_nameandprotocoltoadditional.fields`.
  • Se asignó client_mac a principal.mac.
  • Se asignó aid a network.session_id.
  • Se asignó rssi a intermediary.asset.product_object_id.
  • Se asignó channel a security_result.detection_fields.

2023-11-05

Mejora:

  • Se modificaron y agregaron nuevos patrones de Grok para analizar los registros de syslog con errores.
  • Se agregó el filtro KV para analizar los registros de KV.
  • Se asignaron eventSummary, dhcp_ip, client_mac, aid y ip_src a metadata.product_event_type, target.ip, network.dhcp.chaddr, network.session_id y principal.ip, respectivamente.
  • Se asignaron mac, src, sport, dst, dport, action, protocol, url y signature a principal.mac, principal.ip, principal.port, target.ip, target.port, security_result.action, network.ip_protocol, principal.url y "additional.fields", respectivamente.
  • Para eventSummary, splash_auth asignó metadata.event_type y extensions.auth.type a USER_LOGIN y MACHINE, respectivamente.
  • Para eventSummary, association asignó eventSummary, aid, rssi, channel, last_known_client_ip y event_type a security_result.summary, network.session_id, intermediary.asset.product_object_id, security_result.detection_fields, principal.ip y STATUS_UPDATE, respectivamente.

2023-04-27

Mejora:

  • Se redujo el porcentaje genérico.
  • Se quitaron los patrones de Grok innecesarios.
  • Se agregó el patrón Grok para analizar los registros de syslog.
  • Se agregó una verificación condicional para source_ip, destination_ip.
  • Si source_ip y destination_ip están presentes, asigna event_type a NETWORK_CONNECTION.
  • Si source_ip está presente y destination_ip no, asigna event_type a STATUS_UPDATE.
  • Se asignó pid a target.process.pid.
  • Se asignó app_name a target.application.

24-3-2023

Corrección de errores:

  • Se agregó el patrón y la asignación de Grok para los registros en los que los tipos de mensajes son FILECPY, REJECT, CONNECT o DISCONNECT.

2023-01-24

Mejora:

  • Se modificaron los patrones de Grok para admitir registros con zona horaria.
  • Se asignó "ip_address" a "principal.ip".
  • Cuando mnemonic es NBR_RESET y ip_address está presente , metadata.event_type se establece como STATUS_UPDATE.

2022-07-21

Mejora:

  • Se agregó el patrón grok y se mejoró el analizador para analizar los registros que se descartaban (registros sin "%--").
  • Se asignó "hostname" a "principal.hostname".
  • Se asignó "source_ip" a "principal.ip"
  • Se asignó "destination_ip" a "target.ip".
  • Se asignó "ip_protocol" a "network.ip_protocol".
  • Se asignó "summary" a "security_result.summary".
  • Se asignó "header_data" a "metadata.product_log_id".

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