Configuración avanzada de política de firewall en FortiGate para control de usuarios y NAT

La configuración mostrada corresponde a una política de firewall en un dispositivo FortiGate, un componente clave para controlar el tráfico de red. Esta política define cómo se gestionan las conexiones entre interfaces y usuarios específicos, permitiendo controlar el acceso y aplicar NAT (traducción de direcciones de red). Su implementación resuelve problemas comunes de segmentación de red y seguridad, garantizando que solo los usuarios y servicios autorizados accedan a los recursos internos o externos.

Campos principales

Analizando cada campo de esta política:

  • ID: Identificador único de la política dentro del dispositivo. Facilita la referencia y ordenamiento.
  • Name: Nombre asignado para identificar fácilmente la política. Puede ser descriptivo o numérico.
  • Incoming Interface: Interfaz de red por donde ingresa el tráfico que será inspeccionado. Aquí se usa port1, típicamente un puerto conectado a la red interna o externa.
  • Outgoing Interface: Interfaz por la que saldrá el tráfico permitido. En este caso port2, usado comúnmente para conectarse a otras redes o internet.
  • Source: Define los orígenes permitidos para esta política. Incluye varios objetos: desde all que representa toda la red hasta grupos de usuarios específicos (FSSO-CPPM, etc.). Permite controlar el acceso granular basado en identidad o IP.
  • Negate Source: Si se activa, la política se aplica a todo menos a los elementos definidos en Source. Aquí está desactivado.
  • Destination: Define los destinos a los que puede acceder la fuente. Está configurado como all, lo que permite cualquier destino.
  • Negate Destination: Similar a Negate Source, pero aplicado al destino. También está desactivado en esta política.
  • Schedule: Determina los tiempos en que la política está activa. always indica que está activa en todo momento.
  • Service: Establece qué servicios o protocolos están permitidos. Aquí está en ALL, permitiendo todos los protocolos y puertos.
  • Action: Define la acción para el tráfico que coincide con la política: ACCEPT permite el tráfico, DENY lo bloquea, e IPSec aplicaría VPN. En este caso se acepta el tráfico.
  • Inspection Mode: Modo de inspección del tráfico: Flow-based es más rápido y menos intensivo en recursos, mientras que Proxy-based ofrece mayor control y seguridad. Aquí se usa el modo basado en flujo.
  • NAT: Activado para traducir las direcciones IP de origen a la dirección de la interfaz de salida, facilitando la conexión a redes externas y ocultando IP internas.
  • IP Pool Configuration: Modifica la dirección IP usada para NAT. Usar la dirección de la interfaz de salida es común, aunque también se pueden usar IP pools dinámicos para flexibilidad.
  • Preserve Source Port: Mantiene el puerto de origen original en el NAT, útil en ciertos escenarios de conectividad, pero normalmente desactivado.
  • Protocol Options: Permite ajustes específicos en protocolos, aquí usando la configuración por defecto default.

Compatibilidad de versiones y modelos

Esta funcionalidad de políticas de firewall con opciones detalladas de usuarios, NAT y modos de inspección está disponible en FortiOS desde versiones intermedias como 7.4.x,7.6.x, mejorando sustancialmente en 7.4.x,7.6.x y manteniéndose en versiones recientes 7.0 y 7.2. Las capacidades pueden variar ligeramente, especialmente en interfaces gráficas y opciones adicionales introducidas en versiones mayores.

Se aplica a la mayoría de FortiGate de gama media y alta, incluyendo modelos destinados a sucursales y datacenters. Los dispositivos más pequeños y antiguos pueden carecer de algunas opciones avanzadas, como grupos de usuarios integrados o inspección basada en flujo con altas prestaciones. En modelos con hardware limitado, ciertas funciones como proxy-based inspection no están disponibles o impactan en el rendimiento.

Además, el nombre y ubicación de parámetros pueden cambiar en el tiempo; por ejemplo, grupos de usuarios y servicios se gestionan ahora con mejor integración GUI, mientras que en versiones antiguas requerían configuraciones CLI más manuales.

Escenarios de uso y recomendaciones

Este tipo de política es útil en redes empresariales donde se requiere controlar el acceso de usuarios específicos autenticados mediante integraciones como Fortinet Single Sign-On (FSSO) o grupos externos desde sistemas Aruba ClearPass, permitiendo una gestión granular de acceso basada en identidad, no solo IP.

Por ejemplo, puede aplicarse para permitir que ciertos roles o dispositivos accedan a Internet o sistemas internos, mientras que otros quedan restringidos. La activación de NAT hace posible que las conexiones salgan hacia Internet ocultando IP internas.

Si se configura incorrectamente, por ejemplo, permitiendo todos los servicios y usuarios sin restricciones, puede abrir brechas de seguridad accesibles a atacantes. Por ello, una recomendación estándar es limitar siempre el source y services a lo mínimo necesario y usar schedules para limitar tiempos en usos específicos.

El fabricante recomienda usar flow-based inspection para tráfico general por eficiencia, y reservar proxy-based para protocolos que requieran inspección profunda o seguridad adicional.

Comandos de CLI útiles para diagnóstico

  • show firewall policy 1: Muestra la configuración completa de la política con ID 1 para revisión detallada.
  • diagnose debug flow filter addr <IP_or_User>: Filtra y depura el tráfico relacionado con una IP o usuario específico para ver si la política aplica correctamente.
  • diagnose debug enable y diagnose debug flow trace start 100: Habilita depuración para trazar el procesamiento del tráfico y detectar bloqueos o permisiones.
  • get user group: Lista los grupos de usuarios configurados para corroborar inclusión en la política.
  • show firewall policy | grep NAT: Para revisar políticas con NAT activado, útil para diagnosticar problemas de traducción.

Buenas prácticas de configuración

  • Definir claramente la segmentación y los grupos de usuarios, limitando el source y services a lo estrictamente necesario.
  • Evitar el uso excesivo de all en source, destination o services para minimizar riesgos.
  • Usar schedules para limitar el tiempo de vigencia de la política en casos específicos, como acceso administrativo.
  • Preferir inspección flow-based para rendimiento, activando proxy-based solo cuando es indispensable.
  • Validar los grupos de usuarios y su integración con sistemas de autenticación externa antes de aplicarlos en políticas críticas.
  • Comprobar siempre el correcto funcionamiento con comandos CLI y logs antes de desplegar en producción.
  • Activar NAT solo cuando se requiera acceso a redes externas e identificar bien la IP pool para evitar conflictos.
  • Actualizar firmware periódicamente para contar con mejoras y parches relacionados a la gestión de políticas.