Coletar registros do Netscout Arbor Sightline

Compatível com:

Este documento explica como ingerir registros do Netscout Arbor Sightline no Google Security Operations usando o agente Bindplane.

O Netscout Arbor Sightline (antigo Peakflow SP) é uma plataforma de detecção de DDoS e visibilidade de rede que oferece recursos robustos, desde o planejamento de capacidade em toda a rede até a identificação e o gerenciamento da mitigação de DDoS e outras ameaças à rede. O Sightline coleta e analisa dados de fluxo, informações de roteamento BGP e dados SNMP para detectar anomalias, gerar alertas e coordenar respostas de mitigação.

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 appliance Netscout Arbor Sightline
  • Se você 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 administrativo à interface da Web do Netscout Arbor Sightline
  • Acesso administrativo à interface de linha de comando (CLI) do Netscout Arbor Sightline para configuração de alertas do sistema

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. Salve o arquivo de forma segura no sistema em que o 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 de cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu 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

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/arbor_sightline:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ARBOR_SIGHTLINE
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/arbor_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/arbor_sightline
    
  2. Substitua os seguintes marcadores de posição:

    • Configuração do receptor:

      • O receptor está configurado para escutar na porta UDP 514 em todas as interfaces (0.0.0.0:514)
      • Se você precisar usar uma porta diferente (por exemplo, 1514 para instalações Linux não raiz), modifique o valor listen_address.
      • Se você preferir o syslog TCP, substitua udplog por tcplog na seção de receptores e no pipeline.
    • 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 de cliente da etapa anterior

      • endpoint: URL do endpoint regional (o padrão mostrado é da região dos EUA):

        • 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.
      • log_type: defina como ARBOR_SIGHTLINE (é necessária uma correspondência exata)

      • ingestion_labels: rótulos opcionais no formato YAML. Modifique conforme necessário para seu ambiente.

Exemplo de configuração

  • receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/arbor_sightline:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARBOR_SIGHTLINE
        raw_log_field: body
        ingestion_labels:
          env: production
          source: sightline
    
    service:
      pipelines:
        logs/arbor_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arbor_sightline
    

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:

    1. Execute este comando:

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Para reiniciar o agente do Bindplane em Windows:

    1. 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.
    2. Verifique se o serviço está em execução:

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

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

Configurar o encaminhamento de syslog do Netscout Arbor Sightline

Para enviar registros ao Google SecOps, configure o Netscout Arbor Sightline para encaminhar eventos syslog ao agente Bindplane. Isso envolve criar um grupo de notificações, configurar as configurações globais de notificação e definir regras de notificação de alerta.

Criar um grupo de notificações

  1. Faça login na interface da Web do Netscout Arbor Sightline como administrador.
  2. Acesse Administração > Notificação > Grupos.
  3. Clique em Adicionar grupo de notificação.
  4. Informe os seguintes detalhes de configuração:
    • Destinos: insira o endereço IP do host do agente do Bindplane (por exemplo, 192.168.1.100).
    • Porta: digite 514 ou a porta configurada no agente do Bindplane, como 1514.
    • Instalação: selecione uma instalação do syslog (por exemplo, local0 ou user).
    • Gravidade: selecione info. A gravidade informativa coleta todas as mensagens de eventos no nível informativo e de gravidade maior.
  5. Clique em Salvar.
  6. Clique em Commit da configuração para aplicar as mudanças.

Configurar as definições de notificação globais

As notificações globais no Netscout Arbor Sightline fornecem notificações do sistema que não estão associadas a regras de alerta específicas.

  1. Na interface da Web do Netscout Arbor Sightline, acesse Administração > Notificação > Configurações globais.
  2. No campo Grupo de notificação padrão, selecione o grupo de notificação que você criou para o Google SecOps.
  3. Clique em Salvar.
  4. Clique em Commit da configuração para aplicar as mudanças.

Ativar notificações de alerta do sistema

Os alertas do sistema exigem mais configurações pela interface de linha de comando (CLI).

  1. Faça login na interface de linha de comando do Netscout Arbor Sightline como administrador.
  2. Liste a configuração atual de alertas do sistema:

    services sp alerts system_errors show
    
  3. Para listar os nomes de campos de alertas do sistema disponíveis que podem ser configurados, execute:

    services sp alerts system_errors ?
    
  4. Ative as notificações para alertas do sistema. Para cada tipo de alerta que você quer ativar, execute:

    services sp alerts system_errors <alert_name> notifications enable
    

    Substitua <alert_name> pelo nome do campo de alerta do sistema específico (por exemplo, disk_full, flow_collector_down, license_expiring).

  5. Confirme as mudanças de configuração:

    config write
    

Configurar regras de notificação de alerta

As regras de notificação de alerta determinam quais alertas acionam notificações do syslog para o Google SecOps.

  1. Na interface da Web do Netscout Arbor Sightline, acesse Administração > Notificação > Regras.
  2. Escolha uma das seguintes opções:
    • Clique em uma regra para editar.
    • Clique em Adicionar regra para criar uma regra de notificação.
  3. Configure os seguintes valores:
    • Nome: insira um nome descritivo para a regra. Por exemplo, Chronicle-DDoS-Alerts.
    • Recurso: insira um endereço CIDR ou selecione um objeto gerenciado na lista de recursos do Sightline. Para aplicar a regra a todos os recursos, deixe este campo vazio ou selecione Todos.
    • Importância: selecione o nível mínimo de importância para alertas (por exemplo, Low, Medium, High ou Critical). Os alertas nesse nível ou acima dele vão acionar notificações.
    • Grupo de notificação: selecione o grupo de notificação criado para o Google SecOps.
  4. Repita essas etapas para configurar outras regras conforme necessário para diferentes recursos ou níveis de importância.
  5. Clique em Salvar.
  6. Clique em Commit da configuração para aplicar as mudanças.

Testar a conectividade do syslog

Depois de configurar o grupo e as regras de notificação, verifique se as mensagens syslog estão sendo enviadas ao agente do Bindplane.

  1. Na CLI do Netscout Arbor Sightline, teste a conexão syslog:

    services sp notification test syslog group <notification_group_name>
    

    Substitua <notification_group_name> pelo nome do grupo de notificação que você criou.

  2. O comando retornará:

    Server returned: Success
    
  3. Verifique os registros do agente do Bindplane para confirmar se as mensagens de teste estão sendo recebidas:

    Linux:

    sudo journalctl -u observiq-otel-collector -f
    

    Windows:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    
  4. No console do Google SecOps, acesse Pesquisar e verifique se os registros do Netscout Arbor Sightline estão aparecendo com o rótulo de ingestão ARBOR_SIGHTLINE.

Tipos de eventos encaminhados para o Google SecOps

  • O Netscout Arbor Sightline encaminha as seguintes categorias de eventos via syslog:

    • Eventos de negação de serviço (DoS): alertas de detecção de ataques DDoS, incluindo ataques volumétricos, de protocolo e de camada de aplicativo.
    • Eventos de autenticação: sucessos e falhas de login do usuário, tentativas de autenticação
    • Eventos de exploração: tentativas de exploração detectadas e padrões de tráfego suspeitos
    • Eventos de atividade suspeita: comportamento anômalo do tráfego e possíveis ameaças à segurança
    • Eventos do sistema: integridade do appliance, status do serviço, mudanças de configuração e alertas operacionais
    • Eventos de mitigação: início, interrupção e atualizações de status da mitigação de ataques DDoS

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
msg1 additional.fields Mesclado com rótulos de cada campo, se não estiver vazio, usando chaves específicas, como "message_description" para msg1, "config_version" para config_version etc.
config_version additional.fields
prin_user additional.fields
old_bgp_attributes additional.fields
new_bgp_attributes additional.fields
reason additional.fields
sample_rate additional.fields
proto additional.fields
em instantes additional.fields
identificador additional.fields
expected_bps additional.fields
actual_bps additional.fields
servidor additional.fields
status additional.fields
porcentagem additional.fields
taxa additional.fields
rateunit additional.fields
flags additional.fields
roteador additional.fields
interface additional.fields
ip_ver additional.fields
protocol_id additional.fields
router_name additional.fields
interface_id additional.fields
interface_name additional.fields
prioridade additional.fields
log_level additional.fields
piscina additional.fields
thread_id additional.fields
timeout additional.fields
tentativas additional.fields
vulns extensions.vulns.vulnerabilities Mesclado se vulns não estiver vazio
desc metadata.description Definido como "%{desc}: %{desc2}" se desc e desc2 não estiverem vazios. Caso contrário, será desc. Substituído por message_desc se não estiver vazio.
desc2 metadata.description
message_desc metadata.description
event_time metadata.event_timestamp Convertido usando o filtro de data com o formato MMM dd HH:mm:ss ou MMM d HH:mm:ss, fuso horário Europe/London
desc2 metadata.event_type Definido como "SCAN_PROCESS" se desc2 corresponder a "(DNS Amplification
mensagem metadata.event_type
src_ip metadata.event_type
has_target_ip metadata.event_type
has_network_protocol metadata.event_type
host_name metadata.event_type
mensagem metadata.product_event_type Definido como "Detecção de host" se a mensagem corresponder a "Detecção de host"; "Mitigação de TMS iniciada" se a mensagem corresponder a "iniciada"; "Mitigação de TMS interrompida" se a mensagem corresponder a "interrompida"
metadata.product_name metadata.product_name Definido como "ARBOR_SIGHTLINE"
metadata.vendor_name metadata.vendor_name Defina como "NETSCOUT"
direção network.direction Definido como "INBOUND" se a direção for "incoming"
proto network.ip_protocol Defina como "TCP" se proto for "6". Caso contrário, defina como network_protocol em maiúsculas se corresponder a "(?i)(TCP
network_protocol network.ip_protocol
bytes network.sent_bytes Valor copiado diretamente, convertido em uinteger
pacotes network.sent_packets Valor copiado diretamente, convertido em número inteiro
duration network.session_duration.seconds Valor copiado diretamente se não estiver vazio e não for "0", convertido em número inteiro
host_name principal.hostname Valor copiado diretamente
src_ip principal.ip Mesclado de src_ip e nameserver_ip
nameserver_ip principal.ip
namespace principal.namespace Valor copiado diretamente
filename principal.process.file.full_path Valor copiado diretamente
alert_id principal.process.pid Valor copiado diretamente
prin_url principal.url Valor copiado diretamente
prin_user principal.user.userid Valor copiado diretamente
impacto security_result.detection_fields Mesclado com as chaves "Impact" de impact, "Importance" de importance, "Signature" de signature, "Leader" de leader, "parent_managed_object" de parent_managed_object e "Alert ID" de alert_id
importância security_result.detection_fields
signature security_result.detection_fields
líder security_result.detection_fields
parent_managed_object security_result.detection_fields
alert_id security_result.detection_fields
gravidade, security_result.severity Definido como "INFORMATIONAL" se a gravidade estiver em ["10","9"]; "LOW" se estiver em ["8","7"]; "MEDIUM" se for "6"; "HIGH" se estiver em ["5","4"]; "CRITICAL" se estiver em ["3","2","1"]
desc2 security_result.threat_status Definido como "ACTIVE" se a descrição corresponder a "Alerta de detecção de host" e a mensagem for "start" e não "stop"; "CLEARED" se a descrição corresponder a "Alerta de detecção de host" e a mensagem for "stop"
mensagem security_result.threat_status
intem_host target.group.product_object_id Valor copiado diretamente
dst_ip target.ip Valor copiado diretamente
dst_port target.port Valor copiado diretamente, convertido em número inteiro
file_path target.process.file.full_path Valor copiado diretamente
stop_time vulns.vulnerabilities.scan_end_time Convertido usando o filtro de data com o formato aaaa-MM-dd HH:mm:ss
start_time vulns.vulnerabilities.scan_start_time Convertido usando o filtro de data com o formato aaaa-MM-dd HH:mm:ss ou aaaa-MM-dd

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