Recopila registros del conmutador de Cisco

Versión del analizador: 27.0

Compatible con:

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

Los conmutadores de Cisco generan mensajes de syslog para los cambios de estado de los puertos, los eventos de árbol de expansión, las coincidencias de ACL, la autenticación y las operaciones del sistema. El analizador extrae campos con patrones de Grok y los asigna al modelo de datos unificado (UDM).

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
  • Conectividad de red entre el agente de Bindplane y el conmutador de Cisco
  • 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.
  • Acceso con privilegios a la CLI del conmutador de 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
  4. Guarda el archivo de forma segura en el sistema en el que se instalará el agente de 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. Ejecuta el siguiente comando para verificar la instalación:

    sc query observiq-otel-collector
    

    El servicio debería 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. Ejecuta 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 registros de Syslog y enviarlos 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

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cisco_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CISCO_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/cisco_switch_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cisco_switch
    

Parámetros de configuración

Reemplaza los marcadores de posición que se indican más abajo:

  • Configuración del receptor:

    • listen_address: Dirección IP y puerto que se escucharán:
      • 0.0.0.0 para escuchar en todas las interfaces (recomendado)
      • El puerto 514 es el puerto estándar de syslog (requiere acceso raíz en Linux; usa 1514 para acceso no raíz).
  • 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: ID de cliente copiado de la consola 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.

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, ejecuta el siguiente comando:

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

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

      ```bash
      sudo journalctl -u observiq-otel-collector -f
      ```
      
  • Para reiniciar el agente de Bindplane en Windows, 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 Servicios:

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

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

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

Cómo configurar syslog en un conmutador Cisco

  1. Accede al conmutador de Cisco.
  2. Escalar privilegios:

    enable
    
  3. Cambia al modo de configuración:

    conf t
    
  4. Configura syslog:

    logging host <BINDPLANE_IP> transport <tcp/udp> port <PORT>
    logging source-interface <INTERFACE>
    
    • Reemplaza <BINDPLANE_IP> por la dirección IP del agente de Bindplane.
    • Reemplaza <tcp/udp> por el protocolo de escucha configurado (por ejemplo, udp).
    • Reemplaza <INTERFACE> por el ID de la interfaz de Cisco.
  5. Establece el nivel de prioridad:

    logging trap Informational
    logging console Informational
    logging severity Informational
    
  6. Establece la instalación de syslog:

    logging facility local6
    
  7. Habilita las marcas de tiempo:

    service timestamps log datetime
    
  8. Guarda y cierra.

  9. Guarda la configuración para que se conserve después de reiniciar:

    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.
mnemonic network.dhcp.opcode El valor de este campo se deriva del campo mnemonic en el registro sin procesar.
mnemonic 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
protocolo 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 MÁQUINA
metadata.log_type CISCO_SWITCH
metadata.vendor_name Cisco
metadata.product_name Conmutador Cisco
network.application_protocol DHCP
network.dhcp.type SOLICITUD
intermediary_ip event.idm.read_only_udm.intermediary.ip y event.idm.read_only_udm.intermediary.asset.ip Se asignó desde el registro de cambios
priority event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
product_log_id event.idm.read_only_udm.metadata.product_log_id Se asignó desde el registro de cambios
_time event.idm.read_only_udm.metadata.collected_timestamp Se asignó desde el registro de cambios
vlan_data event.idm.read_only_udm.intermediary.resource.attribute.labels Se asignó desde el registro de cambios
intermediary_ip event.idm.read_only_udm.intermediary.ip Se asignó desde el registro de cambios
intermediary_ip event.idm.read_only_udm.intermediary.asset.ip Se asignó desde el registro de cambios
time_stamp event.idm.read_only_udm.metadata.event_timestamp Se asignó desde el registro de cambios
process_name event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
switch_id event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
log_seq_num event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
log_seq_num_2 event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
p_interface event.idm.read_only_udm.principal.resource.name Se asignó desde el registro de cambios
audit_session_id event.idm.read_only_udm.security_result.detection_fields Se asignó desde el registro de cambios
mac event.idm.read_only_udm.principal.mac Se asignó desde el registro de cambios
packets event.idm.read_only_udm.network.sent_packets Se asignó desde el registro de cambios
facility event.idm.read_only_udm.principal.resource.resource_subtype Se asignó desde el registro de cambios
seq_num event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
device_hostname event.idm.read_only_udm.principal.hostname y event.idm.read_only_udm.principal.asset.hostname Se asignó desde el registro de cambios
id event.idm.read_only_udm.principal.user.userid Se asignó desde el registro de cambios
seq_num event.idm.read_only_udm.target.user.userid Se asignó desde el registro de cambios
log_message event.idm.read_only_udm.metadata.description Se asignó desde el registro de cambios
syslog_tag event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
syslog_pri event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
appcat event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
applist event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
dstintf event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
dstintfrole event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
mastersrcmac event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
osname event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
poluuid event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
service event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
srchwvendor event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
srcintf event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
srcintfrole event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
srcserver event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
transport event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
trandisp event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
vd event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
vwlid event.idm.read_only_udm.additional.fields Se asignó desde el registro de cambios
devid event.idm.read_only_udm.intermediary.asset.product_object_id Se asignó desde el registro de cambios
devname event.idm.read_only_udm.intermediary.hostname Se asignó desde el registro de cambios
logid event.idm.read_only_udm.metadata.product_log_id Se asignó desde el registro de cambios
subtype event.idm.read_only_udm.network.direction Se asignó desde el registro de cambios
proto event.idm.read_only_udm.network.ip_protocol Se asignó desde el registro de cambios
rcvdbyte event.idm.read_only_udm.network.received_bytes Se asignó desde el registro de cambios
sentbyte event.idm.read_only_udm.network.sent_bytes Se asignó desde el registro de cambios
sentpkt event.idm.read_only_udm.network.sent_packets Se asignó desde el registro de cambios
duration event.idm.read_only_udm.network.session_duration.seconds Se asignó desde el registro de cambios
sessionid event.idm.read_only_udm.network.session_id Se asignó desde el registro de cambios
srcname event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.principal.hostname Se asignó desde el registro de cambios
srcip event.idm.read_only_udm.principal.asset.ip, event.idm.read_only_udm.principal.ip Se asignó desde el registro de cambios
srcmac event.idm.read_only_udm.principal.asset.mac, event.idm.read_only_udm.principal.mac Se asignó desde el registro de cambios
osname event.idm.read_only_udm.principal.asset.platform_software.platform Se asignó desde el registro de cambios
srcswversion event.idm.read_only_udm.principal.asset.platform_software.platform_version Se asignó desde el registro de cambios
srccountry event.idm.read_only_udm.principal.location.country_or_region Se asignó desde el registro de cambios
transip event.idm.read_only_udm.principal.nat_ip Se asignó desde el registro de cambios
srcport event.idm.read_only_udm.principal.port Se asignó desde el registro de cambios
action event.idm.read_only_udm.security_result.action Se asignó desde el registro de cambios
policyid event.idm.read_only_udm.security_result.rule_id Se asignó desde el registro de cambios
policyname event.idm.read_only_udm.security_result.rule_name Se asignó desde el registro de cambios
policytype event.idm.read_only_udm.security_result.rule_type Se asignó desde el registro de cambios
level event.idm.read_only_udm.security_result.severity Se asignó desde el registro de cambios
action event.idm.read_only_udm.security_result.summary Se asignó desde el registro de cambios
dstip event.idm.read_only_udm.target.asset.ip, event.idm.read_only_udm.target.ip Se asignó desde el registro de cambios
dstcountry event.idm.read_only_udm.target.location.country_or_region Se asignó desde el registro de cambios
dstport event.idm.read_only_udm.target.port Se asignó desde el registro de cambios
device principle.hostname Se asignó desde el registro de cambios
username3 principal.user.userid Se asignó desde el registro de cambios
login_status security_result.summary Se asignó desde el registro de cambios
ecs.version metadata.product_version Se asignó desde el registro de cambios
fileset.name", "flow.locality", "flow.id", "input.type", "netflow.exporter.source_id", and "netflow.exporter.uptime_millis additional.fields Se asignó desde el registro de cambios
network.transport network.ip_protocol Se asignó desde el registro de cambios
netflow.post_nat_source_ipv4_address principal.ip Se asignó desde el registro de cambios
netflow.source_transport_port principal.port Se asignó desde el registro de cambios
network.direction network.direction Se asignó desde el registro de cambios
intermediary_ip intermediary.ip Se asignó desde el registro de cambios
intermediary_hostname intermediary.hostname Se asignó desde el registro de cambios
principal_host principal.hostname Se asignó desde el registro de cambios
src_mac principal.mac Se asignó desde el registro de cambios
eventSummary metadata.product_event_type Se asignó desde el registro de cambios
error_msg security_result.detection_fields Se asignó desde el registro de cambios
pid principal.process.pid Se asignó desde el registro de cambios
srcPort principal.port Se asignó desde el registro de cambios
srcUser principal.user.userid Se asignó desde el registro de cambios
username1 target.user.userid Se asignó desde el registro de cambios
command target.process.command_line Se asignó desde el registro de cambios
PWD target.process.file.full_path Se asignó desde el registro de cambios
node_id", "cluster_id", "exception", "UniqueId", and "app_id additional.fields Se asignó desde el registro de cambios
DEVICE principal.mac Se asignó desde el registro de cambios
SRC principal.ip Se asignó desde el registro de cambios
SPT principal.port Se asignó desde el registro de cambios
DST target.ip Se asignó desde el registro de cambios
DPT target.port Se asignó desde el registro de cambios
ID network.session_id Se asignó desde el registro de cambios
LEN network.session_duration.seconds Se asignó desde el registro de cambios
PROTO network.ip_protocol Se asignó desde el registro de cambios
IN", "OUT", "PHYSIN", "WINDOW", "RES, "TOS", "PREC", "TTL" ,"URGP", "MAC", "radio", "vap", "auth_type", "sugg_band", "ssid_id", "ssid_profile_name" and "protocol additional.fields Se asignó desde el registro de cambios
client_mac principal.mac Se asignó desde el registro de cambios
aid network.session_id Se asignó desde el registro de cambios
rssi intermediary.asset.product_object_id Se asignó desde el registro de cambios
channel security_result.detection_fields Se asignó desde el registro de cambios
eventSummary", "dhcp_ip", "client_mac", "aid" and "ip_src metadata.product_event_type Se asignó desde el registro de cambios
mac", "src", "sport", "dst", "dport", "action", "protocol", "url" and "signature principal.mac Se asignó desde el registro de cambios
metadata.event_type" and "extensions.auth.type USER_LOGIN Se asignó desde el registro de cambios
eventSummary", "aid", "rssi", "channel", "last_known_client_ip" and "event_type security_result.summary Se asignó desde el registro de cambios
pid target.process.pid Se asignó desde el registro de cambios
app_name target.application Se asignó desde el registro de cambios

Registro de cambios

Consulta el registro de cambios de este analizador

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