Verificare la conformità di un FortiGate al CIS

Cyberwatch valuta la conformità dei firewall FortiGate al CIS FortiGate 7.4.x Benchmark v1.0.1, pubblicato dal CIS a gennaio 2026.

Le 64 raccomandazioni del benchmark sono disponibili sotto forma di regole di conformità. 61 di esse vengono verificate automaticamente a partire dalla configurazione del FortiGate, letta tramite la sua API REST. Le altre tre dipendono dalla propria organizzazione e vanno verificate manualmente.

Aggiungere il FortiGate

La conformità si valuta su un FortiGate aggiunto con il connettore FortiGate (API), direttamente o tramite un FortiManager. Dopo la sua prima scansione, l’asset ha il sistema operativo FortiOS, al quale si applicano le regole del benchmark.

Anche un FortiGate scansionato in SNMP ha il sistema FortiOS, ma le sue regole non vengono valutate: SNMP non dà accesso alla configurazione.

Il profilo in sola lettura preparato per il connettore è sufficiente, salvo per gli account di amministratore, che non sempre consente di leggere: le regole 2.4.1 e 2.4.2 sono allora nello stato Saltata, con il motivo.

Associare i framework

Un nuovo FortiGate (API) riceve d’ufficio il framework CIS_Benchmark_level_1, che raggruppa le 39 raccomandazioni di livello 1.

Per valutare anche le 25 raccomandazioni di livello 2, aggiungere il framework CIS_Benchmark_level_2, oppure CIS_Benchmark, che raggruppa entrambi i livelli. Questi framework sono presenti per impostazione predefinita in Cyberwatch.

Funzionamento della valutazione

A ogni valutazione, Cyberwatch legge la configurazione del FortiGate tramite la sua API, in sola lettura, quindi valuta le regole. La configurazione non viene conservata. La valutazione avviene ogni 30 giorni per impostazione predefinita, in base alla policy dell’asset.

Le tabelle specifiche di un VDOM, come le regole firewall o i profili di sicurezza, vengono lette per tutti i VDOM. Quando ce ne sono diversi, ogni constatazione indica il proprio VDOM.

Se il FortiGate non risponde, o rifiuta la chiave API, la valutazione non riesce e le regole mantengono il risultato della valutazione precedente. Se una tabella di configurazione è illeggibile (lettura rifiutata dal profilo, assente in questa versione di FortiOS, o incompleta), solo le regole che ne dipendono sono nello stato Saltata, con il motivo.

Le regole che riguardano oggetti forniscono una constatazione per oggetto, visibile nella scheda «Conformità» dell’asset: per regola firewall, interfaccia, zona, profilo di sicurezza, account di amministratore o utente SNMPv3. Le altre forniscono il valore letto di ogni impostazione, seguito dal valore atteso quando è diverso.

Regole firewall e profili di sicurezza

Le raccomandazioni sui profili di sicurezza considerano solo le regole firewall attive che accettano il traffico e lo ispezionano: un profilo viene preso in considerazione solo se la regola attiva i profili di sicurezza (utm-status enable), direttamente o tramite un gruppo di profili. I profili che nessuna regola applica non vengono valutati.

Senza regole firewall nel loro perimetro, queste raccomandazioni sono nello stato Successo. Se esistono regole ma nessuna applica un profilo del tipo atteso, la raccomandazione è nello stato Non superato. Un profilo applicato ma non trovato nel proprio VDOM dà una constatazione non valutata.

Una regola firewall porta a Internet quando la sua destinazione è un’interfaccia con ruolo WAN, una zona o una zona SD-WAN che ne contiene una, oppure any. Senza interfaccia con ruolo WAN, le raccomandazioni sulle regole verso Internet (4.1.1 e 4.3.3) sono nello stato Saltata.

Vengono lette solo le regole firewall (Firewall Policy): le policy di sicurezza della modalità NGFW basata sulle policy non vengono valutate.

Raccomandazioni verificate automaticamente

RegolaLivelloControllo
CIS-FortiGate-1.11È configurato un server DNS primario o secondario
CIS-FortiGate-1.21Ogni zona blocca il traffico tra le proprie interfacce (intrazone deny)
CIS-FortiGate-1.31Nessuna interfaccia attiva con ruolo WAN consente l’amministrazione in PING, HTTPS, HTTP, SSH, SNMP, RADIUS accounting o Telnet, sia in IPv4 sia in IPv6. L’accesso di un FortiManager (fgfm) resta consentito
CIS-FortiGate-2.1.11pre-login-banner è attivato
CIS-FortiGate-2.1.21post-login-banner è attivato
CIS-FortiGate-2.1.41La sincronizzazione NTP è attivata ed è selezionato un server NTP raggiungibile
CIS-FortiGate-2.1.51Il nome host non è né il numero di serie né il nome del modello
CIS-FortiGate-2.1.62FortiGuard non propone una patch più recente del ramo di FortiOS installato
CIS-FortiGate-2.1.72auto-install-config e auto-install-image sono disattivati
CIS-FortiGate-2.1.82ssl-static-key-ciphers è disattivato
CIS-FortiGate-2.1.92strong-crypto è attivato
CIS-FortiGate-2.1.101L’amministrazione HTTPS accetta solo TLS 1.3 (admin-https-ssl-versions tlsv1-3)
CIS-FortiGate-2.1.112gui-cdn-usage è attivato
CIS-FortiGate-2.1.121log-single-cpu-high è attivato
CIS-FortiGate-2.1.132gui-display-hostname è disattivato
CIS-FortiGate-2.2.11La policy delle password è attivata, copre le password degli amministratori e le chiavi IPsec, e richiede almeno 14 caratteri
CIS-FortiGate-2.2.21admin-lockout-threshold vale al massimo 3, e admin-lockout-duration al massimo 900 secondi
CIS-FortiGate-2.3.11L’agent SNMP è attivato, senza community SNMPv1/v2c, con almeno un utente SNMPv3 attivo
CIS-FortiGate-2.3.22Ogni utente SNMPv3 attivo è limitato a host specifici (notify-hosts)
CIS-FortiGate-2.3.32Nessun utente SNMPv3 attivo può interrogare l’agent (queries disable)
CIS-FortiGate-2.3.41L’agent SNMP è attivato, trap-free-memory-threshold vale almeno 20 e trap-freeable-memory-threshold al massimo 50
CIS-FortiGate-2.4.11Nessun account di amministratore si chiama admin
CIS-FortiGate-2.4.21Ogni account di amministratore è limitato a host attendibili. Quando lo sono solo i suoi host IPv4, la constatazione invita a verificare l’accesso in IPv6
CIS-FortiGate-2.4.41admintimeout vale al massimo 5 minuti
CIS-FortiGate-2.4.51Nessuna interfaccia attiva consente l’amministrazione in HTTP o in Telnet
CIS-FortiGate-2.4.61Ogni VDOM ha almeno una policy local-in attiva
CIS-FortiGate-2.4.71Le porte di amministrazione non sono 443 e 80, e admin-https-redirect è disattivato
CIS-FortiGate-2.4.81Ogni policy local-in attiva che accetta traffico applica il virtual patching
CIS-FortiGate-2.5.12L’alta disponibilità è attivata
CIS-FortiGate-2.5.21L’HA monitora almeno un’interfaccia (monitor)
CIS-FortiGate-2.5.31L’HA riserva un’interfaccia di gestione, con il relativo gateway
CIS-FortiGate-2.5.42Il group-id dell’HA non è 0
CIS-FortiGate-3.21Nessuna regola firewall attiva che accetta traffico utilizza il servizio ALL
CIS-FortiGate-3.31Regole firewall attive rifiutano il traffico in ingresso, su tutti i servizi, e in uscita verso i servizi a rischio dell’ISDB elencati dal benchmark. Le regole invertite (negate) non vengono considerate
CIS-FortiGate-3.41Ogni regola firewall attiva che accetta traffico registra nei log tutte le proprie sessioni (logtraffic all), ogni regola di rifiuto il traffico rifiutato, così come la regola di rifiuto implicita di ogni VDOM (fwpolicy-implicit-log)
CIS-FortiGate-4.1.12I profili IPS delle regole verso Internet bloccano le connessioni alle botnet
CIS-FortiGate-4.1.21Ogni regola che accetta traffico applica un profilo IPS
CIS-FortiGate-4.2.12Gli aggiornamenti FortiGuard sono attivati in modalità automatica
CIS-FortiGate-4.2.22Ogni regola che accetta traffico applica un profilo antivirus
CIS-FortiGate-4.2.32I profili antivirus applicati bloccano gli outbreak su ogni protocollo che scansionano (outbreak-prevention block)
CIS-FortiGate-4.2.42Il rilevamento tramite machine learning (machine-learning-detection) è attivato
CIS-FortiGate-4.2.52Il rilevamento dei grayware è attivato
CIS-FortiGate-4.2.61La scansione in linea della sandbox FortiGuard è attivata, e i profili antivirus applicati la utilizzano in modalità di blocco su ogni protocollo che scansionano
CIS-FortiGate-4.2.72I profili antivirus applicati sono in modalità proxy e disarmano il contenuto (CDR)
CIS-FortiGate-4.3.12I filtri DNS applicati bloccano i domini delle botnet
CIS-FortiGate-4.3.21I filtri DNS applicati registrano nei log tutte le richieste (log-all-domain)
CIS-FortiGate-4.3.31Ogni regola verso Internet applica un filtro DNS
CIS-FortiGate-4.4.11I filtri web applicati bloccano le categorie Malicious Websites, Phishing e Spam URLs
CIS-FortiGate-4.5.11I profili di controllo applicativo applicati bloccano le categorie P2P e Proxy: la prima voce che riguarda ciascuna di esse la blocca interamente, senza filtro
CIS-FortiGate-4.5.22I profili di controllo applicativo applicati bloccano le applicazioni su una porta insolita
CIS-FortiGate-4.5.31I profili di controllo applicativo applicati non lasciano passare alcuna categoria senza registrarla nei log
CIS-FortiGate-4.5.41Ogni regola che accetta traffico applica un profilo di controllo applicativo
CIS-FortiGate-5.1.11Un’automazione attiva mette in quarantena gli host compromessi
CIS-FortiGate-5.2.1.12La Security Fabric è attivata e ha un nome, e i log vengono inviati a FortiAnalyzer. L’output fornisce il ruolo del FortiGate, radice o a valle
CIS-FortiGate-6.1.12La VPN SSL presenta un certificato diverso da quelli di Fortinet
CIS-FortiGate-6.1.22La VPN SSL accetta solo TLS 1.2 e 1.3, con crittografia forte
CIS-FortiGate-7.1.12Tutti i tipi di eventi vengono registrati nei log
CIS-FortiGate-7.2.12I log vengono inviati a uno dei server syslog (da syslogd a syslogd4), a uno dei FortiAnalyzer (da fortianalyzer a fortianalyzer3) o a FortiAnalyzer Cloud
CIS-FortiGate-7.3.11I log inviati a ogni FortiAnalyzer attivo sono crittografati (enc-algorithm high) e affidabili (reliable enable)
CIS-FortiGate-7.3.21I log inviati a ogni server syslog attivo sono crittografati (enc-algorithm high) e affidabili (mode reliable)
CIS-FortiGate-7.3.31Identica alla 7.3.2, che il benchmark ripete

I controlli riprendono la procedura di audit del benchmark, anche quando è rigorosa: la regola 2.1.10 richiede solo TLS 1.3, e la regola 2.2.2 una durata di blocco di al massimo 900 secondi.

L’output della regola 5.2.1.1 ricorda ciò che resta da verificare manualmente: le impostazioni di FortiAnalyzer e le interfacce utilizzate dai dispositivi della Security Fabric. La regola 6.1.1 non verifica che il certificato sia firmato da un’autorità attendibile.

Raccomandazioni non pertinenti

Alcune raccomandazioni sono nello stato Saltata quando non si applicano al FortiGate:

  • 1.3, senza interfaccia attiva con ruolo WAN: le porte WAN vanno identificate manualmente;
  • 2.1.6, quando il FortiGate non dispone dell’elenco delle versioni di FortiOS, non riuscendo a raggiungere FortiGuard;
  • da 2.5.2 a 2.5.4, su un FortiGate senza alta disponibilità;
  • 4.1.1 e 4.3.3, senza interfaccia con ruolo WAN: le regole verso Internet non possono essere individuate;
  • 6.1.1 e 6.1.2, senza VPN SSL attiva;
  • 7.3.1, quando i log non vengono inviati ad alcun FortiAnalyzer, e 7.3.2 e 7.3.3, quando non vengono inviati ad alcun server syslog. La sovrascrittura della registrazione dei log da parte di un VDOM non viene letta.

Raccomandazioni da verificare manualmente

Tre raccomandazioni dipendono dalla propria organizzazione:

  • 2.1.3, il fuso orario: il suo output fornisce il fuso orario configurato;
  • 2.4.3, i profili degli account di amministratore;
  • 3.1, la revisione periodica delle regole firewall inutilizzate.

Queste regole sono nello stato Saltata, con la dicitura «Manual verification required» seguita dal motivo. La scheda di ogni regola riporta la procedura di audit del CIS.

Una volta verificata una raccomandazione, è possibile ignorare la regola e commentare questa scelta.