Coletar registros do FortiDDoS da Fortinet

Compatível com:

Este guia explica como ingerir registros do Fortinet FortiDDoS no Google Security Operations usando o agente Bindplane.

O FortiDDoS da Fortinet é um dispositivo de atenuação de ataques DDoS que protege redes e aplicativos contra ataques distribuídos de negação de serviço. O FortiDDoS oferece detecção de ataques em tempo real, mitigação automatizada e relatórios detalhados para ataques nas camadas de rede e de aplicativos.

Antes de começar

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

  • 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 FortiDDoS da Fortinet.
  • Se você estiver executando um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado à interface da Web do FortiDDoS com permissão de leitura e gravação para configurações de registro e relatório.

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 > Agente de coleta.
  3. Clique em Fazer o download para baixar 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 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

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

receivers:
    udplog:
    listen_address: "0.0.0.0:514"

exporters:
    chronicle/fortiddos:
    compression: gzip
    creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
    customer_id: 'your-customer-id-here'
    endpoint: malachiteingestion-pa.googleapis.com
    log_type: FORTINET_FORTIDDOS
    raw_log_field: body
    ingestion_labels:
        env: production

service:
    pipelines:
    logs/fortiddos_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortiddos

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. Use 0.0.0.0:514 para detectar todas as interfaces na porta 514.

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 da etapa anterior.
  • 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.
  • log_type: precisa ser FORTINET_FORTIDDOS.
  • ingestion_labels: rótulos opcionais no formato YAML.

Salvar 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

  • Linux

    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
      
  • Windows

    Escolha uma das seguintes opções:

    • Usando o prompt de comando ou o PowerShell como administrador:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Usando o console do Services:

      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 geração de registros remotos do registro de eventos do FortiDDoS

O FortiDDoS oferece suporte a dois tipos de registro syslog remoto: registros de eventos para eventos do sistema e registros de ataque para eventos de ataque DDoS. Configure os dois para enviar registros abrangentes ao Google SecOps.

  1. Faça login na interface da Web do FortiDDoS.
  2. Acesse Registro e relatório > Configuração de registro > Registro de eventos remoto.
  3. Clique em Adicionar para criar uma configuração de servidor de registros remotos.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, Chronicle-Event-Logs.
    • Endereço: insira o endereço IP do host do agente do Bindplane.
    • Porta: insira 514.
    • Nível mínimo de registro: selecione o nível mínimo de gravidade para encaminhar (por exemplo, Informação ou Notificação).
    • Instalação: selecione uma instalação do syslog (por exemplo, local0).
  5. Clique em Salvar para salvar a configuração.

Configurar a geração de registros remotos do registro de ataque do FortiDDoS

O registro remoto de registros de ataque é configurado por perfil de proteção de serviço (SPP, na sigla em inglês). É necessário configurar o encaminhamento de registros de ataque para cada SPP que você quer monitorar.

  1. Faça login na interface da Web do FortiDDoS.
  2. Acesse Registro e relatório > Configuração de registro > Registro remoto de ataques.
  3. Clique em Adicionar para criar uma configuração de servidor de registros remotos.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, Chronicle-Attack-Logs.
    • SPP: selecione o perfil de proteção de serviço a ser configurado.
    • Endereço: insira o endereço IP do host do agente do Bindplane.
    • Porta: insira 514.
    • Intervalo: selecione o intervalo do relatório (por exemplo, 1 minuto ou 5 minutos).
  5. Clique em Salvar para salvar a configuração.
  6. Repita as etapas de 3 a 5 para cada SPP que você quer monitorar.

Verificar o encaminhamento de syslog

Depois de configurar o registro remoto, verifique se os registros estão sendo enviados ao agente do Bindplane:

  1. No host do agente do BindPlane, monitore o tráfego syslog de entrada:

    Linux:

    sudo tcpdump -i any -n port 514
    

    Windows:

    Use uma ferramenta de monitoramento de rede ou verifique os registros do agente Bindplane.

  2. No appliance FortiDDoS, gere mensagens de registro de teste:

    Teste de registro de eventos:

    • Faça uma mudança de configuração na interface da Web do FortiDDoS para gerar um registro de eventos.

    Teste de registro de ataque:

    • Aguarde o intervalo de geração de relatórios configurado (1 ou 5 minutos). O FortiDDoS gera relatórios em intervalos regulares e leva mais dois minutos para agregar os dados. Por exemplo, os registros informados para a marca de 5 minutos vão aparecer no servidor syslog na marca de 7 minutos.
  3. Verifique se os registros aparecem no console do Google SecOps em 5 a 10 minutos.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
adicional adicional Valor copiado diretamente
additional.fields.additional_label.key Definido como "type"
tipo additional.fields.additional_label.value.string_value Valor copiado diretamente
additional.fields.src_label.key Definido como "device_id"
devid additional.fields.src_label.value.string_value Valor copiado diretamente
log_id security_result.detection_fields.log_id_label.value Valor copiado diretamente
security_result.detection_fields.log_id_label.key Definido como "log_id"
metadados metadados Valor copiado diretamente
desc_Data metadata.description Valor copiado diretamente
sip,dip,user metadata.event_type Definido como "NETWORK_CONNECTION" se sip e dip não estiverem vazios. Caso contrário, "USER_UNCATEGORIZED" se o usuário não estiver vazio. Caso contrário, "STATUS_UPDATE" se sip não estiver vazio. Caso contrário, "GENERIC_EVENT".
rede rede Valor copiado diretamente
participante participante Valor copiado diretamente
sip principal.asset.ip Valor copiado diretamente
sip principal.ip Valor copiado diretamente
date,time,tz principal.labels.date_label.value Concatenado de data, hora, fuso horário com espaços
principal.labels.date_label.key Definido como "date"
dir principal.labels.direction_label.value Valor copiado diretamente
principal.labels.direction_label.key Definido como "direction"
dport principal.port Convertido para número inteiro
usuário principal.user.userid Valor copiado diretamente
security_result security_result Valor copiado diretamente
direção security_result.detection_fields.direction_label.value Valor copiado diretamente
security_result.detection_fields.direction_label.key Definido como "direction"
dropcount security_result.detection_fields.dropcount_label.value Valor copiado diretamente
security_result.detection_fields.dropcount_label.key Definido como "dropcount"
evecode security_result.detection_fields.evecode_label.value Valor copiado diretamente
security_result.detection_fields.evecode_label.key Definido como "evecode"
evesubcode security_result.detection_fields.evesubcode_label.value Valor copiado diretamente
security_result.detection_fields.evesubcode_label.key Definido como "evesubcode"
residencial geriátrico security_result.detection_fields.facility_label.value Valor copiado diretamente
security_result.detection_fields.facility_label.key Definido como "facility"
level security_result.detection_fields.level_label.value Valor copiado diretamente
security_result.detection_fields.level_label.key Definido como "level"
msg_id security_result.detection_fields.msg_id_label.value Valor copiado diretamente
security_result.detection_fields.msg_id_label.key Definido como "msg_id"
spp_name security_result.detection_fields.spp_name_label.value Valor copiado diretamente
security_result.detection_fields.spp_name_label.key Definido como "spp_name"
spp security_result.detection_fields.spp_label.value Valor copiado diretamente
security_result.detection_fields.spp_label.key Definido como "spp"
sppoperatingmode security_result.detection_fields.sppoperatingmode_label.value Valor copiado diretamente
security_result.detection_fields.sppoperatingmode_label.key Definido como "sppoperatingmode"
subnet_name security_result.detection_fields.subnet_name_label.value Valor copiado diretamente
security_result.detection_fields.subnet_name_label.key Definido como "subnet_name"
subnetid security_result.detection_fields.subnetid_label.value Valor copiado diretamente
security_result.detection_fields.subnetid_label.key Definido como "subnetid"
subtype security_result.detection_fields.subtype_label.value Valor copiado diretamente
security_result.detection_fields.subtype_label.key Definido como "subtype"
target target Valor copiado diretamente
queda target.asset.ip Valor copiado diretamente
queda target.ip Valor copiado diretamente

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