Raccogli i log di Fortinet Switch

Parser Version: 1.0

Supportata in:

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

Fortinet Switch è una linea di switch Ethernet sicuri e ad alte prestazioni progettati per le reti aziendali. FortiSwitch offre funzionalità di switching di livello 2 e livello 3, supporto VLAN, aggregazione di link, Power over Ethernet (PoE) e funzionalità di sicurezza integrate. Le unità FortiSwitch possono funzionare in modalità autonoma o essere gestite dai firewall FortiGate tramite FortiLink.

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 lo switch Fortinet.
  • Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso con privilegi alla console di gestione di Fortinet Switch o alla console FortiGate (per gli switch gestiti).
  • Switch Fortinet con FortiSwitchOS 7.0 o versioni successive.

Ottieni le credenziali di Google SecOps per l'agente Bindplane

Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:

  • Nuovi deployment: utilizza l'API Chronicle (opzione 1).
  • Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (opzione 2) fino alla dismissione dell'API Ingestion il 20 luglio 2027.
  1. Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza di Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea account di servizio.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome account di servizio: inserisci un nome per l'account (ad esempio bindplane-ingest).
    • Descrizione service account: inserisci una descrizione (ad esempio, Bindplane agent log ingestion).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua e poi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) o aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. Vai a IAM e amministrazione > Impostazioni e copia il Numero progetto. Ti servirà per la configurazione dell'esportatore.

Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni > Gestione dei dati > Agenti di raccolta. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Ottieni l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni > Amministrazione > Profilo. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.

Installa l'agente Bindplane

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

Installazione di finestre

  1. Apri il 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:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come RUNNING.

Installazione di Linux

  1. Apri un terminale con privilegi 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:

    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 il syslog e inviarlo a Google SecOps

Individua il file di configurazione

Linux:

sudo nano /opt/observiq-otel-collector/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/fortiswitch:
    protocol: https
    # Region of your instance, for example us, europe, asia-southeast1
    location: <LOCATION>
    # Project number of the Google Cloud project linked to the instance
    project: '<PROJECT_NUMBER>'
    compression: gzip
    creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
    customer_id: 'YOUR_CUSTOMER_ID'
    endpoint: chronicle.googleapis.com
    log_type: FORTINET_SWITCH
    raw_log_field: body
    ingestion_labels:
      env: production

service:
  pipelines:
    logs/fortiswitch_to_chronicle:
      receivers:
        - udplog
      exporters:
        - chronicle/fortiswitch

Parametri di configurazione

Sostituisci i seguenti segnaposto:

Configurazione del ricevitore:

  • Il ricevitore è configurato per ascoltare sulla porta UDP 514 i messaggi syslog provenienti da Fortinet Switch.
  • Per ascoltare su tutte le interfacce, utilizza 0.0.0.0:514.
  • Per utilizzare una porta non privilegiata su Linux, passa a 0.0.0.0:1514 e configura Fortinet Switch per l'invio alla porta 1514.

Configurazione dell'esportatore:

  • creds_file_path: percorso completo del file della chiave JSON del account di servizio (opzione 1):
    • Linux: /opt/observiq-otel-collector/ingestion-auth.json
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
  • customer_id: l'ID cliente del passaggio precedente.
  • location: sostituisci <LOCATION> con la regione della tua istanza Google SecOps (ad esempio us, europe o asia-southeast1). L'esportatore aggiunge chronicle.googleapis.com come prefisso a questo valore. Per l'elenco completo, consulta Endpoint regionali.
  • project: sostituisci <PROJECT_NUMBER> con il numero di progetto da IAM e amministrazione > Impostazioni.
  • endpoint: mantieni l'impostazione chronicle.googleapis.com.
  • log_type: deve essere esattamente FORTINET_SWITCH.
  • ingestion_labels: etichette facoltative in formato YAML (ad esempio, env: production).

Esportatore API di importazione precedente

  • Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con il tuo endpoint regionale (ad esempio, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/fortiswitch:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: FORTINET_SWITCH
        raw_log_field: body
        ingestion_labels:
          env: production
    

Salva 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 verificare la presenza di 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
      
    • Utilizzando la console Servizi:

      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 verificare la presenza di errori:

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

Configura l'inoltro del syslog di Fortinet Switch

Configura Fortinet Switch per inviare i log all'agente Bindplane. I passaggi di configurazione variano a seconda che lo switch sia autonomo o gestito da FortiGate.

Per FortiSwitch autonomo (configurazione della GUI)

  1. Accedi all'interfaccia web di FortiSwitch.
  2. Vai a Log > Config.
  3. In Syslog, seleziona Attiva.
  4. Seleziona la gravità degli eventi da registrare (ad esempio, Informazioni o superiore).
  5. Nel campo Server, inserisci l'indirizzo IP o il nome di dominio completo dell'host dell'agente Bindplane.
  6. Nel campo Porta, inserisci 514 (o la porta configurata nell'agente Bindplane).
  7. Nel menu a discesa Facility, seleziona local7.
  8. Fai clic su Applica.

Per FortiSwitch autonomo (configurazione CLI)

  1. Accedi all'interfaccia a riga di comando di FortiSwitch tramite SSH o console.
  2. Inserisci i seguenti comandi:

    config log syslogd setting
        set status enable
        set server <BINDPLANE_AGENT_IP>
        set port 514
        set facility local7
    end
    
    config log syslogd filter
        set severity information
    end
    

    Sostituisci <BINDPLANE_AGENT_IP> con l'indirizzo IP dell'host dell'agente Bindplane.

  3. Verifica la configurazione:

    show log syslogd setting
    

Per FortiSwitch gestito da FortiGate

Quando FortiSwitch è gestito da FortiGate, configura l'inoltro di syslog dall'interfaccia a riga di comando di FortiGate.

  1. Accedi all'interfaccia a riga di comando di FortiGate tramite SSH o console.
  2. Inserisci i seguenti comandi per configurare il syslog remoto per FortiSwitch gestito:

    config switch-controller remote-log
        edit "chronicle-syslog"
            set status enable
            set server <BINDPLANE_AGENT_IP>
            set port 514
            set severity information
            set facility local7
        next
    end
    

    Sostituisci <BINDPLANE_AGENT_IP> con l'indirizzo IP dell'host dell'agente Bindplane.

  3. Verifica la configurazione:

    show switch-controller remote-log
    
  4. Assicurati che la policy del firewall FortiGate consenta il traffico syslog dall'interfaccia FortiLink all'interfaccia in cui si trova l'agente Bindplane. Se necessario, crea una policy:

    config firewall policy
        edit 0
            set srcintf <fortilink_interface>
            set dstintf <bindplane_interface>
            set srcaddr "all"
            set dstaddr "all"
            set action accept
            set schedule "always"
            set service "SYSLOG"
        next
    end
    

    Sostituisci <fortilink_interface> con il nome dell'interfaccia FortiLink e <bindplane_interface> con l'interfaccia in cui è raggiungibile l'agente Bindplane.

Tabella di mappatura UDM

Campo del log mappatura UDM Logica
metadata.event_type Il tipo di evento rappresentato da questo record.
evento metadata.product_event_type Il tipo di evento segnalato dal prodotto.
log_id metadata.product_log_id Identificatore univoco della voce di log assegnato dal prodotto.
device_id principal.asset.asset_id Identificatore univoco della risorsa.
devname principal.asset.hostname Nome host dell'asset associato all'entità.
devname principal.hostname Nome host associato all'entità.
vd principal.user.attribute.labels Elenco di etichette associate all'utente.
oldrole principal.user.attribute.roles Elenco dei ruoli associati all'utente.
unità principal.user.role_description Descrizione del ruolo dell'utente.
utente principal.user.userid Identificatore univoco dell'utente.
azione security_result.action_details Dettagli sull'azione intrapresa.
msg security_result.description Descrizione del risultato di sicurezza.
type, subtype, switch.physical-port, instanceid security_result.detection_fields Elenco dei campi utilizzati per il rilevamento.
pri security_result.priority_details Dettagli sulla priorità dell'evento.
stato security_result.summary Riepilogo del risultato della sicurezza.
newrole target.user.attribute.roles Elenco dei ruoli associati all'utente di destinazione.
metadata.product_name Nome del prodotto che ha generato l'evento.
metadata.vendor_name Nome del fornitore che ha realizzato il prodotto.

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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