Coletar registros do switch Alcatel

Versão do analisador:1.0

Compatível com:

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

O Alcatel-Lucent Enterprise OmniSwitch é uma família de switches LAN empilháveis que oferecem acesso à rede, aplicação de políticas de segurança e gerenciamento unificado com/sem fio. Os switches geram mensagens do syslog que abrangem eventos de autenticação, mudanças de estado da interface, operações de VLAN e comandos da CLI.

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 Alcatel
  • 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.
  • Credenciais privilegiadas para o switch Alcatel (acesso de administrador)

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/alcatel_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ALCATEL_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/alcatel_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/alcatel_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:

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

      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 a exportação do syslog no switch Alcatel

  1. Conecte-se ao switch usando SSH ou um cabo de console.
  2. Faça login com as credenciais de administrador.
  3. Insira o modo de configuração global:

    enable
    configure terminal
    
  4. Defina o endereço IP do servidor Bindplane (syslog):

    swlog output socket <BINDPLANE_IP>
    
    • Substitua <BINDPLANE_IP> pelo endereço IP do agente do Bindplane.
  5. Ative o registro no servidor syslog:

    swlog remote enable
    
  6. Configure o nível de geração de registros:

    swlog console level info
    
  7. Ative a geração de registros de comandos:

    command-log enable
    
  8. Salve as mudanças na configuração de inicialização:

    write memory
    

Tabela de mapeamento de UDM

Campo de registro Mapeamento do UDM Lógica
1.1.1.1 principal.ipprincipal.asset.ip Extraído da mensagem de registro.
1.1.1.2 target.iptarget.asset.ip Extraído da mensagem de registro.
1.1.2.7 target.iptarget.asset.ip Extraído da mensagem de registro.
1035 target.port Extraído da mensagem de registro.
2266 additional.fields.value.string_value Extraído da mensagem de registro e mapeado como vlan.
3036 principal.port Extraído da mensagem de registro.
59300 target.port Extraído da mensagem de registro.
60588 target.port Extraído da mensagem de registro.
997 principal.resource.attribute.labels.value Extraído da mensagem de registro e mapeado como limit.
A6450-L2-K4B-01 principal.application Extraído da mensagem de registro.
A6450-L2-X1B-02-01 principal.application Extraído da mensagem de registro.
A6450-L2-X2A-01-01 principal.application Extraído da mensagem de registro.
A6450-L2-X4B-02-01 principal.application Extraído da mensagem de registro.
A6900-L3-LTX0A principal.application Extraído da mensagem de registro.
Accepted keyboard-interactive/pam security_result.summary Parte do campo sec_summary extraído.
b8:53:ac:6e:c9:bc principal.mac Extraído da mensagem de registro.
BRIDGE(10) additional.fields.value.string_value Extraído da mensagem de registro e mapeado como id_protocol.
CLI log, security_result.summary Parte do campo sec_summary extraído.
cmd: show configuration snapshot all, security_result.detection_fields.value Extraído da mensagem de registro e mapeado como cmd.
Connection reset by 1.1.2.7 port 60505 security_result.summary Extraído da mensagem de registro.
Dec 7 14:28:40 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 8 04:21:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 9 20:08:29 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 9 20:51:34 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 11 10:18:30 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 17 02:14:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Dec 19 10:27:33 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Did not receive identification string from 1.1.2.7 port 60588 security_result.summary Extraído da mensagem de registro.
esmSetRateLimit: Txing additional.fields.value.string_value Extraído da mensagem de registro e mapeado como esm_set_rate_limit.
Feb 15 16:29:29 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Feb 16 11:08:45 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
Feb 16 11:08:49 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid security_result.summary Extraído da mensagem de registro.
for ncmadmin from 1.1.1.2 port 59300 ssh2 security_result.summary Parte do campo sec_summary extraído.
from port 3036 to port 1035 security_result.summary Parte do campo sec_summary extraído.
IVDELCSW03 principal.hostnameprincipal.asset.hostname Extraído da mensagem de registro quando principal_ip não é um endereço IP.
IP-HELPER(22) additional.fields.value.string_value Extraído da mensagem de registro e mapeado como id_protocol.
Jan 16 02:14:13 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos Analisado do campo ts.
LLDP(42) additional.fields.value.string_value Extraído da mensagem de registro e mapeado como id_protocol.
limit=997, principal.resource.attribute.labels.value Extraído da mensagem de registro e mapeado como limit.
limitType=1 principal.resource.attribute.labels.value Extraído da mensagem de registro e mapeado como limitType.
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL security_result.summary Extraído da mensagem de registro.
Mac Movement for MacAddr: a0:29:19:c0:55:18 security_result.summary Extraído da mensagem de registro.
MacAddr: a0:29:19:c0:55:18 principal.mac Extraído da mensagem de registro.
ncmadmin principal.user.userid Extraído da mensagem de registro.
OS6360 principal.hostnameprincipal.asset.hostname Extraído da mensagem de registro quando principal_ip não é um endereço IP.
result: SUCCESS security_result.detection_fields.value Extraído da mensagem de registro e mapeado como result.
SES CMD info(5) security_result.summary Parte do sec_summaryfield extraído.
STACK-MANAGER principal.application Extraído da mensagem de registro.
Stack Port A MAC Frames TX/RX Enabled security_result.summary Extraído da mensagem de registro.
STP(11) additional.fields.value.string_value Extraído da mensagem de registro e mapeado como id_protocol.
SWCONSOLE-L2-K0A-01 target.hostnametarget.asset.hostname Extraído da mensagem de registro.
trafficType=2, principal.resource.attribute.labels.value Extraído da mensagem de registro e mapeado como tipo traffic.
user: ncmadmin security_result.summary Parte do campo sec_summary extraído.
zslot=0, principal.resource.attribute.labels.value Extraído da mensagem de registro e mapeado como zslot.
- additional.fields.key Valor fixado no código: id_protocol
- additional.fields.key Valor fixado no código: esm_set_rate_limit
- additional.fields.key Valor fixado no código: vlan
- metadata.event_type Defina como GENERIC_EVENT se nenhum outro tipo for correspondente.
- metadata.product_name Valor fixado no código: Alcatel Switch
- metadata.vendor_name Valor fixado no código: ALCATEL SWITCH
- network.application_protocol Defina como SSH quando id_protocol corresponder a ssh (sem diferenciar maiúsculas de minúsculas).
- principal.resource.attribute.labels.key Valor fixado no código: limit
- principal.resource.attribute.labels.key Valor fixado no código: trafficType
- principal.resource.attribute.labels.key Valor fixado no código: limitType
- principal.resource.attribute.labels.key Valor fixado no código: zslot
- security_result.detection_fields.key Valor fixado no código: cmd
- security_result.detection_fields.key Valor fixado no código: result
- security_result.severity Defina como INFORMATIONAL quando prod_severity corresponder a info (sem diferenciar maiúsculas de minúsculas).

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.