Políticas de firewall y NAT en FortiGate: cómo funcionan y cómo configurarlas
La política de firewall es el corazón de un FortiGate: decide qué tráfico pasa, desde dónde, hacia dónde y con qué dirección sale. Si entiendes cómo se evalúan las políticas y cómo se combinan con el NAT, tienes resuelto la mitad del trabajo diario con un FortiGate. Aquí va lo esencial, con ejemplos en la CLI de FortiOS.
Ruta y política: las dos condiciones
Para que un paquete atraviese el FortiGate se necesitan dos cosas: una ruta que diga por qué interfaz sale y una política que permita el tráfico entre la interfaz de entrada y la de salida. Sin política, no hay tráfico, aunque las rutas estén perfectas. Si todavía no configuras el equipo, empieza por la configuración inicial de FortiGate.
Los campos de una política
- → Interfaz de entrada y de salida (srcintf / dstintf).
- → Origen y destino: objetos de dirección, grupos, usuarios o VIP.
- → Servicio: protocolos y puertos (HTTP, HTTPS, DNS, ALL…).
- → Horario: normalmente «always».
- → Acción: aceptar o denegar.
- → NAT, perfiles de seguridad (antivirus, filtro web, IPS, control de aplicaciones) y registro.
Las políticas se evalúan de arriba hacia abajo y gana la primera que coincide. Lo que no coincide con ninguna cae en la denegación implícita del final.
NAT de origen: salir a internet
El caso típico: la LAN sale a internet con la IP pública de la WAN. Basta con activar NAT en la política.
config firewall policy
edit 1
set name "LAN-a-Internet"
set srcintf "port2"
set dstintf "port1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "HTTP" "HTTPS" "DNS"
set nat enable
set logtraffic all
next
endSi quieres salir con otra IP pública, crea un IP pool y úsalo en la política:
config firewall ippool
edit "SALIDA-2"
set startip 203.0.113.20
set endip 203.0.113.20
next
end
config firewall policy
edit 1
set ippool enable
set poolname "SALIDA-2"
next
endNAT de destino: publicar un servidor con una VIP
Para que desde internet se llegue a un servidor web interno (192.168.10.20) por la IP pública 203.0.113.10 y el puerto 443, se crea una VIP y se usa como destino en una política de la WAN a la LAN:
config firewall vip
edit "WEB-INTERNO"
set extintf "port1"
set extip 203.0.113.10
set mappedip "192.168.10.20"
set portforward enable
set extport 443
set mappedport 443
next
end
config firewall policy
edit 2
set name "Internet-a-Web"
set srcintf "port1"
set dstintf "port2"
set srcaddr "all"
set dstaddr "WEB-INTERNO"
set action accept
set schedule "always"
set service "HTTPS"
next
endEsta política no lleva set nat enable: la traducción de destino la hace la VIP.
Cuando el tráfico no pasa: debug flow
El comando que más tiempo ahorra es el seguimiento del flujo. Muestra la ruta que encontró el FortiGate y qué política aplicó, o el motivo exacto del descarte.
diagnose debug flow filter addr 192.168.10.20
diagnose debug flow show function-name enable
diagnose debug enable
diagnose debug flow trace start 10
# ...genera el tráfico y lee la salida...
diagnose debug disableSi ves «Denied by forward policy check», ninguna política coincide: revisa interfaces, objetos y servicio. Los fallos más comunes son una política amplia arriba que tapa a la tuya, interfaces invertidas, o una VIP sin su política correspondiente.