Controlar el cumplimiento CIS de un FortiGate
Cyberwatch evalúa el cumplimiento de los cortafuegos FortiGate respecto al CIS FortiGate 7.4.x Benchmark v1.0.1, publicado por el CIS en enero de 2026.
Las 64 recomendaciones del benchmark están disponibles en forma de reglas de cumplimiento. 61 de ellas se verifican automáticamente a partir de la configuración del FortiGate, leída mediante su API REST. Las otras tres dependen de su organización y deben verificarse manualmente.
Añadir el FortiGate
El cumplimiento se evalúa en un FortiGate añadido con el conector FortiGate (API), directamente o a través de un FortiManager. Tras su primer escaneo, el activo tiene el sistema operativo FortiOS, al que se aplican las reglas del benchmark.
Un FortiGate escaneado por SNMP también tiene el sistema FortiOS, pero sus reglas no se evalúan: SNMP no da acceso a la configuración.
El perfil de solo lectura preparado para el conector es suficiente, salvo para las cuentas de administrador, que no siempre permite leer: las reglas 2.4.1 y 2.4.2 quedan entonces en estado Pasado, con el motivo.
Asociar los marcos de cumplimiento
Un nuevo FortiGate (API) recibe automáticamente el marco de cumplimiento CIS_Benchmark_level_1, que agrupa las 39 recomendaciones de nivel 1.
Para evaluar también las 25 recomendaciones de nivel 2, añadir el marco de cumplimiento CIS_Benchmark_level_2, o bien CIS_Benchmark, que agrupa ambos niveles. Estos marcos de cumplimiento están presentes por defecto en Cyberwatch.
Funcionamiento de la evaluación
En cada evaluación, Cyberwatch lee la configuración del FortiGate mediante su API, en solo lectura, y después evalúa las reglas. La configuración no se conserva. La evaluación tiene lugar cada 30 días por defecto, según la política del activo.
Las tablas propias de un VDOM, como las reglas de cortafuegos o los perfiles de seguridad, se leen para todos los VDOM. Cuando hay varios, cada constatación indica su VDOM.
Si el FortiGate no responde, o rechaza la clave de API, la evaluación falla y las reglas conservan el resultado de la evaluación anterior. Si una tabla de configuración no es legible (lectura denegada por el perfil, ausente en esta versión de FortiOS, o incompleta), solo las reglas que dependen de ella quedan en estado Pasado, con el motivo.
Las reglas que tratan sobre objetos dan una constatación por objeto, visible en la pestaña «Cumplimiento» del activo: por regla de cortafuegos, interfaz, zona, perfil de seguridad, cuenta de administrador o usuario SNMPv3. Las demás dan el valor leído de cada ajuste, seguido del valor esperado cuando difiere.
Reglas de cortafuegos y perfiles de seguridad
Las recomendaciones sobre los perfiles de seguridad solo tienen en cuenta las reglas de cortafuegos activas que aceptan el tráfico y lo inspeccionan: un perfil solo se tiene en cuenta si la regla activa los perfiles de seguridad (utm-status enable), directamente o mediante un grupo de perfiles. Los perfiles que ninguna regla aplica no se evalúan.
Sin regla de cortafuegos en su perímetro, estas recomendaciones están en Éxito. Si existen reglas pero ninguna aplica un perfil del tipo esperado, la recomendación está en Fallo. Un perfil aplicado pero que no se encuentra en su VDOM da una constatación no evaluada.
Una regla de cortafuegos conduce a Internet cuando su destino es una interfaz con rol WAN, una zona o una zona SD-WAN que contiene una, o any. Sin interfaz con rol WAN, las recomendaciones sobre las reglas hacia Internet (4.1.1 y 4.3.3) quedan en estado Pasado.
Solo se leen las reglas de cortafuegos (Firewall Policy): las políticas de seguridad del modo NGFW basado en políticas no se evalúan.
Recomendaciones verificadas automáticamente
| Regla | Nivel | Control |
|---|---|---|
| CIS-FortiGate-1.1 | 1 | Hay un servidor DNS primario o secundario configurado |
| CIS-FortiGate-1.2 | 1 | Cada zona bloquea el tráfico entre sus interfaces (intrazone deny) |
| CIS-FortiGate-1.3 | 1 | Ninguna interfaz activa con rol WAN permite la administración por PING, HTTPS, HTTP, SSH, SNMP, RADIUS accounting o Telnet, tanto en IPv4 como en IPv6. El acceso de un FortiManager (fgfm) sigue permitido |
| CIS-FortiGate-2.1.1 | 1 | pre-login-banner está activado |
| CIS-FortiGate-2.1.2 | 1 | post-login-banner está activado |
| CIS-FortiGate-2.1.4 | 1 | La sincronización NTP está activada y hay un servidor NTP accesible seleccionado |
| CIS-FortiGate-2.1.5 | 1 | El nombre de host no es ni el número de serie ni el nombre del modelo |
| CIS-FortiGate-2.1.6 | 2 | FortiGuard no ofrece ningún parche más reciente de la rama de FortiOS instalada |
| CIS-FortiGate-2.1.7 | 2 | auto-install-config y auto-install-image están desactivados |
| CIS-FortiGate-2.1.8 | 2 | ssl-static-key-ciphers está desactivado |
| CIS-FortiGate-2.1.9 | 2 | strong-crypto está activado |
| CIS-FortiGate-2.1.10 | 1 | La administración HTTPS solo acepta TLS 1.3 (admin-https-ssl-versions tlsv1-3) |
| CIS-FortiGate-2.1.11 | 2 | gui-cdn-usage está activado |
| CIS-FortiGate-2.1.12 | 1 | log-single-cpu-high está activado |
| CIS-FortiGate-2.1.13 | 2 | gui-display-hostname está desactivado |
| CIS-FortiGate-2.2.1 | 1 | La política de contraseñas está activada, cubre las contraseñas de los administradores y las claves IPsec, y exige al menos 14 caracteres |
| CIS-FortiGate-2.2.2 | 1 | admin-lockout-threshold vale como máximo 3, y admin-lockout-duration como máximo 900 segundos |
| CIS-FortiGate-2.3.1 | 1 | El agente SNMP está activado, sin comunidad SNMPv1/v2c, con al menos un usuario SNMPv3 activo |
| CIS-FortiGate-2.3.2 | 2 | Cada usuario SNMPv3 activo está limitado a hosts concretos (notify-hosts) |
| CIS-FortiGate-2.3.3 | 2 | Ningún usuario SNMPv3 activo puede consultar el agente (queries disable) |
| CIS-FortiGate-2.3.4 | 1 | El agente SNMP está activado, trap-free-memory-threshold vale al menos 20 y trap-freeable-memory-threshold como máximo 50 |
| CIS-FortiGate-2.4.1 | 1 | Ninguna cuenta de administrador se llama admin |
| CIS-FortiGate-2.4.2 | 1 | Cada cuenta de administrador está limitada a hosts de confianza. Cuando solo lo están sus hosts IPv4, la constatación invita a verificar el acceso en IPv6 |
| CIS-FortiGate-2.4.4 | 1 | admintimeout vale como máximo 5 minutos |
| CIS-FortiGate-2.4.5 | 1 | Ninguna interfaz activa permite la administración por HTTP o por Telnet |
| CIS-FortiGate-2.4.6 | 1 | Cada VDOM tiene al menos una política local-in activa |
| CIS-FortiGate-2.4.7 | 1 | Los puertos de administración no son 443 y 80, y admin-https-redirect está desactivado |
| CIS-FortiGate-2.4.8 | 1 | Cada política local-in activa que acepta tráfico aplica el virtual patching |
| CIS-FortiGate-2.5.1 | 2 | La alta disponibilidad está activada |
| CIS-FortiGate-2.5.2 | 1 | La HA supervisa al menos una interfaz (monitor) |
| CIS-FortiGate-2.5.3 | 1 | La HA reserva una interfaz de gestión, con su pasarela |
| CIS-FortiGate-2.5.4 | 2 | El group-id de la HA no es 0 |
| CIS-FortiGate-3.2 | 1 | Ninguna regla de cortafuegos activa que acepta tráfico utiliza el servicio ALL |
| CIS-FortiGate-3.3 | 1 | Hay reglas de cortafuegos activas que deniegan el tráfico entrante, en todos los servicios, y el saliente de los servicios de riesgo de la ISDB enumerados por el benchmark. Las reglas invertidas (negate) no cuentan |
| CIS-FortiGate-3.4 | 1 | Cada regla de cortafuegos activa que acepta tráfico registra todas sus sesiones (logtraffic all), cada regla de denegación el tráfico denegado, y la regla de denegación implícita de cada VDOM también (fwpolicy-implicit-log) |
| CIS-FortiGate-4.1.1 | 2 | Los perfiles IPS de las reglas hacia Internet bloquean las conexiones a las botnets |
| CIS-FortiGate-4.1.2 | 1 | Cada regla que acepta tráfico aplica un perfil IPS |
| CIS-FortiGate-4.2.1 | 2 | Las actualizaciones FortiGuard están activadas en modo automático |
| CIS-FortiGate-4.2.2 | 2 | Cada regla que acepta tráfico aplica un perfil antivirus |
| CIS-FortiGate-4.2.3 | 2 | Los perfiles antivirus aplicados bloquean los brotes en cada protocolo que analizan (outbreak-prevention block) |
| CIS-FortiGate-4.2.4 | 2 | La detección por aprendizaje automático (machine-learning-detection) está activada |
| CIS-FortiGate-4.2.5 | 2 | La detección de grayware está activada |
| CIS-FortiGate-4.2.6 | 1 | El análisis en línea del sandbox de FortiGuard está activado, y los perfiles antivirus aplicados lo utilizan en modo de bloqueo en cada protocolo que analizan |
| CIS-FortiGate-4.2.7 | 2 | Los perfiles antivirus aplicados están en modo proxy y desarman el contenido (CDR) |
| CIS-FortiGate-4.3.1 | 2 | Los filtros DNS aplicados bloquean los dominios de las botnets |
| CIS-FortiGate-4.3.2 | 1 | Los filtros DNS aplicados registran todas las consultas (log-all-domain) |
| CIS-FortiGate-4.3.3 | 1 | Cada regla hacia Internet aplica un filtro DNS |
| CIS-FortiGate-4.4.1 | 1 | Los filtros web aplicados bloquean las categorías Malicious Websites, Phishing y Spam URLs |
| CIS-FortiGate-4.5.1 | 1 | Los perfiles de control de aplicaciones aplicados bloquean las categorías P2P y Proxy: la primera entrada dirigida a cada una la bloquea por completo, sin filtro |
| CIS-FortiGate-4.5.2 | 2 | Los perfiles de control de aplicaciones aplicados bloquean las aplicaciones en un puerto no habitual |
| CIS-FortiGate-4.5.3 | 1 | Los perfiles de control de aplicaciones aplicados no dejan pasar ninguna categoría sin registrarla |
| CIS-FortiGate-4.5.4 | 1 | Cada regla que acepta tráfico aplica un perfil de control de aplicaciones |
| CIS-FortiGate-5.1.1 | 1 | Una automatización activa pone en cuarentena los hosts comprometidos |
| CIS-FortiGate-5.2.1.1 | 2 | La Security Fabric está activada y tiene nombre, y los registros se envían a FortiAnalyzer. La salida indica el rol del FortiGate, raíz o descendente |
| CIS-FortiGate-6.1.1 | 2 | La VPN SSL presenta un certificado distinto de los de Fortinet |
| CIS-FortiGate-6.1.2 | 2 | La VPN SSL solo acepta TLS 1.2 y 1.3, con cifrado fuerte |
| CIS-FortiGate-7.1.1 | 2 | Se registran todos los tipos de eventos |
| CIS-FortiGate-7.2.1 | 2 | Los registros se envían a uno de los servidores syslog (syslogd a syslogd4), a uno de los FortiAnalyzer (fortianalyzer a fortianalyzer3) o a FortiAnalyzer Cloud |
| CIS-FortiGate-7.3.1 | 1 | Los registros enviados a cada FortiAnalyzer activo están cifrados (enc-algorithm high) y son fiables (reliable enable) |
| CIS-FortiGate-7.3.2 | 1 | Los registros enviados a cada servidor syslog activo están cifrados (enc-algorithm high) y son fiables (mode reliable) |
| CIS-FortiGate-7.3.3 | 1 | Idéntica a 7.3.2, que el benchmark repite |
Los controles retoman el procedimiento de auditoría del benchmark, incluso cuando es estricto: la regla 2.1.10 exige únicamente TLS 1.3, y la regla 2.2.2 una duración de bloqueo de como máximo 900 segundos.
La salida de la regla 5.2.1.1 recuerda lo que queda por verificar manualmente: los ajustes de FortiAnalyzer y las interfaces que utilizan los equipos de la Security Fabric. La regla 6.1.1 no verifica que el certificado esté firmado por una autoridad de confianza.
Recomendaciones no aplicables
Algunas recomendaciones quedan en estado Pasado cuando no se aplican al FortiGate:
- 1.3, sin interfaz activa con rol WAN: los puertos WAN deben identificarse manualmente;
- 2.1.6, cuando el FortiGate no dispone de la lista de versiones de FortiOS, por no poder acceder a FortiGuard;
- 2.5.2 a 2.5.4, en un FortiGate sin alta disponibilidad;
- 4.1.1 y 4.3.3, sin interfaz con rol WAN: las reglas hacia Internet no pueden identificarse;
- 6.1.1 y 6.1.2, sin VPN SSL activa;
- 7.3.1, cuando los registros no se envían a ningún FortiAnalyzer, y 7.3.2 y 7.3.3, cuando no se envían a ningún servidor syslog. La sustitución de la configuración de registro por un VDOM no se lee.
Recomendaciones que deben verificarse manualmente
Tres recomendaciones dependen de su organización:
- 2.1.3, la zona horaria: su salida indica la zona configurada;
- 2.4.3, los perfiles de las cuentas de administrador;
- 3.1, la revisión periódica de las reglas de cortafuegos no utilizadas.
Estas reglas quedan en estado Pasado, con la mención «Manual verification required» seguida del motivo. La ficha de cada regla retoma el procedimiento de auditoría del CIS.
Una vez verificada una recomendación, es posible ignorar la regla y comentar esta decisión.