Coletar registros de switches da Cisco

Versão do analisador:27.0

Compatível com:

Este documento explica como ingerir registros de switches da Cisco no Google Security Operations usando o agente do Bindplane.

Os switches da Cisco geram mensagens do syslog para mudanças de estado da porta, eventos de spanning tree, correspondências de ACL, autenticação e operações do sistema. O analisador extrai campos usando padrões grok e os mapeia para o modelo de dados unificado (UDM).

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows Server 2016 ou mais recente ou host Linux com systemd
  • Conectividade de rede entre o agente do Bindplane e o switch da Cisco
  • Se estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado à CLI do switch da Cisco

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão.
  4. Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do BindPlane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o prompt de comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sc query observiq-otel-collector
    

    O serviço vai aparecer como EM EXECUÇÃO.

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sudo systemctl status observiq-otel-collector
    

    O serviço vai aparecer como ativo (em execução).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.

Configurar o agente do Bindplane para ingerir syslog e enviar ao Google SecOps

Localizar o arquivo de configuração

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  • Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    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 configuração

Substitua os seguintes marcadores de posição:

  • Configuração do receptor:

    • listen_address: endereço IP e porta a serem detectados:
      • 0.0.0.0 para detectar em todas as interfaces (recomendado)
      • A porta 514 é a porta padrão do syslog. Ela exige acesso root no Linux. Use 1514 para acesso não root.
  • Configuração do exportador:

    • creds_file_path: caminho completo para o arquivo de autenticação de ingestão:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID do cliente copiado do console do Google SecOps
    • endpoint: URL do endpoint regional:
      • EUA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Ásia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Consulte a lista completa em Endpoints regionais.

Salve o arquivo de configuração.

  • Depois de editar, salve o arquivo:
    • Linux: pressione Ctrl+O, Enter e Ctrl+X.
    • Windows: clique em Arquivo > Salvar.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifique se o serviço está em execução:

      ```bash
      sudo systemctl status observiq-otel-collector
      ```
      
    2. Verifique se há erros nos registros:

      ```bash
      sudo journalctl -u observiq-otel-collector -f
      ```
      
  • Para reiniciar o agente do Bindplane no Windows, escolha uma das seguintes opções:

    • Prompt de comando ou PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console de serviços:

      1. Pressione Win+R, digite services.msc e pressione Enter.
      2. Localize o Coletor do OpenTelemetry da observIQ.
      3. Clique com o botão direito do mouse e selecione Reiniciar.
      4. Verifique se o serviço está em execução:

        sc query observiq-otel-collector
        
      5. Verifique se há erros nos registros:

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

Configurar o syslog em um switch Cisco

  1. Faça login no switch da Cisco.
  2. Ampliar privilégios:

    enable
    
  3. Mude para o modo de configuração:

    conf t
    
  4. Configure o syslog:

    logging host <BINDPLANE_IP> transport <tcp/udp> port <PORT>
    logging source-interface <INTERFACE>
    
    • Substitua <BINDPLANE_IP> pelo endereço IP do agente do Bindplane.
    • Substitua <tcp/udp> pelo protocolo de escuta configurado (por exemplo, udp).
    • Substitua <INTERFACE> pelo ID da interface da Cisco.
  5. Defina o nível de prioridade:

    logging trap Informational
    logging console Informational
    logging severity Informational
    
  6. Defina a facilidade do syslog:

    logging facility local6
    
  7. Ative as marcações de tempo:

    service timestamps log datetime
    
  8. Salve e saia.

  9. Salve a configuração para sobreviver à reinicialização:

    copy running-config startup-config
    

Tabela de mapeamento de UDM

Campo de registro Mapeamento de UDM Lógica
ação security_result.action_details O valor desse campo é derivado do campo action no registro bruto.
dia
descrição metadata.description O valor desse campo é derivado do campo description no registro bruto.
descrição security_result.description O valor desse campo é derivado do campo description no registro bruto.
destination_ip target.asset.ip O valor desse campo é derivado do campo destination_ip no registro bruto.
destination_ip target.ip O valor desse campo é derivado do campo destination_ip no registro bruto.
destination_port target.port O valor desse campo é derivado do campo destination_port no registro bruto.
device principal.asset.hostname O valor desse campo é derivado do campo device no registro bruto.
device principal.hostname O valor desse campo é derivado do campo device no registro bruto.
device target.asset.hostname O valor desse campo é derivado do campo device no registro bruto.
device target.hostname O valor desse campo é derivado do campo device no registro bruto.
device_ip principal.asset.ip O valor desse campo é derivado do campo device_ip no registro bruto.
device_ip principal.ip O valor desse campo é derivado do campo device_ip no registro bruto.
device_ip target.asset.ip O valor desse campo é derivado do campo device_ip no registro bruto.
device_ip target.ip O valor desse campo é derivado do campo device_ip no registro bruto.
residencial geriátrico principal.resource.type O valor desse campo é derivado do campo facility no registro bruto.
header_data metadata.product_log_id O valor desse campo é derivado do campo header_data no registro bruto.
header_data target.asset.ip O valor desse campo é derivado do campo header_data no registro bruto.
header_data target.ip O valor desse campo é derivado do campo header_data no registro bruto.
nome do host principal.asset.hostname O valor desse campo é derivado do campo hostname no registro bruto.
nome do host principal.hostname O valor desse campo é derivado do campo hostname no registro bruto.
ip principal.asset.ip O valor desse campo é derivado do campo ip no registro bruto.
ip principal.ip O valor desse campo é derivado do campo ip no registro bruto.
ip_address principal.asset.ip O valor desse campo é derivado do campo ip_address no registro bruto.
ip_address principal.ip O valor desse campo é derivado do campo ip_address no registro bruto.
ip_protocol network.ip_protocol O valor desse campo é derivado do campo ip_protocol no registro bruto.
mac principal.mac O valor desse campo é derivado do campo mac no registro bruto.
mnemônico network.dhcp.opcode O valor desse campo é derivado do campo mnemonic no registro bruto.
mnemônico metadata.product_event_type O valor desse campo é derivado do campo mnemonic no registro bruto.
mês
p_ip principal.asset.ip O valor desse campo é derivado do campo p_ip no registro bruto.
p_ip principal.ip O valor desse campo é derivado do campo p_ip no registro bruto.
porta target.port O valor desse campo é derivado do campo port no registro bruto.
prioridade
protocolo network.ip_protocol O valor desse campo é derivado do campo protocol no registro bruto.
reason
regra security_result.rule_id O valor desse campo é derivado do campo rule no registro bruto.
sec_result_action security_result.action O valor desse campo é derivado do campo sec_result_action no registro bruto.
gravidade,
source principal.asset.ip O valor desse campo é derivado do campo source no registro bruto.
source principal.ip O valor desse campo é derivado do campo source no registro bruto.
source_ip network.dhcp.ciaddr O valor desse campo é derivado do campo source_ip no registro bruto.
source_ip principal.asset.ip O valor desse campo é derivado do campo source_ip no registro bruto.
source_ip principal.ip O valor desse campo é derivado do campo source_ip no registro bruto.
source_mac network.dhcp.chaddr O valor desse campo é derivado do campo source_mac no registro bruto.
source_port principal.port O valor desse campo é derivado do campo source_port no registro bruto.
resumo security_result.summary O valor desse campo é derivado do campo summary no registro bruto.
tempo
timezone
usuário principal.user.userid O valor desse campo é derivado do campo user no registro bruto.
usuário target.user.userid O valor desse campo é derivado do campo user no registro bruto.
quando
ano
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 SOLICITAÇÃO
intermediary_ip event.idm.read_only_udm.intermediary.ip e event.idm.read_only_udm.intermediary.asset.ip Mapeado do registro de mudanças
priority event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
product_log_id event.idm.read_only_udm.metadata.product_log_id Mapeado do registro de mudanças
_time event.idm.read_only_udm.metadata.collected_timestamp Mapeado do registro de mudanças
vlan_data event.idm.read_only_udm.intermediary.resource.attribute.labels Mapeado do registro de mudanças
intermediary_ip event.idm.read_only_udm.intermediary.ip Mapeado do registro de mudanças
intermediary_ip event.idm.read_only_udm.intermediary.asset.ip Mapeado do registro de mudanças
time_stamp event.idm.read_only_udm.metadata.event_timestamp Mapeado do registro de mudanças
process_name event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
switch_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
log_seq_num event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
log_seq_num_2 event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
p_interface event.idm.read_only_udm.principal.resource.name Mapeado do registro de mudanças
audit_session_id event.idm.read_only_udm.security_result.detection_fields Mapeado do registro de mudanças
mac event.idm.read_only_udm.principal.mac Mapeado do registro de mudanças
packets event.idm.read_only_udm.network.sent_packets Mapeado do registro de mudanças
facility event.idm.read_only_udm.principal.resource.resource_subtype Mapeado do registro de mudanças
seq_num event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
device_hostname event.idm.read_only_udm.principal.hostname e event.idm.read_only_udm.principal.asset.hostname Mapeado do registro de mudanças
id event.idm.read_only_udm.principal.user.userid Mapeado do registro de mudanças
seq_num event.idm.read_only_udm.target.user.userid Mapeado do registro de mudanças
log_message event.idm.read_only_udm.metadata.description Mapeado do registro de mudanças
syslog_tag event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
syslog_pri event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
appcat event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
applist event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
dstintf event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
dstintfrole event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
mastersrcmac event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
osname event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
poluuid event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
service event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
srchwvendor event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
srcintf event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
srcintfrole event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
srcserver event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
transport event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
trandisp event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
vd event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
vwlid event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
devid event.idm.read_only_udm.intermediary.asset.product_object_id Mapeado do registro de mudanças
devname event.idm.read_only_udm.intermediary.hostname Mapeado do registro de mudanças
logid event.idm.read_only_udm.metadata.product_log_id Mapeado do registro de mudanças
subtype event.idm.read_only_udm.network.direction Mapeado do registro de mudanças
proto event.idm.read_only_udm.network.ip_protocol Mapeado do registro de mudanças
rcvdbyte event.idm.read_only_udm.network.received_bytes Mapeado do registro de mudanças
sentbyte event.idm.read_only_udm.network.sent_bytes Mapeado do registro de mudanças
sentpkt event.idm.read_only_udm.network.sent_packets Mapeado do registro de mudanças
duration event.idm.read_only_udm.network.session_duration.seconds Mapeado do registro de mudanças
sessionid event.idm.read_only_udm.network.session_id Mapeado do registro de mudanças
srcname event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.principal.hostname Mapeado do registro de mudanças
srcip event.idm.read_only_udm.principal.asset.ip, event.idm.read_only_udm.principal.ip Mapeado do registro de mudanças
srcmac event.idm.read_only_udm.principal.asset.mac, event.idm.read_only_udm.principal.mac Mapeado do registro de mudanças
osname event.idm.read_only_udm.principal.asset.platform_software.platform Mapeado do registro de mudanças
srcswversion event.idm.read_only_udm.principal.asset.platform_software.platform_version Mapeado do registro de mudanças
srccountry event.idm.read_only_udm.principal.location.country_or_region Mapeado do registro de mudanças
transip event.idm.read_only_udm.principal.nat_ip Mapeado do registro de mudanças
srcport event.idm.read_only_udm.principal.port Mapeado do registro de mudanças
action event.idm.read_only_udm.security_result.action Mapeado do registro de mudanças
policyid event.idm.read_only_udm.security_result.rule_id Mapeado do registro de mudanças
policyname event.idm.read_only_udm.security_result.rule_name Mapeado do registro de mudanças
policytype event.idm.read_only_udm.security_result.rule_type Mapeado do registro de mudanças
level event.idm.read_only_udm.security_result.severity Mapeado do registro de mudanças
action event.idm.read_only_udm.security_result.summary Mapeado do registro de mudanças
dstip event.idm.read_only_udm.target.asset.ip, event.idm.read_only_udm.target.ip Mapeado do registro de mudanças
dstcountry event.idm.read_only_udm.target.location.country_or_region Mapeado do registro de mudanças
dstport event.idm.read_only_udm.target.port Mapeado do registro de mudanças
device principle.hostname Mapeado do registro de mudanças
username3 principal.user.userid Mapeado do registro de mudanças
login_status security_result.summary Mapeado do registro de mudanças
ecs.version metadata.product_version Mapeado do registro de mudanças
fileset.name", "flow.locality", "flow.id", "input.type", "netflow.exporter.source_id", and "netflow.exporter.uptime_millis additional.fields Mapeado do registro de mudanças
network.transport network.ip_protocol Mapeado do registro de mudanças
netflow.post_nat_source_ipv4_address principal.ip Mapeado do registro de mudanças
netflow.source_transport_port principal.port Mapeado do registro de mudanças
network.direction network.direction Mapeado do registro de mudanças
intermediary_ip intermediary.ip Mapeado do registro de mudanças
intermediary_hostname intermediary.hostname Mapeado do registro de mudanças
principal_host principal.hostname Mapeado do registro de mudanças
src_mac principal.mac Mapeado do registro de mudanças
eventSummary metadata.product_event_type Mapeado do registro de mudanças
error_msg security_result.detection_fields Mapeado do registro de mudanças
pid principal.process.pid Mapeado do registro de mudanças
srcPort principal.port Mapeado do registro de mudanças
srcUser principal.user.userid Mapeado do registro de mudanças
username1 target.user.userid Mapeado do registro de mudanças
command target.process.command_line Mapeado do registro de mudanças
PWD target.process.file.full_path Mapeado do registro de mudanças
node_id", "cluster_id", "exception", "UniqueId", and "app_id additional.fields Mapeado do registro de mudanças
DEVICE principal.mac Mapeado do registro de mudanças
SRC principal.ip Mapeado do registro de mudanças
SPT principal.port Mapeado do registro de mudanças
DST target.ip Mapeado do registro de mudanças
DPT target.port Mapeado do registro de mudanças
ID network.session_id Mapeado do registro de mudanças
LEN network.session_duration.seconds Mapeado do registro de mudanças
PROTO network.ip_protocol Mapeado do registro de mudanças
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 Mapeado do registro de mudanças
client_mac principal.mac Mapeado do registro de mudanças
aid network.session_id Mapeado do registro de mudanças
rssi intermediary.asset.product_object_id Mapeado do registro de mudanças
channel security_result.detection_fields Mapeado do registro de mudanças
eventSummary", "dhcp_ip", "client_mac", "aid" and "ip_src metadata.product_event_type Mapeado do registro de mudanças
mac", "src", "sport", "dst", "dport", "action", "protocol", "url" and "signature principal.mac Mapeado do registro de mudanças
metadata.event_type" and "extensions.auth.type USER_LOGIN Mapeado do registro de mudanças
eventSummary", "aid", "rssi", "channel", "last_known_client_ip" and "event_type security_result.summary Mapeado do registro de mudanças
pid target.process.pid Mapeado do registro de mudanças
app_name target.application Mapeado do registro de mudanças

Registro de alterações

Ver o registro de alterações deste analisador

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.