Conector FortiGate (API)

El conector FortiGate (API) añade un cortafuegos FortiGate como activo consultando la API REST de FortiOS. No requiere ni SNMP, ni ejecución de scripts, ni instalación de agentes.

Recupera:

  • la versión y la compilación (build) de FortiOS, que sirven para el cálculo de las vulnerabilidades;
  • el nombre, el modelo y el número de serie del FortiGate;
  • el modo de alta disponibilidad;
  • la versión y la fecha de las bases de firmas antivirus e IPS;
  • los vencimientos de las licencias FortiGuard y del soporte FortiCare;
  • la disponibilidad de un parche de FortiOS;
  • las direcciones IP de las interfaces, incluidas las obtenidas por DHCP;
  • defectos de configuración de la administración del FortiGate.

También permite evaluar el cumplimiento CIS del FortiGate.

Todas las solicitudes son de solo lectura.

El conector se utiliza de dos formas:

  • directamente: Cyberwatch consulta la API de cada FortiGate, con una clave de API propia del equipo;
  • a través de un FortiManager: Cyberwatch consulta el FortiManager, que retransmite las solicitudes a los FortiGate que gestiona. Una sola clave de API, la del FortiManager, basta para todo el parque.

Requisitos previos

La creación de conexiones sin agente de tipo FortiGate (API) requiere la activación de este tipo de conexiones en el menú Administración > Gestión de conectores.

En conexión directa, el escáner Cyberwatch debe poder acceder a la interfaz de administración HTTPS del FortiGate. A través de un FortiManager, debe poder acceder a la API JSON del FortiManager.

Conexión directa

Preparar el FortiGate

  1. Crear un perfil de administrador cuyos permisos sean todos de solo lectura (System > Admin Profiles). Si los VDOM están activados, dar al perfil un alcance global.
  2. Crear un administrador REST API con este perfil (System > Administrators > Create New > REST API Admin).
  3. En los hosts de confianza (Trusted Hosts) de este administrador, autorizar únicamente la dirección del escáner Cyberwatch.
  4. Anotar la clave de API generada: FortiOS solo la muestra una vez.

Configurar la credencial

Puede configurar los accesos desde el menú Credenciales guardadas de la barra lateral, y luego haciendo clic en el botón Añadir. En el formulario, seleccione el tipo Fortinet, y luego introduzca:

  • Clave de API: la clave del administrador REST API;
  • URL: opcional, solo sirve para el descubrimiento FortiGate;
  • Desactivar la verificación de certificado: marcar si el FortiGate presenta un certificado autofirmado;
  • Ignorar el proxy: marcar si el escáner accede al FortiGate sin pasar por el proxy configurado en Cyberwatch.

Añadir el FortiGate

En Cyberwatch, sección Activos:

  1. Ir al menú Activos y luego hacer clic en Conexiones sin agente
  2. Seleccionar el protocolo de acceso FortiGate (API)
  3. En el campo Dirección, introducir la dirección IP o el nombre del FortiGate
  4. En el campo Puerto, introducir el puerto de la interfaz de administración HTTPS (443 por defecto)
  5. Seleccionar la credencial Fortinet, o crear una
  6. Hacer clic en Guardar

Cyberwatch siempre llama al FortiGate en la dirección y el puerto de la conexión, sea cual sea la URL de la credencial.

Conexión a través de un FortiManager

Configurar la credencial

La credencial es la del descubrimiento FortiManager: tipo FortiManager, con la URL del FortiManager y la clave de API de un administrador de su API JSON.

Añadir un FortiGate

En Cyberwatch, sección Activos:

  1. Ir al menú Activos y luego hacer clic en Conexiones sin agente
  2. Seleccionar el protocolo de acceso FortiGate (API)
  3. Seleccionar la credencial FortiManager: el campo Puerto desaparece
  4. En el campo Dirección, introducir el nombre del FortiGate en el FortiManager
  5. Hacer clic en Guardar

Añadir los FortiGate de un descubrimiento FortiManager

Un descubrimiento FortiManager de tipo Descubrir los FortiGates registra el nombre de cada FortiGate en el FortiManager. Puede crear las conexiones automáticamente: en el descubrimiento, seleccionar la credencial FortiManager como credencial de conexión sin agente, con el tipo de conexión FortiGate (API).

Los FortiGate descubiertos también pueden añadirse desde la página de los activos descubiertos. Solo se aceptan los reportados por un descubrimiento Descubrir los FortiGates: tras una actualización de Cyberwatch, volver a lanzar el descubrimiento antes de crear las conexiones.

  1. Ir al menú Descubrimientos
  2. En el descubrimiento FortiManager, hacer clic en Mostrar los activos descubiertos
  3. Seleccionar los FortiGate que se van a añadir
  4. Hacer clic en Acciones en lote, y luego en Escanear con conexiones sin agente
  5. Seleccionar en Credenciales la credencial FortiManager
  6. Seleccionar el tipo de conexión FortiGate (API)
  7. Hacer clic en Crear las conexiones sin agente

Información reportada

El conector describe el FortiGate con la misma información que el escaneo SNMP: el firmware FortiOS y los metadatos siguientes. Estos metadatos son visibles en la pestaña Información del activo.

ClaveValor
system-manufacturerFortinet
system-product-nameModelo, por ejemplo FortiGate-81F
system-serial-numberNúmero de serie
ha-stateModo de alta disponibilidad: standalone, active-active o active-passive, el mismo en cada miembro del clúster
av-signature-version, av-signature-dateVersión y fecha de la última actualización de la base de firmas antivirus
ips-signature-version, ips-signature-dateVersión y fecha de la última actualización de la base de firmas IPS
license-expirationVencimiento más próximo de las licencias FortiGuard (antivirus, IPS, filtrado web…), vigentes o vencidas
support-expirationVencimiento más próximo de los contratos de soporte FortiCare (hardware, 24x7…), vigentes o vencidos; en su defecto, el de las actualizaciones (Firmware & General Updates)
firmware-update-availabletrue si FortiGuard publica un parche más reciente de la rama de FortiOS instalada, si no false. Una nueva rama, por ejemplo 7.6 para un FortiGate en 7.4, no cuenta. Sin valor cuando el FortiGate no puede acceder a FortiGuard.

Las fechas tienen el formato AAAA-MM-DD.

Fallos de seguridad

El conector lee el acceso de administración de las interfaces y la configuración global del FortiGate, e informa de los fallos siguientes. Las interfaces desactivadas se ignoran.

FalloCondición
FortiGate administration over a cleartext protocolUna interfaz acepta la administración por Telnet, salvo si Telnet está desactivado globalmente (admin-telnet), o por HTTP sin redirección a HTTPS (admin-https-redirect)
FortiGate administration open on a WAN interfaceUna interfaz con rol WAN acepta la administración por HTTPS, SSH, HTTP o Telnet
FortiGate administration with weak TLSLa administración HTTPS acepta una versión anterior a TLS 1.2 (admin-https-ssl-versions), o la criptografía fuerte está desactivada (strong-crypto)

Los dos primeros fallos se notifican por interfaz, el tercero por parámetro afectado: así se puede ignorar uno sin ocultar los demás.

Si el perfil de la clave de API no permite leer la configuración global, el fallo de TLS no se evalúa, Telnet se notifica aunque esté desactivado globalmente, y HTTP no se notifica.

Resolución de problemas

Solo la lectura del estado del FortiGate es indispensable para el escaneo. Cuando el perfil de la clave de API deniega otra lectura, el escaneo continúa sin la información correspondiente, y la salida del script lo indica con una línea de comentario, por ejemplo # /api/v2/monitor/license/status: HTTP 403.

Un error transitorio (tiempo de espera agotado, error 5xx) en la lectura de las direcciones o de la configuración hace fallar el escaneo: el activo conserva entonces las direcciones y los fallos del escaneo anterior.

ErrorCausa probable
HTTP 401Clave de API no válida, o dirección del escáner ausente de los hosts de confianza del administrador REST API
HTTP 403Perfil del administrador REST API sin acceso de lectura
Error de certificadoCertificado autofirmado: marcar Desactivar la verificación de certificado en la credencial
HTTP <code>: not a FortiOS API responseEl puerto de la conexión no es el de la interfaz de administración HTTPS, por ejemplo el del portal VPN SSL
<nombre>: …A través de un FortiManager: el FortiManager no ha podido retransmitir la solicitud al FortiGate <nombre>