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
| Regola | Livello | Controllo |
|---|---|---|
| CIS-FortiGate-1.1 | 1 | È configurato un server DNS primario o secondario |
| CIS-FortiGate-1.2 | 1 | Ogni zona blocca il traffico tra le proprie interfacce (intrazone deny) |
| CIS-FortiGate-1.3 | 1 | Nessuna 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.1 | 1 | pre-login-banner è attivato |
| CIS-FortiGate-2.1.2 | 1 | post-login-banner è attivato |
| CIS-FortiGate-2.1.4 | 1 | La sincronizzazione NTP è attivata ed è selezionato un server NTP raggiungibile |
| CIS-FortiGate-2.1.5 | 1 | Il nome host non è né il numero di serie né il nome del modello |
| CIS-FortiGate-2.1.6 | 2 | FortiGuard non propone una patch più recente del ramo di FortiOS installato |
| CIS-FortiGate-2.1.7 | 2 | auto-install-config e auto-install-image sono disattivati |
| CIS-FortiGate-2.1.8 | 2 | ssl-static-key-ciphers è disattivato |
| CIS-FortiGate-2.1.9 | 2 | strong-crypto è attivato |
| CIS-FortiGate-2.1.10 | 1 | L’amministrazione HTTPS accetta solo TLS 1.3 (admin-https-ssl-versions tlsv1-3) |
| CIS-FortiGate-2.1.11 | 2 | gui-cdn-usage è attivato |
| CIS-FortiGate-2.1.12 | 1 | log-single-cpu-high è attivato |
| CIS-FortiGate-2.1.13 | 2 | gui-display-hostname è disattivato |
| CIS-FortiGate-2.2.1 | 1 | La policy delle password è attivata, copre le password degli amministratori e le chiavi IPsec, e richiede almeno 14 caratteri |
| CIS-FortiGate-2.2.2 | 1 | admin-lockout-threshold vale al massimo 3, e admin-lockout-duration al massimo 900 secondi |
| CIS-FortiGate-2.3.1 | 1 | L’agent SNMP è attivato, senza community SNMPv1/v2c, con almeno un utente SNMPv3 attivo |
| CIS-FortiGate-2.3.2 | 2 | Ogni utente SNMPv3 attivo è limitato a host specifici (notify-hosts) |
| CIS-FortiGate-2.3.3 | 2 | Nessun utente SNMPv3 attivo può interrogare l’agent (queries disable) |
| CIS-FortiGate-2.3.4 | 1 | L’agent SNMP è attivato, trap-free-memory-threshold vale almeno 20 e trap-freeable-memory-threshold al massimo 50 |
| CIS-FortiGate-2.4.1 | 1 | Nessun account di amministratore si chiama admin |
| CIS-FortiGate-2.4.2 | 1 | Ogni 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.4 | 1 | admintimeout vale al massimo 5 minuti |
| CIS-FortiGate-2.4.5 | 1 | Nessuna interfaccia attiva consente l’amministrazione in HTTP o in Telnet |
| CIS-FortiGate-2.4.6 | 1 | Ogni VDOM ha almeno una policy local-in attiva |
| CIS-FortiGate-2.4.7 | 1 | Le porte di amministrazione non sono 443 e 80, e admin-https-redirect è disattivato |
| CIS-FortiGate-2.4.8 | 1 | Ogni policy local-in attiva che accetta traffico applica il virtual patching |
| CIS-FortiGate-2.5.1 | 2 | L’alta disponibilità è attivata |
| CIS-FortiGate-2.5.2 | 1 | L’HA monitora almeno un’interfaccia (monitor) |
| CIS-FortiGate-2.5.3 | 1 | L’HA riserva un’interfaccia di gestione, con il relativo gateway |
| CIS-FortiGate-2.5.4 | 2 | Il group-id dell’HA non è 0 |
| CIS-FortiGate-3.2 | 1 | Nessuna regola firewall attiva che accetta traffico utilizza il servizio ALL |
| CIS-FortiGate-3.3 | 1 | Regole 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.4 | 1 | Ogni 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.1 | 2 | I profili IPS delle regole verso Internet bloccano le connessioni alle botnet |
| CIS-FortiGate-4.1.2 | 1 | Ogni regola che accetta traffico applica un profilo IPS |
| CIS-FortiGate-4.2.1 | 2 | Gli aggiornamenti FortiGuard sono attivati in modalità automatica |
| CIS-FortiGate-4.2.2 | 2 | Ogni regola che accetta traffico applica un profilo antivirus |
| CIS-FortiGate-4.2.3 | 2 | I profili antivirus applicati bloccano gli outbreak su ogni protocollo che scansionano (outbreak-prevention block) |
| CIS-FortiGate-4.2.4 | 2 | Il rilevamento tramite machine learning (machine-learning-detection) è attivato |
| CIS-FortiGate-4.2.5 | 2 | Il rilevamento dei grayware è attivato |
| CIS-FortiGate-4.2.6 | 1 | La 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.7 | 2 | I profili antivirus applicati sono in modalità proxy e disarmano il contenuto (CDR) |
| CIS-FortiGate-4.3.1 | 2 | I filtri DNS applicati bloccano i domini delle botnet |
| CIS-FortiGate-4.3.2 | 1 | I filtri DNS applicati registrano nei log tutte le richieste (log-all-domain) |
| CIS-FortiGate-4.3.3 | 1 | Ogni regola verso Internet applica un filtro DNS |
| CIS-FortiGate-4.4.1 | 1 | I filtri web applicati bloccano le categorie Malicious Websites, Phishing e Spam URLs |
| CIS-FortiGate-4.5.1 | 1 | I 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.2 | 2 | I profili di controllo applicativo applicati bloccano le applicazioni su una porta insolita |
| CIS-FortiGate-4.5.3 | 1 | I profili di controllo applicativo applicati non lasciano passare alcuna categoria senza registrarla nei log |
| CIS-FortiGate-4.5.4 | 1 | Ogni regola che accetta traffico applica un profilo di controllo applicativo |
| CIS-FortiGate-5.1.1 | 1 | Un’automazione attiva mette in quarantena gli host compromessi |
| CIS-FortiGate-5.2.1.1 | 2 | La 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.1 | 2 | La VPN SSL presenta un certificato diverso da quelli di Fortinet |
| CIS-FortiGate-6.1.2 | 2 | La VPN SSL accetta solo TLS 1.2 e 1.3, con crittografia forte |
| CIS-FortiGate-7.1.1 | 2 | Tutti i tipi di eventi vengono registrati nei log |
| CIS-FortiGate-7.2.1 | 2 | I 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.1 | 1 | I log inviati a ogni FortiAnalyzer attivo sono crittografati (enc-algorithm high) e affidabili (reliable enable) |
| CIS-FortiGate-7.3.2 | 1 | I log inviati a ogni server syslog attivo sono crittografati (enc-algorithm high) e affidabili (mode reliable) |
| CIS-FortiGate-7.3.3 | 1 | Identica 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.