Coletar registros do Fortinet FortiManager

Compatível com:

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

O FortiManager da Fortinet é uma plataforma de gerenciamento de rede centralizada que oferece gerenciamento unificado, conformidade com as práticas recomendadas e automação de fluxo de trabalho para dispositivos de segurança e rede da Fortinet. O FortiManager permite que os administradores gerenciem de forma centralizada configurações, políticas, atualizações de firmware e serviços de segurança em milhares de firewalls FortiGate e outros dispositivos Fortinet na Security Fabric.

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 FortiManager 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 ao console de gerenciamento do FortiManager da Fortinet com permissões para modificar as configurações do sistema.
  • FortiManager versão 5.0.7 ou mais recente.

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/fortimanager:
    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_FORTIMANAGER
    raw_log_field: body
    ingestion_labels:
        env: production
        source: fortimanager

service:
    pipelines:
    logs/fortimanager_to_chronicle:
        receivers:
        - udplog
        exporters:
        - chronicle/fortimanager

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 em todas as interfaces na porta 51. Se a porta 514 exigir privilégios de root no Linux, use 0.0.0.0:1514 e configure o FortiManager para enviar à porta 1514.

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 (por exemplo, a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6)
  • 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 exatamente FORTINET_FORTIMANAGER
  • ingestion_labels: rótulos opcionais para filtragem e organização

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 o encaminhamento de syslog do Fortinet FortiManager

A configuração do syslog do FortiManager é um processo de duas etapas: primeiro, defina o servidor syslog na GUI e, em seguida, ative o encaminhamento de registros local pela CLI.

Etapa 1: adicionar o servidor syslog na GUI do FortiManager

  1. Faça login na interface da Web do Fortinet FortiManager.
  2. Acesse Configurações do sistema > Avançado > Servidor Syslog.
  3. Clique em Criar novo na barra de ferramentas.
  4. O painel Criar novas configurações do servidor Syslog é aberto.
  5. Defina as configurações a seguir:
    • Nome: insira um nome descritivo, por exemplo, Chronicle-Bindplane.
    • Endereço IP (ou FQDN): insira o endereço IP do host do agente do Bindplane (por exemplo, 192.168.1.100).
    • Porta do servidor Syslog: insira 514 (ou 1514 se você configurou o Bindplane para detectar em uma porta não privilegiada).
    • Conexão confiável: deixe desativado para UDP (padrão) ou ative para TCP.
    • Conexão segura: deixe desativada, a menos que você tenha configurado certificados TLS.
  6. Clique em OK para salvar a configuração do servidor syslog.

Etapa 2: ativar o encaminhamento de registros local pela CLI

Depois de adicionar o servidor syslog na GUI, é necessário ativar o FortiManager para enviar registros locais ao servidor syslog usando a CLI.

  1. Conecte-se à CLI do FortiManager via SSH ou console.
  2. Execute os comandos a seguir:

    Para o FortiManager 5.0.7 e versões mais recentes:

    config system locallog syslogd setting
        set syslog-name Chronicle-Bindplane
        set severity information
        set status enable
    end
    

    Parâmetros de configuração:

    • syslog-name: precisa corresponder ao Nome configurado na GUI (por exemplo, Chronicle-Bindplane).
    • severity: defina como information para capturar todos os registros locais. O padrão é notification, que captura menos eventos. As opções são: emergency, alert, critical, error, warning, notification, information, debug.
    • status: defina como enable para começar a encaminhar registros.
  3. Para verificar a configuração:

    config system locallog syslogd setting
        show
    end
    
  4. Verifique se os registros estão sendo enviados conferindo os registros do agente do Bindplane ou usando a captura de pacotes no host do agente do Bindplane:

Linux:

sudo tcpdump -i any port 514 -A

Windows:

Use o Wireshark ou o Microsoft Message Analyzer para capturar o tráfego na porta 514.

Observações sobre o comportamento do syslog do FortiManager

  • O FortiManager envia os próprios registros de eventos locais (sistema, mudanças de configuração, ações administrativas) para o servidor syslog configurado, não os registros dos dispositivos FortiGate gerenciados.
  • Por padrão, a conexão confiável está desativada, o que significa que os registros são enviados via UDP na porta 51. Se você ativar a Conexão confiável, os registros serão enviados por TCP na porta 514.
  • As mensagens do syslog do FortiManager usam um formato específico da Fortinet que não está totalmente em conformidade com o RFC 3164 ou o RFC 5424. O analisador do Google SecOps FORTINET_FORTIMANAGER foi criado para processar esse formato.
  • Verifique se a hora do sistema do FortiManager está sincronizada com o NTP e configurada para UTC para carimbos de data/hora de registros precisos. Para configurar a hora do sistema, acesse Painel e, no widget Informações do sistema, clique no botão de edição ao lado do campo Hora do sistema.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
type, subtype, pri, operation, performed_on, lograte, msgrate, logratelimit, logratepeak, action, cpuusage, memusage, diskusage, disk2usage, userfrom about.resource.attribute.labels Rótulos associados ao recurso.
clearpass-spt, allow-routing, color, comment, fabric-object, name, node-ip-only, obj-type, sdn-addr-type, sub-type, adom, pkgname, _signal-lte-rsrq, _signal-lte-rssi, performed_on_dev, changetype event.idm.read_only_udm.additional.fields Campos adicionais não cobertos pelo esquema padrão da UDM.
event.idm.read_only_udm.about Informações sobre o evento.
event.idm.read_only_udm.extensions Extensões do evento.
event.idm.read_only_udm.metadata Metadados sobre o evento.
cache_ttl_label event.idm.read_only_udm.network Informações relacionadas à rede.
event.idm.read_only_udm.principal Informações sobre a entidade principal.
event.idm.read_only_udm.security_result Resultados da análise de segurança.
event.idm.read_only_udm.target Informações sobre a entidade de destino.
extensions.auth.type O tipo de autenticação.
alterações metadata.description Uma descrição do evento.
event_type metadata.event_type O tipo de evento.
log_id metadata.product_log_id O identificador específico do produto para a entrada de registro.
cache_ttl_label network.dns.answers Respostas de DNS.
session_id network.session_id O ID da sessão da conexão de rede.
adminprof principal.administrative_domain O domínio administrativo do principal.
devname principal.asset.hostname O nome do host do recurso associado ao principal.
src_ip principal.asset.ip O endereço IP do recurso associado ao principal.
devname principal.hostname O nome do host do principal.
src_ip principal.ip O endereço IP do principal.
device_id principal.resource.product_object_id O identificador específico do produto para o recurso.
principal.resource.resource_type O tipo de recurso.
uuid principal.user.userid O ID do usuário principal.
action_details security_result.action A ação tomada como resultado do ocorrência de segurança.
wildcard, subnet, end-ip, start-ip security_result.detection_fields Campos usados para detecção em resultados de segurança.
msg security_result.summary Um resumo do resultado de segurança.
target_ip, tar_ip, remote_ip target.asset.ip O endereço IP do recurso associado ao destino.
target_ip, tar_ip, remote_ip target.ip O endereço IP do destino.
tar_port, remote_port target.port O número da porta do destino.
usuário target.user.userid O ID do usuário-alvo.
metadata.vendor_name O nome do fornecedor.
metadata.product_name O nome do produto.

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