04 enero 2010

Más allá del IPS: WAF (Web Application Firewall)

Muchas han sido las veces en las que en este blog hablamos de lo importante que es la utilización de productos adecuados para cada tipo de amenaza o para cada tipo de elemento a proteger. En general, todo aquello expuesto a Internet se considera en un análisis de riesgos como un potencial alto riesgo. Es el punto de entrada, la puerta de acceso a nuestros sistemas internos y/o de alto valor de nuestra organización.

Si echamos la vista atrás, en los que el mayor mecanismo de seguridad que se utilizaba era el cortafuegos o el antivirus, y los que los implantaban eran innovadores, visionarios, estrategas de la seguridad que protegían sus responsabilidades de las manos y ojos externos. Actualmente, a ningún arquitecto de red se le pasaría por la cabeza no utilizar un cortafuegos para permitir determinado tipo de tráfico y bloquear el resto; lo mismo pasaría al instalar un PC y no pensar en ponerle un antivirus. Los tiempos han ido evolucionando y los sistemas de detección de intrusos o IDS han ido dando paso a sistemas inline IPS que previenen además de detectar ante determinado tipo de ataques como hacen únicamente los IDS (en SbD ya aclaramos las diferencias).

El siguiente paso en la protección, y dado que lo que toda organización posee es una puerta de entrada en modo de servidor web, es la de un mecanismo específico para la protección de las aplicaciones web. Hace poco se ha publicado que Akamai ofrece en su cartera de servicios el plus de seguridad de aplicaciones web para sus clientes mediante la utilización de WAF. En general, empresas punteras como Akamai, son los early adopters de este tipo de tecnología. Llegará un momento en el cual no se nos pasará por la cabeza publicar contenidos web a Internet sin la protección específica para los mismas.

Lo que es evidente es que la mejor de las soluciones en un mundo idílico es tener un código de aplicaciones perfecto, sobre servidores con sistemas operativos sin fallos, con un bastionado inmutable y con una configuración exquisita. Como eso no va a pasar en un porcentaje mayor al 1% de las organizaciones existentes, una posible solución para proteger nuestros assets, es añadir una capa previa de mecanismos que sí que evitan los problemas causados por las deficiciencias en la configuración y en la programación de los sistemas: Los IPS y los WAF.

Ambas herramientas, al contrario de lo que mucha gente piensa, no son mutuamente excluyentes, sino complementarias.

Fundamentalmente, el IPS es una herramienta de protección de propósito general (protege ante ataques de todo tipo de protocolos), generalmente basados en firmas, violaciones de protocolo, e incluso algunos hasta incorporan mecanismos de análisis estadístico para analizar fluctuaciones de tráfico y "costumbres" propias de cada organización para responder ante cambios.

El WAF sin embargo, de los que hemos hablado largo y tendido en SbD, únicamente está centrado en protección de tráfico web. Muchos de ellos trabajan comprobando firmas de ataques web conocidos también, pero su misión principal es entender el funcionamiento de ataques como Inyecciones SQL, XSS, manipulación de parámetros, cabeceras, cookies, XML, Javascript, etc,... analizando más allá de los simples paquetes, teniendo en cuenta el comportamiento del usuario y manteniendo las sesiones de los mismos.

Un IPS es capaz de proteger ante determinado tipo de ataques para aplicaciones web; sin embargo el WAF, al ser una herramienta especializada, permite un mayor control para web exclusivamente, llegando donde el IPS no llega, incluso para el tráfico HTTPS (en configuraciones especiales), para aplicaciones web "hechas en la casa" (para las que el IPS no tiene firmas específicas y lo pueda generar falsos positivos). En general los WAF suelen estar basados en proxies inversos para recibir las peticiones web completas, encargándose ellos de efectuar las peticiones a los servidores web finales. En el caso de los IPS, suelen analizar los paquetes enrrutando únicamente hacia donde corresponda aquellos que no sean considerados como ataques. En esta línea algunos IPS son susceptibles en cierto modo de ser evadidos mediante ataques de fragmentación, al no analizar sesiones completas, cosa que en el caso del WAF, si se puede hacer, es más complicado.

Si fuéramos médicos, diríamos que el IPS es al ibuprofeno en pastillas lo que el WAF es a una inyección anti-inflamatoria o una infiltración en el punto adecuado de dolor. Esto no implica que ambas soluciones sean incompatibles en una misma arquitectura, sino altamente recomendables para entornos en los que hay diversos servicios a proteger, y en los que la web tiene una alta cohesión con el resto de los sistemas suponiendo una bonita autopista hacia nuestros datos para curiosos y ladrones.

2 comments :

Juanco Jones dijo...

¿No querrá decir IDS en vez de IPS?

Lorenzo_Martinez dijo...

No no... el WAF también bloquea ataques, cosa que el IDS sólo detecta sin bloquear. Se lo expliqué en otro post a tu hermano Paco :D