Control de Aplicaciones en FortiGate

El Control de Aplicaciones en FortiGate es una función de seguridad que permite a los administradores identificar, monitorear y controlar el uso de aplicaciones en la red.

Esto es útil para restringir aplicaciones no deseadas, aplicar políticas de uso aceptable y mejorar la seguridad bloqueando aplicaciones maliciosas o de alto riesgo.
Esta característica es parte del FortiGuard Application Control Service y ayuda a:

  • Identificar miles de aplicaciones y sus categorías
  • Controlar el acceso a aplicaciones no deseadas o peligrosas
  • Limitar el ancho de banda para ciertas aplicaciones
  • Registrar el tráfico de aplicaciones para análisis y reporting

Puntos clave a incluir en el análisis técnico

1. Basado en el Motor de IPS (Inspection Engine) ✅

El Control de Aplicaciones utiliza el mismo motor de inspección profunda que el IPS (Intrusion Prevention System) de FortiGate, ya que:

  • Depende de firmas (signatures): Identifica aplicaciones mediante patrones de tráfico, protocolos, puertos (no solo por puerto, sino por comportamiento).
  • Integrado con FortiGuard Labs: Las actualizaciones de firmas de aplicaciones provienen del servicio FortiGuard (similar a las firmas de IPS).
  • Inspección a nivel de aplicación (Layer 7): Analiza el tráfico en capas superiores (HTTP, SSL, DNS, etc.), no solo IPs/puertos.

2. Opera en Modo Flow-Based (No Proxy-Based) ✅

FortiGate implementa Application Control principalmente en flujo (flow-based), no en modo proxy. Esto significa:

  • Menor latencia: No reconstruye sesiones completas como un proxy, sino que inspecciona flujos en tiempo real.
  • Escalabilidad: Es más eficiente para alto rendimiento, pero con algunas limitaciones en detección compleja (ej. aplicaciones que usan cifrado evasivo).
  • Limitaciones en SSL: Si el tráfico está cifrado (HTTPS), requiere SSL Inspection (DPI-SSL) para identificar aplicaciones dentro de SSL.

Implicaciones clave:

  • Para máxima eficacia, se debe combinar con SSL Inspection (si no, muchas aplicaciones modernas no serán detectadas).
  • No es tan preciso como un proxy dedicado (ej. para aplicaciones que usan técnicas de evasión).

3. Acciones de Application Control en FortiGate  ✅

  • Monitor (Log Only)
    • Descripción: Permite el tráfico pero lo registra en logs.
    • Uso típico: Para fase de pruebas o análisis de impacto antes de bloquear.
    • Detalle clave:
      • Registra en Log & Report > Application Control.
      • No consume ancho de banda adicional (solo metadata).
  • Allow (Pass)
    • Descripción: Permite el tráfico sin registrarlo.
    • Uso típico: Para aplicaciones críticas de negocio (ej. Office 365).
    • ¡Precaución!:
      • En algunas versiones de FortiOS, el tráfico permitido puede aparecer en logs generales (depende de la configuración de la política de firewall).
      • No confundir con «exempt» (exención completa sin inspección).
  • Block
    • Descripción: Bloquea el tráfico y lo registra.
    • Comportamiento real:
      • FortiGate envía un TCP RST o ICMP unreachable al cliente.
      • Genera una entrada de log con razón de bloqueo (ej. application:blocked).
    • Diferencia clave vs Quarantine:
      • El bloqueo es instantáneo y no persistente (la próxima conexión se evaluará de nuevo).
  • Quarantine
    • Descripción:
      • Bloquea la IP/MAC del cliente temporalmente (no solo la aplicación).
      • Aislamiento activo: El host no podrá acceder a ningún recurso hasta que expire el tiempo o un admin lo libere.
    • Detalles críticos:
      • Requiere FortiGate en modo NAT (no funciona en modo transparente).
      • Tiempo predeterminado: 5 minutos (configurable en config user quarantine).
      • Registros: Genera logs en Security Events > Quarantine.

4. Estructura Jerárquica de las Firmas de Application Control ✅

las firmas de Control de Aplicaciones (Application Control) en FortiGate siguen una estructura jerárquica, lo que permite un manejo granular y eficiente de las aplicaciones. Esta jerarquía influye en cómo se detectan, categorizan y aplican las reglas.

4.1. Categorías (Nivel más alto)

  • EjemplosRedes SocialesStreamingTransferencia de ArchivosJuegosVPN/ProxyMalware.
  • Función: Agrupan aplicaciones por tipo de uso o riesgo.
  • Impacto en políticas:
    • Bloquear una categoría (ej. Juegos) afecta a todas las aplicaciones dentro de ella.
    • Las categorías tienen prioridad más baja que aplicaciones individuales (si hay conflicto, gana la regla más específica).

4.2. Aplicaciones Individuales (Nivel medio-alto)

  • EjemplosFacebookNetflixBitTorrentZoomWhatsApp.
  • Función: Permite controlar aplicaciones específicas dentro de una categoría.
  • Jerarquía:
    • Si una aplicación está en múltiples categorías, FortiGate usa la primera coincidencia en el orden de escaneo.
    • Puedes anular el comportamiento predeterminado de la categoría con una regla específica (ej. bloquear Facebook pero permitir otras Redes Sociales).

4.3. Sub-Aplicaciones (Nivel medio-bajo)

  • Ejemplos:
    • Facebook Chat (dentro de Facebook).
    • YouTube Streaming (dentro de YouTube).
  • Función: Algunas aplicaciones tienen componentes separados que pueden controlarse individualmente.
  • Impacto:
    • Permite políticas granulares (ej. permitir Facebook pero bloquear Facebook Video).

4.4. Filtrado por Tecnología/Protocolo (Nivel más bajo)

  • Ejemplos:
    • HTTP User-AgentTLS SNIDNS queries.
  • Función:
    • Algunas aplicaciones se detectan por patrones técnicos (ej. el User-Agent de un navegador o el SNI en HTTPS).
    • Útil para aplicaciones que evaden detección (ej. VPNs que usan puertos no estándar).

Cuando se activa Application Control, FortiGate evalúa el tráfico en este orden:

  1. Aplicaciones individuales (si hay una regla explícita, se aplica primero).
  2. Sub-aplicaciones (si no coincide con una app individual, pero sí con una sub-app).
  3. Categorías (si no hay reglas específicas, se aplica la acción de la categoría).
  4. Tecnología/Protocolo (último recurso para tráfico no identificado).

Configuración del Control de Aplicaciones en FortiGate

1. Pasos para habilitar Application Control en una política de firewall

  1. Acceder a la interfaz de administración de FortiGate.
  2. Ir a Security Profiles > Application Control (Remarcado en Azul en el gráfico de abajo).
  3. Crear o editar un perfil de Control de Aplicaciones.
  4. Si se crea un nuevo perfile, Incluimos un nombre y una descripción si es necesario, luego Seleccionar categorías de aplicaciones a monitorear, bloquear o permitir (ejemplo: redes sociales, juegos, P2P, VPN, etc.) tal como se muestra remarcado en naranja en el gráfico de abajo.
  5. Configurar acciones para cada aplicación o categoría (Tal como aparece remarcado en el gráfico de abajo):
    • Allow (Permitir)
    • Monitor (Monitorear y registrar)
    • Block (Bloquear tráfico de la aplicación)
  6. Aplicar el perfil de Control de Aplicaciones a una política de firewall (Policy & Objects > Firewall Policy).
  7. Guardar los cambios y verificar los registros en Log & Report > Application Control.

2. Configuración Avanzada en Perfiles de Application Control en FortiGate

Al crear o modificar un perfil de Application Control en FortiGate, hay tres secciones clave que permiten ajustes avanzados (Remarcado en rojo en el gráfico de arriba):

  1. Network Protocol Enforcement
  2. Application and Filter Overrides
  3. Options
  4. Opciones Globales del Perfil

A continuación, se detalla cada una con ejemplos y casos de uso:

2.1. Network Protocol Enforcement

Network Protocol Enforcement (NPE) es una funcionalidad dentro del Control de Aplicaciones de FortiGate que verifica si una aplicación está usando el protocolo correcto en el puerto adecuado. Esto permite detectar y bloquear tráfico sospechoso o malicioso que intenta evadir controles de seguridad al usar puertos no estándar.

2.1.1 ¿Cómo funciona Network Protocol Enforcement?

Algunas aplicaciones intentan burlar los controles de firewall usando protocolos en puertos incorrectos. NPE detecta y bloquea estos intentos asegurando que las aplicaciones usen solo los puertos apropiados.

🔍 Ejemplo de evasión sin NPE:

  • Un usuario configura BitTorrent para usar el puerto 80 (que normalmente es para tráfico HTTP) para evitar restricciones.
  • Sin NPE, el firewall podría tratarlo como tráfico web legítimo y permitirlo.

🔒 Ejemplo de detección con NPE activado:

  • FortiGate analiza el tráfico en profundidad y detecta que BitTorrent no está usando HTTP, sino su propio protocolo.
  • La conexión se bloquea, ya que el tráfico no coincide con el protocolo esperado.
2.1.2. Beneficios de Network Protocol Enforcement

Previene evasión de firewall: Bloquea aplicaciones que intentan usar puertos incorrectos.
Mejora la seguridad: Reduce la posibilidad de ataques que usan protocolos no estándar.
Optimiza la gestión de red: Permite aplicar políticas más estrictas sin depender solo de los números de puerto.
Compatibilidad con SSL Inspection: Permite inspeccionar tráfico cifrado para detectar aplicaciones encubiertas.

2.2. Application and Filter Overrides

Los Application Overrides y Filter Overrides en Application Control de FortiGate permiten personalizar el comportamiento de las reglas de control de aplicaciones, asegurando mayor flexibilidad en la gestión del tráfico de red.

2.2.1 Application Overrides

El Application Override permite cambiar la acción predeterminada de una aplicación específica, sin afectar la configuración general de la categoría o subcategoría a la que pertenece.

🔍 Ejemplo de uso:

  • La categoría Redes Sociales está configurada en Monitor.
  • Sin embargo, quieres bloquear solo TikTok, pero permitir Facebook e Instagram.
  • Usando Application Override, puedes bloquear TikTok sin modificar toda la categoría.
2.2.2 Filter Overrides

El Filter Override permite modificar la acción de toda una categoría o subcategoría dentro de Application Control.

🔍 Ejemplo de uso:

  • La categoría «Streaming Media» está configurada como Monitor.
  • Sin embargo, deseas bloquear completamente todo el contenido de streaming (Netflix, YouTube, Spotify, etc.).
  • Con Filter Override, puedes aplicar un Block a toda la categoría sin modificar cada aplicación individualmente.
Notas:

Los overrides tienen prioridad sobre las reglas generales.

  • Se pueden combinar filtros (srcaddrusersservice).

2.3. Options

En FortiGate, la sección Options dentro de Application Control permite activar configuraciones avanzadas que mejoran la precisión en la detección de aplicaciones y la gestión del tráfico. A continuación, se detallan tres opciones clave y su impacto en la seguridad y el rendimiento de la red.

2.3.1. Block Applications Detected on Non-Default Ports 🚫🔍

🔹 ¿Qué hace?

  • Bloquea aplicaciones que no están usando sus puertos estándar.
  • Previene intentos de evasión donde aplicaciones intentan operar en puertos permitidos para eludir restricciones.

🔹 Ejemplo de uso:

  • Un usuario configura BitTorrent para usar el puerto 80 (normalmente HTTP) en lugar del puerto estándar P2P.
  • Con esta opción activada, FortiGate detecta y bloquea BitTorrent, incluso si usa un puerto permitido para otras aplicaciones.

🔹 Ventajas:
✔ Evita evasión de controles de firewall.
✔ Asegura que las aplicaciones usen sus protocolos correctos.
✔ Reduce el riesgo de tráfico malicioso disfrazado como tráfico legítimo.

🔹 Cuándo activarla:

  • En entornos donde se quiere un control estricto del tráfico y evitar bypass de restricciones.
  • Cuando se bloquean categorías de aplicaciones, pero no se quiere que se escapen usando puertos abiertos.
2.3.2. Allow and Log DNS Traffic 📡📋

🔹 ¿Qué hace?

  • Permite y registra el tráfico DNS, incluso si no está explícitamente permitido en Application Control.
  • Útil para monitorear consultas DNS sospechosas y detectar intentos de evasión o malware.

🔹 Ejemplo de uso:

  • Un malware intenta comunicarse con un servidor de comando y control (C2) usando peticiones DNS en lugar de conexiones directas.
  • Con esta opción activada, se puede registrar esas solicitudes y detectar actividad maliciosa.

🔹 Ventajas:
✔ Permite auditoría del tráfico DNS sin necesidad de crear reglas adicionales.
✔ Ayuda a detectar malware que usa DNS Tunneling para evadir detección.
✔ Facilita la integración con soluciones de Threat Intelligence y análisis forense.

🔹 Cuándo activarla:

  • En redes empresariales que requieren monitoreo proactivo de amenazas.
  • Si se utilizan soluciones como FortiAnalyzer para registrar tráfico DNS y analizar patrones sospechosos.
2.3.3. Replacement Messages for HTTP-based Applications ⚠📄

🔹 ¿Qué hace?

  • Muestra un mensaje de bloqueo personalizado cuando una aplicación basada en HTTP es bloqueada.
  • En lugar de simplemente cerrar la conexión, informa al usuario el motivo del bloqueo.

🔹 Ejemplo de uso:

  • Un usuario intenta acceder a TikTok, pero está bloqueado por la política de seguridad.
  • En lugar de que la página no cargue, FortiGate muestra un mensaje informativo indicando que el acceso está restringido.

🔹 Ventajas:
✔ Mejora la experiencia del usuario al proporcionar información clara.
✔ Reduce consultas al equipo de TI sobre «fallas de conexión».
✔ Permite incluir políticas de uso aceptable o instrucciones para solicitar excepciones.

🔹 Cuándo activarla:

  • En entornos empresariales donde se desea transparencia en las políticas de restricción.
  • Para evitar confusión en los usuarios cuando se bloquea una aplicación.
Conclusión

Las opciones en Application Control permiten reforzar la seguridad y mejorar la visibilidad del tráfico en la red.

🔹 Bloquear aplicaciones en puertos no estándar evita intentos de evasión.
🔹 Permitir y registrar tráfico DNS ayuda a detectar amenazas ocultas.
🔹 Mensajes de bloqueo personalizados mejoran la comunicación con los usuarios.

Activarlas correctamente permite una mejor gestión del tráfico de aplicaciones en FortiGate. 🚀🔒

2.4. Opciones Globales del Perfil

Ajustes que afectan el comportamiento general del Application Control.

Opciones más importantes
OpciónDescripción
Block Malicious URLsBloquea enlaces maliciosos incrustados en aplicaciones (ej. en WhatsApp o correos).
Block PageMuestra una página de advertencia al usuario cuando se bloquea una aplicación.
Log Allowed TrafficRegistra tráfico permitido (útil para auditoría).
Quarantine on DetectionAísla automáticamente hosts que usan aplicaciones maliciosas (ej. malware).
Ejemplo en CLI
Configuración Recomendada para Máxima Seguridad

2.5. Conclusión

  • Network Protocol Enforcement: Gestiona protocolos base (DNS, ICMP, HTTP).
  • Overrides: Excepciones granulares por IP, usuario o servicio.
  • Options: Comportamiento (Block application detected on non-default ports, allow and log dns traffic, replacement messages for http-based applications).
  • Opciones globales del perfil: Comportamiento global (logs, cuarentena, páginas de bloqueo).

Estos ajustes permiten personalizar el control de aplicaciones para equilibrar seguridad, usabilidad y rendimiento.


📌 Orden de evaluación en Application Control

Cuando FortiGate procesa el tráfico bajo un perfil de Application Control, sigue un orden jerárquico estricto para determinar qué acción aplicar. Este orden es clave para evitar conflictos y garantizar el comportamiento esperado.

1️⃣ Network Protocol Enforcement (NPE) 🔍

  • Primera verificación: FortiGate analiza si la aplicación está usando el protocolo correcto en el puerto correspondiente.
  • Si el tráfico no coincide con el protocolo esperado, se bloquea inmediatamente sin evaluar otras reglas.
  • Esto impide que las aplicaciones evadan restricciones usando puertos incorrectos.

Ejemplo:

  • Un usuario intenta usar BitTorrent en el puerto 443 (HTTPS) para eludir restricciones.
  • NPE detecta que el tráfico no es HTTPS real y lo bloquea antes de cualquier otra evaluación.

2️⃣ Application and Filter Overrides ⚙

  • Una vez superado el filtro de NPE, FortiGate evalúa Overrides.
  • Application Overrides tienen prioridad sobre Filter Overrides.
  • Si una aplicación específica tiene una acción definida en Overrides, se aplica inmediatamente, sin seguir verificaciones adicionales.

Ejemplo:

  • La categoría «Redes Sociales» está en Monitor, pero TikTok tiene un Application Override en Block.
  • TikTok se bloquea antes de evaluar la categoría general.

3️⃣ Categorías de Aplicaciones 📚

  • Si no hay un Override, FortiGate evalúa la acción definida para la categoría de la aplicación.
  • La acción puede ser Allow, Monitor, Block o Shape (control de ancho de banda).
  • Si la categoría está en Block, la aplicación se bloquea de inmediato.

Ejemplo:

  • Si la categoría «Streaming Media» está en Block, se bloquean Netflix, YouTube y Spotify, a menos que alguna tenga un Override diferente.

4️⃣ Opciones Avanzadas (Options) ⚡

  • Las opciones avanzadas afectan cómo FortiGate maneja las aplicaciones detectadas.
  • Se aplican después de que la aplicación ha pasado por las verificaciones anteriores.

📌 Ejemplo de cómo influyen las opciones:
Block Applications Detected on Non-Default Ports: Si una aplicación es permitida por las reglas anteriores pero está en un puerto incorrecto, se bloquea.
Allow and Log DNS Traffic: Si el tráfico DNS fue bloqueado en etapas previas, esta opción puede permitirlo y registrar la actividad.
Replacement Messages for HTTP-based Applications: Si una aplicación HTTP es bloqueada, se muestra un mensaje de advertencia en lugar de solo cortar la conexión.

Ejemplo:

  • TikTok está bloqueado por un Override, pero sin esta opción activada, el usuario solo vería un error genérico.
  • Con Replacement Messages activado, el usuario recibe un aviso explicando el bloqueo.

📌 Resumen: Orden de Evaluación en Application Control

OrdenEtapa de EvaluaciónAcción
1️⃣Network Protocol Enforcement (NPE)Bloquea tráfico con protocolos incorrectos.
2️⃣Application and Filter OverridesAplican reglas personalizadas sobre apps específicas o categorías.
3️⃣Categorías de AplicacionesSe aplican reglas según la categoría asignada a la aplicación.
4️⃣Opciones Avanzadas (Options)Ajustes adicionales como bloqueo en puertos no estándar, registro de DNS o mensajes de bloqueo.

🎯 Conclusión

FortiGate sigue un orden estricto en la aplicación de reglas de Application Control. La prioridad es:

1️⃣ Network Protocol Enforcement (bloquea tráfico sospechoso desde el inicio).
2️⃣ Application & Filter Overrides (excepciones y reglas personalizadas).
3️⃣ Categorías de Aplicaciones (control general por tipo de aplicación).
4️⃣ Opciones Avanzadas (ajustes finales como bloqueo por puerto o mensajes de advertencia).

Deja una respuesta