Un cortafuegos de aplicaciones es un tipo de cortafuegos que dirige el tráfico hacia, desde o a través de una aplicación o servicio.
Los cortafuegos de aplicaciones o cortafuegos de la capa de aplicaciones aplican una serie de políticas diseñadas para decidir si se deben bloquear o permitir las comunicaciones hacia o desde una aplicación.
Los cortafuegos tradicionales controlan el flujo de datos hacia y desde la CPU, examinando cada paquete a su paso. Un cortafuegos de aplicaciones va más allá y controla la ejecución de archivos o código por parte de aplicaciones concretas. De este modo, aunque un intruso acceda a una red o un servidor, no puede ejecutar código malicioso.
Los cortafuegos de aplicaciones pueden ser activos o pasivos.
Activo: los firewalls de aplicaciones activos inspeccionan activamente todas las solicitudes entrantes (incluido el mensaje real que se intercambia) para detectar vulnerabilidades conocidas como inyecciones de SQL , manipulación de parámetros y cookies y secuencias de comandos entre sitios . Sólo las solicitudes consideradas “limpias” se pasan a la aplicação.
Pasivos: los cortafuegos de aplicaciones pasivos actúan de forma similar a un sistema de detección de intrusos (IDS) en el sentido de que también inspeccionan todas las peticiones que llegan para descubrir vulnerabilidades conocidas, pero no rechazan o deniegan activamente esas peticiones si descubren un posible ataque.
Normalmente, los cortafuegos de aplicaciones se pueden actualizar de forma remota, lo que les permite prevenir vulnerabilidades recién descubiertas. Suelen estar más actualizados que el código de seguridad específico incluido en las aplicaciones, debido a que los ciclos de desarrollo y prueba requeridos para incluir dicho código en las aplicaciones son más largos.
Hoy en día, lo más común es ver firewalls de aplicação web (WAF) para filtrar, monitorear y bloquear el tráfico HTTP/S hacia y desde una aplicação web, específicamente.