Raccogliere i log di Fortinet FortiManager

Supportato in:

Questa guida spiega come importare i log di Fortinet FortiManager in Google Security Operations utilizzando l'agente Bindplane.

Fortinet FortiManager è una piattaforma di gestione di rete centralizzata che fornisce gestione unificata, conformità alle best practice e automazione del flusso di lavoro per i dispositivi di sicurezza e networking Fortinet. FortiManager consente agli amministratori di gestire centralmente configurazioni, policy, aggiornamenti firmware e servizi di sicurezza su migliaia di firewall FortiGate e altri dispositivi Fortinet in Security Fabric.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps.
  • Windows Server 2016 o versioni successive oppure host Linux con systemd.
  • Connettività di rete tra l'agente Bindplane e Fortinet FortiManager.
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso privilegiato alla console di gestione Fortinet FortiManager con autorizzazioni per modificare le impostazioni di sistema.
  • FortiManager versione 5.0.7 o successive.

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agente di raccolta.
  3. Fai clic su Scarica per scaricare il file di autenticazione dell'importazione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  1. Apri Prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo il comando:

    sc query observiq-otel-collector
    

Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo il comando:

    sudo systemctl status observiq-otel-collector
    

Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la Guida all'installazione dell'agente Bindplane.

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

Individua il file di configurazione

Linux:

sudo nano /etc/bindplane-agent/config.yaml

Windows:

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

Modifica il file di configurazione

Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

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

Parametri di configurazione

Sostituisci i seguenti segnaposto:

Configurazione del ricevitore:

  • listen_address: indirizzo IP e porta su cui ascoltare. Utilizza 0.0.0.0:514 per ascoltare su tutte le interfacce sulla porta 51. Se la porta 514 richiede privilegi di root su Linux, utilizza 0.0.0.0:1514 e configura FortiManager in modo che invii alla porta 1514.

Configurazione dell'esportatore:

  • creds_file_path: percorso completo del file di autenticazione importazione:
    • Linux: /etc/bindplane-agent/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • customer_id: ID cliente del passaggio precedente (ad esempio, a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6)
  • endpoint: URL endpoint regionale:
    • Stati Uniti: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
    • Per l'elenco completo, vedi Endpoint regionali.
  • log_type: Deve essere esattamente FORTINET_FORTIMANAGER
  • ingestion_labels: Etichette facoltative per il filtraggio e l'organizzazione

Salvare il file di configurazione

Dopo la modifica, salva il file:

  • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
  • Windows: fai clic su File > Salva.

Riavvia l'agente Bindplane per applicare le modifiche

  • Linux

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows

    Scegli una delle seguenti opzioni:

    • Utilizzando il prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Utilizzo della console Services:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.

      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per individuare eventuali errori:

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

Configurare l'inoltro di Syslog di Fortinet FortiManager

La configurazione di syslog di FortiManager è un processo in due passaggi: prima definisci il server syslog nella GUI, poi attiva l'inoltro dei log locali tramite la CLI.

Passaggio 1: aggiungi il server syslog nella GUI di FortiManager

  1. Accedi all'interfaccia web di Fortinet FortiManager.
  2. Vai a Impostazioni di sistema > Avanzate > Server Syslog.
  3. Fai clic su Crea nuovo nella barra degli strumenti.
  4. Viene visualizzato il riquadro Crea nuove impostazioni del server Syslog.
  5. Configura le seguenti impostazioni:
    • Nome: inserisci un nome descrittivo (ad esempio, Chronicle-Bindplane).
    • Indirizzo IP (o nome di dominio completo): inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta server syslog: inserisci 514 (o 1514 se hai configurato Bindplane per l'ascolto su una porta non privilegiata).
    • Connessione affidabile: lascia disattivata per UDP (impostazione predefinita) o attiva per TCP.
    • Connessione protetta: lascia disattivata questa opzione, a meno che tu non abbia configurato i certificati TLS.
  6. Fai clic su Ok per salvare la configurazione del server syslog.

Passaggio 2: attiva l'inoltro dei log locali tramite CLI

Dopo aver aggiunto il server syslog nella GUI, devi abilitare FortiManager a inviare i log locali al server syslog utilizzando la CLI.

  1. Connettiti alla CLI di FortiManager tramite SSH o console.
  2. Esegui questi comandi:

    Per FortiManager 5.0.7 e versioni successive:

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

    Parametri di configurazione:

    • syslog-name: deve corrispondere al Nome configurato nella GUI (ad esempio, Chronicle-Bindplane).
    • severity: imposta su information per acquisire tutti i log locali. Il valore predefinito è notification, che acquisisce meno eventi. Le opzioni sono: emergency, alert, critical, error, warning, notification, information, debug.
    • status: imposta su enable per iniziare l'inoltro dei log.
  3. Verifica la configurazione:

    config system locallog syslogd setting
        show
    end
    
  4. Verifica che i log vengano inviati controllando i log dell'agente Bindplane o utilizzando l'acquisizione di pacchetti sull'host dell'agente Bindplane:

Linux:

sudo tcpdump -i any port 514 -A

Windows:

Utilizza Wireshark o Microsoft Message Analyzer per acquisire il traffico sulla porta 514.

Note sul comportamento del syslog di FortiManager

  • FortiManager invia i propri log eventi locali (sistema, modifiche alla configurazione, azioni amministrative) al server syslog configurato, non i log dei dispositivi FortiGate gestiti.
  • Per impostazione predefinita, l'opzione Connessione affidabile è disattivata, il che significa che i log vengono inviati tramite UDP sulla porta 51. Se abiliti Connessione affidabile, i log vengono inviati tramite TCP sulla porta 514.
  • I messaggi syslog di FortiManager utilizzano un formato specifico di Fortinet che non è strettamente conforme a RFC 3164 o RFC 5424. Il parser Google SecOps FORTINET_FORTIMANAGER è progettato per gestire questo formato.
  • Assicurati che l'ora di sistema di FortiManager sia sincronizzata con NTP e configurata su UTC per timestamp dei log accurati. Per configurare l'ora di sistema, vai a Dashboard, quindi nel widget Informazioni di sistema, fai clic sul pulsante di modifica dell'ora di sistema accanto al campo Ora di sistema.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
type, subtype, pri, operation, performed_on, lograte, msgrate, logratelimit, logratepeak, action, cpuusage, memusage, diskusage, disk2usage, userfrom about.resource.attribute.labels Etichette associate alla risorsa.
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 Campi aggiuntivi non coperti dallo schema UDM standard.
event.idm.read_only_udm.about Informazioni sull'evento.
event.idm.read_only_udm.extensions Estensioni dell'evento.
event.idm.read_only_udm.metadata Metadati sull'evento.
cache_ttl_label event.idm.read_only_udm.network Informazioni relative alla rete.
event.idm.read_only_udm.principal Informazioni sull'entità principale.
event.idm.read_only_udm.security_result Risultati dell'analisi della sicurezza.
event.idm.read_only_udm.target Informazioni sull'entità di destinazione.
extensions.auth.type Il tipo di autenticazione.
modifica metadata.description Una descrizione dell'evento.
event_type metadata.event_type Il tipo di evento.
log_id metadata.product_log_id L'identificatore specifico del prodotto per la voce di log.
cache_ttl_label network.dns.answers Risposte DNS.
session_id network.session_id L'ID sessione della connessione di rete.
adminprof principal.administrative_domain Il dominio amministrativo dell'entità.
devname principal.asset.hostname Il nome host della risorsa associata all'entità.
src_ip principal.asset.ip L'indirizzo IP della risorsa associata al principale.
devname principal.hostname Il nome host dell'entità.
src_ip principal.ip L'indirizzo IP del soggetto.
device_id principal.resource.product_object_id L'identificatore specifico del prodotto per la risorsa.
principal.resource.resource_type Il tipo di risorsa.
uuid principal.user.userid L'ID utente dell'utente principale.
action_details security_result.action L'azione intrapresa a seguito dell'evento di sicurezza.
wildcard, subnet, end-ip, start-ip security_result.detection_fields Campi utilizzati per il rilevamento nei risultati di sicurezza.
msg security_result.summary Un riepilogo del risultato di sicurezza.
target_ip, tar_ip, remote_ip target.asset.ip L'indirizzo IP della risorsa associata al target.
target_ip, tar_ip, remote_ip target.ip L'indirizzo IP della destinazione.
tar_port, remote_port target.port Il numero di porta della destinazione.
utente target.user.userid L'ID utente dell'utente di destinazione.
metadata.vendor_name Il nome del fornitore.
metadata.product_name Il nome del prodotto.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.