Raccogli i log di Fortinet Switch

Versione parser: 1.0

Supportato 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 3, supporto VLAN, aggregazione di link, Power over Ethernet (PoE) e funzionalità di sicurezza integrate. Le unità FortiSwitch possono operare in modalità standalone 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 o host Linux con systemd.
  • Connettività di rete tra l'agente Bindplane e Fortinet Switch.
  • Se esegui l'agente 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).
  • Fortinet Switch con FortiSwitchOS 7.0 o versioni successive.

Recupera 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 precedenti: continua a utilizzare il file di autenticazione dell'acquisizione (opzione 2) fino alla disattivazione dell'API Ingestion il 20 luglio 2027.
  1. Accedi alla Google Cloud console e seleziona il Google Cloud progetto collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: 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 Editor Chronicle.
  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 di 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 SIEM > 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.

Recupera 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:

    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:

    sudo systemctl status observiq-otel-collector
    

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

Risorse di installazione aggiuntive

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 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 l'ascolto sulla porta UDP 514 dei messaggi syslog di Fortinet Switch.
  • Per ascoltare su tutte le interfacce, utilizza 0.0.0.0:514.
  • Per utilizzare una porta senza privilegi 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: 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 antepone chronicle.googleapis.com a questo valore. Per l'elenco completo, consulta Endpoint regionali.
  • project: sostituisci <PROJECT_NUMBER> con il numero di progetto in IAM e amministrazione > Impostazioni.
  • endpoint: mantieni il valore chronicle.googleapis.com.
  • log_type: deve essere esattamente FORTINET_SWITCH.
  • ingestion_labels: etichette facoltative in formato YAML (ad esempio, env: production).

Esportatore dell'API Ingestion legacy

  • 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 la tua istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con l'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, poi 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 di syslog di Fortinet Switch

Configura Fortinet Switch in modo che invii 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 GUI)

  1. Accedi all'interfaccia web di FortiSwitch.
  2. Vai a Log > Config.
  3. In Syslog, seleziona Abilita.
  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 alla CLI 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 dalla CLI di FortiGate.

  1. Accedi alla CLI di FortiGate tramite SSH o console.
  2. Inserisci i seguenti comandi per configurare 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 firewall di 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 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 della risorsa associata al principal.
devname principal.hostname Nome host associato al principal.
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 di 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 prodotto 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.