En este artículo, abordaremos un problema importante relacionado con el funcionamiento de FortiGate en modo de firewall NGFW basado en políticas. En particular, discutiremos cómo los cambios en el enrutamiento, especialmente en el contexto de SD-WAN, pueden afectar las políticas de seguridad y el resultado de las sesiones de tráfico. Este artículo ofrecerá soluciones y recomendaciones para garantizar que su configuración funcione correctamente.
Índice
Descripción del problema
Cuando FortiGate opera en modo NGFW basado en políticas, la evaluación del tráfico se realiza mediante dos tipos de políticas: Política de Seguridad y Política de Firewall (Inspección SSL y Autenticación). Sin embargo, al cambiar la ruta, por ejemplo, cuando cambia la zona de SD-WAN, la política de seguridad existente puede no ser reevaluada como debería, lo que induciría a problemas de conectividad y seguridad.
Alcance
Este artículo se centra en el funcionamiento de FortiGate en modo NGFW basado en políticas.
Diagnóstico paso a paso
A continuación, se presenta un ejemplo práctico para ilustrar el problema:
- Configuración Inicial:
- SD-WAN:
config system sdwan
set status enable
config zone
edit «virtual-wan-link»
next
edit «DC_SPOKE4G»
next
endconfig members
edit 1
set interface «wan2»
set gateway 10.10.10.1
set cost 10
next
edit 2
set interface «ISP_II»
set zone «DC_SPOKE4G»
set gateway 10.10.20.1
set cost 30
next
endconfig service
edit 1
set name «Internet»
set dst «all»
set src «all»
set priority-members 2 1
set priority-zone «DC_SPOKE4G» «virtual-wan-link»
next
end- Tabla de Enrutamiento:
config router static
edit 1
set distance 1
set sdwan-zone «virtual-wan-link»
next
edit 2
set distance 1
set sdwan-zone «DC_SPOKE4G»
next
end- Política de Seguridad y Política de Firewall:
config firewall security-policy (Solo se permite el tráfico a través de la zona SD-WAN ‘virtual-wan-link’)
edit 1
set uuid 40e29f62-483d-51ef-8ee9-27e70e8203db
set name «Windows_Internet»
set srcintf «Windows»
set dstintf «virtual-wan-link»
set srcaddr «all»
set dstaddr «all»
set action accept
set schedule «always»
next
endconfig firewall policy
edit 1
set name «Default»
set uuid 7a399780-483c-51ef-f506-59ebffb2c82e
set srcintf «any»
set dstintf «any»
set srcaddr «all»
set dstaddr «all»
set srcaddr6 «all»
set dstaddr6 «all»
set service «ALL»
set ssl-ssh-profile «certificate-inspection»
next
end - Inicialmente, el tráfico fluye a través de la zona SD-WAN ‘virtual-wan-link’, coincidiendo con la ID de Política de Seguridad 1 y la ID de Política de Firewall 1.
- Servicio SD-WAN:
- Tabla de Sesiones:
- Cuando cambian las rutas, se prefiere una nueva zona de SD-WAN. Dado que ninguna regla de Política de Seguridad permite el tráfico a través de la «zona secundaria» de SD-WAN, la tabla de sesiones debería ser reevaluada y el tráfico denegado por la política de denegación implícita. Sin embargo, debido a la limitación actual explicada anteriormente, esto no sucede:
- Nuevo servicio SD-WAN utilizado:
- La Política de Seguridad se mantiene igual y el tráfico es permitido:
FortiGate-61F # diagnose sys sdwan service
Service(1): Address Mode(IPV4) flags=0x200 use-shortcut-sla
Tie break: cfg
Gen(1), TOS(0x0/0x0), Protocol(0: 1->65535), Mode(manual)
Members(2):
1: Seq_num(1 wan2), alive, selected
2: Seq_num(2 ISP_II), alive, selected
Src address(1):
0.0.0.0-255.255.255.255
Dst address(1):
0.0.0.0-255.255.255.255
session info: proto=6 proto_state=11 duration=6079 expire=1120 timeout=3600 flags=00000000 socktype=0 sockport=0 a
v_idx=0 use=3
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/0
state=dirty may_dirty ndr npu app_valid
statistic(bytes/packets/allow_err): org=3440/7/1 reply=214/4/1 tuples=2
tx speed(Bps/kbps): 0/0 rx speed(Bps/kbps): 0/0
orgin->sink: org pre->post, reply pre->post dev=28->27/27->28 gwy=0.0.0.0/0.0.0.0
hook=pre dir=org act=noop 10.10.100.2:55503->10.10.50.2:22(0.0.0.0:0)
hook=post dir=reply act=noop 10.10.50.2:22->10.10.100.2:55503(0.0.0.0:0)
pos/(before,after) 0/(0,0), 0/(0,0)
src_mac=00:64:65:6c:28:01
misc=0 policy_id=1 pol_uuid_idx=558 auth_info=0 chk_client_info=0 vd=0
serial=00311178 tos=ff/ff app_list=0 app=16060 url_cat=0
sdwan_mbr_seq=2 sdwan_service_id=1
rpdb_link_id=ff000001 ngfwid=1
npu_state=0x003c94 ips_offload ofld-O ofld-R
npu info: flag=0x00/0x00, offload=0/0, ips_offload=0/0, epid=0/0, ipid=0/0, vlan=0x0000/0x0000
vlifid=0/0, vtag_in=0x0000/0x0000 in_npu=0/0, out_npu=0/0, fwd_en=0/0, qid=0/0
no_ofld_reason:
total session 1
FortiGate-61F # diagnose sys sdwan service
Service(1): Address Mode(IPV4) flags=0x200 use-shortcut-sla
Tie break: cfg
Gen(1), TOS(0x0/0x0), Protocol(0: 1->65535), Mode(manual)
Members(2):
1: Seq_num(2 ISP_II), alive, selected
2: Seq_num(1 wan2), alive, selected
Src address(1):
0.0.0.0-255.255.255.255
Dst address(1):
0.0.0.0-255.255.255.255
session info: proto=6 proto_state=11 duration=61 expire=3538 timeout=3600 flags=00000000 socktype=0 sockport=0 av_
idx=0 use=3
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/0
state=dirty may_dirty ndr npu app_valid
statistic(bytes/packets/allow_err): org=92/2/1 reply=52/1/1 tuples=2
tx speed(Bps/kbps): 0/0 rx speed(Bps/kbps): 0/0
orgin->sink: org pre->post, reply pre->post dev=28->6/6->28 gwy=0.0.0.0/0.0.0.0
hook=pre dir=org act=noop 10.10.100.2:55557->10.10.50.2:22(0.0.0.0:0)
hook=post dir=reply act=noop 10.10.50.2:22->10.10.100.2:55557(0.0.0.0:0)
pos/(before,after) 0/(0,0), 0/(0,0)
src_mac=00:64:65:6c:28:01
misc=0 policy_id=1 pol_uuid_idx=558 auth_info=0 chk_client_info=0 vd=0
serial=00315196 tos=ff/ff app_list=0 app=16060 url_cat=0
sdwan_mbr_seq=1 sdwan_service_id=1
rpdb_link_id=ff000001 ngfwid=1
npu_state=0x003c94 ips_offload ofld-O ofld-R
npu info: flag=0x00/0x00, offload=0/0, ips_offload=0/0, epid=0/0, ipid=0/0, vlan=0x0000/0x0000
vlifid=0/0, vtag_in=0x0000/0x0000 in_npu=0/0, out_npu=0/0, fwd_en=0/0, qid=0/0
no_ofld_reason:
total session 1
Todo nuevo tráfico, que no pertenecía a la sesión existente, será denegado.
Solución recomendada
Una posible solución a este problema es limpiar las entradas de la tabla de sesiones existentes para el tráfico específico, lo que llevará a que FortiGate niegue cualquier paquete subsiguiente.
Consejo Técnico: Utilice filtros para limpiar sesiones en un FortiGate.
Buenas prácticas y recomendaciones
Si el escenario o diseño descrito anteriormente existe, se recomienda utilizar FortiGate en modo NGFW basado en perfiles (modo predeterminado) y evitar el uso del modo NGFW basado en políticas.
Notas adicionales
Se debe tener en cuenta que los cambios en el enrutamiento que involucran SD-WAN no disparan actualmente la reevaluación de las Políticas de Seguridad, lo que puede provocar irregularidades en el flujo del tráfico.
¿Te ha resultado útil??
0 / 0

Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!