7
WEB APPLICATION FIREWALL

Web application firewall

Embed Size (px)

Citation preview

Page 1: Web application firewall

WEB APPLICATION FIREWALL

Page 2: Web application firewall

Autor: Miguel Ángel López Moyano Seguridad y Alta Disponibilidad. 2º A.S.I.R.

Los Firewalls tradicionales trabajan en la capa de red pero no ofrecen ninguna clase de protección contra los ataques especializados en explotar vulnerabilidades web. Por eso, hablamos de los Web Application Firewall o WAF.

¿Qué es?

Para empezar tenemos que decir que esta herramienta no es un sustitutivo de otras medi-das de protección que debe llevar a cabo el desarrollador de la aplicación.

El WAF es un dispositivo que puede ser hardware o software que analiza el tráfico web (entre el servidor web y la WAN) y protege de diversos ataques como SQL Injection, Cross Site Scripting, etc. Protege ataques dirigidos al servidor web que los IDS/IPS no pueden. No enruta el tráfico ni lo NATea, sino que se hacen 2 peticiones diferentes, una desde el cliente hasta el WAF y otra desde el WAF hasta el servidor web final.

Pueden funcionar como bridge, router, proxy o plugin.

Un ejemplo de WAF a nivel software es el mod_security (plugin de Apache).

Modelos de Seguridad

Positiva

El WAF deniega por defecto todas las transacciones y solo acepta las que considera seguras. La definición de seguridad la recoge de una serie de reglas preestablecidas que se definen bien por auto-aprendizaje o bien por configuración manual.

Es recomendable para aplicaciones que no están sujetas a modificaciones de diseño o funcionamiento con mucha regularidad ya que el mantenimiento de este modelo puede ser bastante complicado.

Este modelo no depende de ningún tipo de actualización y puede proteger de ata-ques desconocidos, sin embargo puede detectar falsos positivos y necesitan un pro-ceso de aprendizaje de funcionamiento de la aplicación.

Negativa

El WAF acepta todas las transacciones y solo deniega las que considera como un ataque.

Este modelo depende de actualizaciones de las posibles amenazas. Sin embargo son más fáciles de administrar que los anteriores ya que requieren de menos ajustes.

¿Qué ataques bloquea?

Depende del fabricante del equipo pero la mayoría detectan los ataques más comunes.

-2-

Page 3: Web application firewall

Servicios de Red e Internet. 2º A.S.I.R. Autor: Miguel Ángel López Moyano

Puede analizar las variables que llegan por GET o POST, detectando así un buffer over-flow.

Puede analizar que los valores pasados por GET o POST no contengan valores usados por Cross Site Scripting o SQL Injection como “select from”, “unión”, “concat”, etc.

Es muy importante tener en cuenta que si nuestra aplicación utiliza caracteres “extra-ños”, tendremos que configurar el WAF para que no estén incluidos en su “lista negra” o bien rediseñar la aplicación web para evitar estos caracteres.

Algunos WAF también monitorizan las respuestas del servidor web. Si por ejemplo detecta cadenas que identifica como cuentas bancarias puede denegar la respuesta al considerar que se trata de un ataque.

Ejemplo del proceso de aprendizaje:

Si nuestra página tiene una estructura así: GET http://miweb.com/producto.php?id=10, se creará automáticamente una regla que especifique esta estructura de tal manera que si se recibe la siguiente petición: GET http://miweb.com/producto.php?id=10‘ or 1=1 — el WAF denegará la petición por considerarla como un ataque o redirigirá a una página configurada de error.

¿Cómo funciona?

El WAF puede funcionar de varias formas. Cada organización deberá elegir la que más se ajusta a sus necesidades.

Reverse Proxy: su funcionamiento se basa en un proxy inverso. Esto nos obliga a hacer cambios en las tablas de DNS o NAT de los firewalls, de manera que el tráfico que antes iba a las granjas de los servidores web directamente, ahora se direccionará a nuestro nuevo dispositivo.

En la configuración del WAF tendremos que indicar el servidor/granja de servi-dores correspondiente al que enviar el tráfico. Se puede virtualizar, de manera que se puedan analizar varios dominios o aplicaciones con un solo dispositivo, de forma que según el dominio donde vaya se reenvie a un servidor/granja o a otro.

Soportan las siguientes características: caching, compresión, aceleración SSL, balanceo de carga y pooling de conexiones.

Transparent Proxy: su funcionamiento es similar al anterior pero en este caso no tiene una dirección IP. Permiten interactuar en modo transparente. De esta forma no es necesario realizar cambios en la topología de red ni en el flujo del tráfico. Su desventaja respecto a los basados en proxy inverso es que requieren una para-da de servicio mucho mayor en los despliegues.

-3-

Page 4: Web application firewall

Autor: Miguel Ángel López Moyano Seguridad y Alta Disponibilidad. 2º A.S.I.R.

Layer 2 Bridge: el WAF funciona como un switch de capa 2. Proporciona alto rendimiento y no implica cambios en la red, sin embargo no aporta servicios avanzados como otros modos lo hacen.

Network Monitor / Out of Band: El WAF inspecciona el tráfico de red a través de un sniffer monitorizando un puerto. Se puede configurar para que además bloquee cierto tráfico enviando reinicios TCP para interrumpir el mismo.

Host/Server Based: es software que se instala en los propios servidores web. En este caso se elimina cualquier problema de red adicional que pueda existir, pero hay que tener cuidado con su instalación en servidores web que tengan mucha carga ya de por sí.

Algunas desventajas

Como hemos comentado anteriormente, debemos configurar el WAF correctamente ya que en otro caso pueden detectar continuos falsos positivos y denegar transacciones y en consecuencia pérdida de clientes o mala imagen de la aplicación.

Por otra parte, pueden introducir algún retardo en el tiempo de respuesta de la aplica-ción. Para poder minimizar este inconveniente se pueden emplear aceleradores SSL (dispositivo hardware que se encarga de la capa de protección SSL y así libera de esta función a servidor web), usar webcache, comprimir datos, etc.

Algunos productos

No comerciales:

- ModSecurity-www.modsecurity.org.

El WAF más utilizado es el proyecto de código abierto ModSecurity. Su empresa es Breach Security.

ModSecurity normalmente utiliza un modelo de seguridad negativo. Ya hay desarro-llos basados en este tipo de WAF como el que utiliza Apache añadiendo un módulo que contiene ModSecurity.

Contiene un grupo de reglas que detectan los ataques web más comunes.

Su consola centralizada permite recolectar logs y alertas, analizando el tráfico web y creando perfiles que pueden ser utilizados para implementar un modelo de seguridad positivo.

- Microsoft URLScan

Se trata de un filtro ISAPI que lee la configuración de un archivo .ini en el que se definen las restricciones. Corre en el propio servidor web.

-4-

Page 5: Web application firewall

Servicios de Red e Internet. 2º A.S.I.R. Autor: Miguel Ángel López Moyano

Comerciales:

Como herramientas comerciales, podemos mencionar a F5 (su módulo ASM para plataformas BIG-IP), rWeb o sProxy deDenyAll, Imperva, IBM DataPower (exclu-sivamente para servicios Web), Barracuda (que absorbió a NetContinuum), Citrix (después de comprar Teros), Breach Security.

Diferencias entre IPS y WAF

IPS (Intrusion Prevention System) escanea los paquetes que viajan por la red. Actúa de forma similar al IDS (Intrusion Detection System), comparando los datos de los paque-tes de la red con una BBDD de firmas o detectando anomalías en lo que se le ha defini -do como “trafico normal”. Se diferencia del IDS en que el IPS además de recoger logs y alertas, se puede programar para reaccionar ante lo que detecte. Por este motivo es más completo que el IDS.

IPS no tiene la capacidad de entender la lógica del funcionamiento de una aplicación web, por lo que no puede distinguir si una petición es normal o no y puede provocar falsos positivos.

Básicamente la diferencia entre IPS y WAF está en que WAF tiene capacidad para ana-lizar la capa 7 de red.

Mientras que IPS compara el tráfico con patrones y anomalías, WAF examina el com-portamiento y la lógica que se está enviando y devolviendo.

Fuentes:

elhacker.nethttp://www.securitybydefault.comhttp://www.blogtecnico.net/web-application-firewall-waf/

-5-