Cómo resolver el problema de obtener el Client-IP desde X-Forwarded-For y aplicarlo a la política del firewall de Fortinet

Este artículo aborda un problema común en entornos de red donde se utiliza un Application Gateway (AGW) detrás de un dispositivo FortiGate. Cuando el AGW traduce las direcciones IP de origen al IP externo del AGW, FortiGate no puede identificar la IP real del cliente. Esto es esencial ya que afecta la capacidad de aplicar políticas de seguridad efectivas. Este artículo te ayudará a configurar FortiGate para aprender la IP del cliente a través del encabezado X-Forwarded-For y cómo aplicarla a las políticas de proxy.

Descripción del problema

Cuando el Application Gateway (AGW) está detrás de FortiGate y envía tráfico, todas las IPs de origen son traducidas por la IP externa del AGW. Esto hace que sea imposible para FortiGate identificar la IP real del usuario. Para resolver este problema, el AGW incluye un encabezado X-Forwarded-For que contiene la IP del cliente, enviando así el tráfico a FortiGate.

Alcance

Este artículo es aplicable a dispositivos FortiGate que están configurados para trabajar con un Application Gateway (AGW).

Diagnóstico paso a paso

  1. Diagrama.
    1. Todo el tráfico que proviene del AGW es traducido por 20.249.24.75.
    2. El AGW añade un encabezado XFF que incluye la IP del cliente y envía tráfico a los dos FortiGates, que son UTM1 y UTM2.
    3. FortiGates aprende la IP del cliente del encabezado XFF y toma decisiones en base a la IP del cliente aprendida.
    4. Si la IP del cliente está permitida, FortiGates realiza SNAT con la IP de P2 y reenvía el tráfico a INT NNB, que es 10.0.0.71.
    5. INT NLB realiza balanceo de carga hacia WEB 1 y WEB 2.
Artículos relacionados  Cómo solucionar la eliminación automática de selectores de fase 2 de IPsec al cambiar a modo de transporte en Fortinet

Diagrama.jpg

  1. Configurar el proxy web para aprender la IP del cliente desde el XFF.

    2.web-proxy_config.jpg

  2. Configurar la política de firewall que redirige todo el tráfico HTTP a la política de proxy.

    3.Firewall_Policy.jpg

  3. Las políticas de proxy se basan en la IP del cliente aprendida y toman una decisión.

    1. ‘policy_id 3’ permite que todas las direcciones srcaddr predefinidas sean reenviadas a ‘INT NLB’.
    2. ‘policy_id 1’ niega que todas las direcciones srcaddr predefinidas sean reenviadas a ‘INT NLB’.
    3. ‘policy_id 2’ permite que todas las srcaddr excepto las predefinidas sean reenviadas a ‘INT NLB’.
    4. El perfil de filtro web ‘X-Forwarded-For’ permite todo.
    5. El perfil de filtro web ‘X-Forwarded-Deny’ niega todo.

4.Proxy_Policy.jpg

  1. Verificar los registros para comprobar si FortiGates aprende la IP del cliente y toma una decisión.

    5.Web-Filter_log.jpg

Solución recomendada

Para que FortiGate pueda aprender la IP del cliente y aplicarla a la política del firewall, se requieren configuraciones adicionales. Asegúrate de que el AGW esté configurado para enviar el encabezado X-Forwarded-For correctamente, y que las políticas de firewall y de proxy estén establecidas según las indicaciones anteriores.

Comandos CLI utilizados

Los comandos específicos utilizados durante la configuración variarán según la situación y la estructura de tu red. Se recomienda revisar la documentación de FortiGate para obtener los comandos más relevantes y sus descripciones.

Buenas prácticas y recomendaciones

Es recomendable realizar pruebas exhaustivas después de implementar estos cambios para asegurarte de que las políticas de firewall funcionan como se espera. Mantén tu FortiGate actualizado y revisa regularmente los registros para monitorear actividades sospechosas.

Notas adicionales

Considera las implicaciones de seguridad de exponer la IP real de los usuarios. Asegúrate de que tu política de seguridad aborde estos aspectos y que la configuración de NAT esté alineada con las mejores prácticas de seguridad.

Artículos relacionados  Cómo solucionar problemas de caídas de llamadas SIP y calidad de llamadas en Fortinet

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *