elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  Introducción a los Web Application Firewalls (WAF)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Introducción a los Web Application Firewalls (WAF)  (Leído 7,395 veces)
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Introducción a los Web Application Firewalls (WAF)
« en: 27 Junio 2011, 21:51 pm »

Introducción a los Web Application Firewalls (WAF)

Se pretende dar una introducción sobre qué es y como funcionan los firewalls para aplicaciones web o WAF.

¿Que es un Web Application Firewall o WAF?

La idea principal al desarrollar una aplicación web, es que, sea disponible desde cualquier lugar y que todo el mundo pueda acceder a ella. Este es el gran factor diferenciador respecto a las aplicaciones de escritorio.
Al ser empleadas por más usuarios, son más dispuestas a sufrir ataques, aunque la idea es construir aplicaciones tolerantes a fallos y sin vulnerabilidades, por diferentes razones (en las que no entraremos) no siempre pasa eso.

El WAF solo es una herramienta complementaria y no pretende sustituir las medidas de protección que el desarrollador tiene que llevar a cabo al programar una aplicación.

Se trata de un dispositivo físico que analiza el tráfico web (entre el servidor web y la WAN), los datos recibidos por parte del usuario y protege de diferentes ataques web como: SQL Injection, Cross Site Scripting, Remote and Local File Inclusion, , Buffer Overflows, Cookie Poisoning, etc. Este dispositivo, trata de proteger de los ataques dirigidos al servidor web que los IDS/IPS no nos pueden defender.


Los Pros y Contras de los Modelos de Seguridad

Dentro de los WAF respecto al Modelo de Seguridad se distinguen:

A) Modelo de Seguridad Positiva

Los WAF que siguen el modelo de seguridad positiva deniegan por defecto todas las transacciones y solamente acepta las que identifica como seguras o válidas. Para determinar si una transacción es segura, consulta una una serie de reglas que se definen previamente, ya sea, por el auto-aprendizaje de la aplicación o configuradas manualmente.

A simple vista, parece ser la solución idónea, pero si nuestra aplicación está sujeta a cambios en el diseño o funcionamiento este modelo de seguridad puede volverse difícil de mantener. Otras ventajas de este modelo es que no dependen de ningún tipo de actualizaciones y nos protegen de ataques desconocidos, como desventaja, son más propensos a detectar falsos positivos y necesitan un proceso de aprendizaje, para saber como funciona la aplicación.

B) Modelo de Seguridad Negativa

En este modelo de seguridad, el WAF acepta todas las transacciones y solamente deniega las que detecta como una posible amenaza o un ataque. Contrastando con el anterior, no es muy preciso y depende de actualizaciones y bases de firmas de posibles ataques.

A pesar de las desventajas arriba citadas, los WAF que siguen este modelo no precisan de muchos ajustes y suelen ser fáciles de administrar.


¿Que tipo de ataques puede bloquear?

Este aspecto puede variar dependiendo del fabricante del equipo, aunque, la mayoría detectan los ataques más comunes.

Puede detectar un posible buffer overflow analizando las variables que lleguen por GET o POST. Por ejemplo, si el valor de una variable es superior a 150 caracteres, el WAF podría detectar la transacción como maliciosa y denegarla.

Para los ataques de Cross Site Scripting y SQL Injection, el WAF vigila que los valores pasados tanto por GET como por POST, no contengan valores como "SELECT FROM, UNION, CONCAT, <script >, %, etc.

El factor negativo, es que, si nuestra aplicación utiliza caracteres que el WAF tenga en su "lista negra", denegará las peticiones de los usuarios, en este caso hay dos soluciones: rediseñar el funcionamiento de la aplicación o configurar el WAF para que ignore dichos caracteres.

Algunos WAF también monitorizan las respuestas del servidor, por ejemplo, si en una respuesta, que el servidor web envía al usuario se detectan cadenas que pueden ser identificadas como cuentas bancarias, el WAF lo puede detectar como un posible ataque y denegar la respuesta.

Proceso de Aprendizaje

Supongamos que tenemos una aplicación que muestra los productos de un catálogo y para mostrar un producto, se realiza la siguiente petición:

Código:
GET http://sitepath.com/show_article.php?id=15

La aplicación de por si sola, creará una regla que especifique que el valor de esa variable es numérica. Si se realiza la siguiente petición:

Código:
GET http://sitepath.com/show_article.php?id=15' or 1=1 --

El WAF detectará una anomalía y tomará las medidas necesarias, que suelen ser, la denegación de la petición o el redireccionamiento a una página previamente configurada, como un error 404.


¿Que riesgos implica emplear un WAF?

Si no está configurados correctamente, pueden detectar muchos falsos positivos, por tanto, muchas transacciones denegadas y pérdida de capital por parte de la empresa.

La mayoría necesitan adaptación y configuración ante nuevos cambios en el funcionamiento de la aplicación.

Pueden introducir un cierto retardo en las transferencias, por tanto, clientes insatisfechos y jefes molestos. Para atenuar este factor negativo, se pueden implementar aceleradores SSL (es un dispositivo hardware que se encarga de la capa de protección SSL, quita carga al servidor web), usar webchache, comprimir los datos HTML, CSS y JS al enviarlos al navegador.


Modos de Funcionamiento

Pueden funcionar en modo bridge, router, proxy o plugin. Disponibles tanto como Hardware como Software.

Un ejemplo bastante conocido de WAF a nivel software es mod_security, un plugin de Apache que se encarga de la seguridad en las transferencias. La mayoría, por no decir todos, disponen de funciones de registro o logs, donde almacena los sucesos ocurridos.

Una característica bastante interesante es la denegación de peticiones provenientes de diferentes lugares geográficos, por ejemplo, es probable que a nuestro personal de marketing no le interese recibir visitas a la web de ventas de la compañía provenientes de Asia Oriental y deciden denegar toda petición proveniente de ese continente.


Bibliografía y Enlaces externos:
_WAFEC - The Web Application Security Consortium.
_Web Application Firewall - OWASP.
_Web Application Firewall (WAF) Products.


« Última modificación: 27 Junio 2011, 21:56 pm por madpitbull_99 » En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
int_0x40


Desconectado Desconectado

Mensajes: 300


Ver Perfil
Re: Introducción a los Web Application Firewalls (WAF)
« Respuesta #1 en: 2 Julio 2011, 00:45 am »

Muy chingona esta información madpitbull_99. Entonces las reglas de las WAF incluyen filtrado input y output ¿no es así? ¿Esas reglas las acomoda el desarrollador de acuerdo al contexto en que funciona la webapp y sus necesidades específicas de escalamiento o vienen con unas reglas predefinidas? Ya leí que no protegen contra nuevas técnicas, sólo las más comunes. ¿Sabes si alguna WAF admita reglas de filtrado a medida, configuradas por el personal de desarrollo? Eso estaría pocamadre.

Saludos.


En línea

"The girl i love...she got long black wavy hair ”
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Introducción a los Web Application Firewalls (WAF)
« Respuesta #2 en: 2 Julio 2011, 10:54 am »

 
Citar
Entonces las reglas de las WAF incluyen filtrado input y output ¿no es así?
Sí, pero no todos los WAF filtran el output. El input es filtrado por defecto.


Citar
¿Esas reglas las acomoda el desarrollador de acuerdo al contexto en que funciona la webapp y sus necesidades específicas de escalamiento o vienen con unas reglas predefinidas?
Lo normal, es que, las reglas sean ajustadas por un auditor de seguridad que trabajará junto con los desarrolladores. Casi todos vienen con reglas predefinidas, pero hay que ajustarlas a tu entorno, aunque, algunas empresas describen sus productos como plug and run (enchufar y listo).


Citar
Ya leí que no protegen contra nuevas técnicas, sólo las más comunes. ¿Sabes si alguna WAF admita reglas de filtrado a medida, configuradas por el personal de desarrollo?
Al final del artículo he dejado un enlace con una lista de WAF: Web Application Firewall (WAF) Products. Todos deberían permitir reglas de filtrado a medida, si no lo permiten, es un dispositivo poco flexible.
Puedes echar un vistazo al SmartWAF y ver también las capturas de la aplicación que gestiona el producto.
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
int_0x40


Desconectado Desconectado

Mensajes: 300


Ver Perfil
Re: Introducción a los Web Application Firewalls (WAF)
« Respuesta #3 en: 2 Julio 2011, 19:52 pm »

Va que va. Gracias, hilo interesante. Pienso que los WAF que no hacen filtrado de output están abiertos entonces a ataques de reflejo de error.
En línea

"The girl i love...she got long black wavy hair ”
Dr [F]

Desconectado Desconectado

Mensajes: 50


[H] Risk T [S] --> Dr [F]


Ver Perfil WWW
Re: Introducción a los Web Application Firewalls (WAF)
« Respuesta #4 en: 15 Julio 2011, 18:33 pm »

me gusto mucho la informacion, no sabia de la existencia de estas herramientas, se agradece
En línea

"Una vulnerabilidad es tan limitada como tu quieres que lo sea"

[H] Risk T --> Dr [F]
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Introducción a FirePHP [Tutorial]
PHP
madpitbull_99 1 2,695 Último mensaje 23 Marzo 2011, 11:52 am
por Aeros
Introducción al comando Find
GNU/Linux
madpitbull_99 2 3,192 Último mensaje 28 Julio 2011, 22:55 pm
por portaro
Introducción al patrón Singleton con PHP
PHP
madpitbull_99 2 3,555 Último mensaje 12 Agosto 2011, 16:46 pm
por madpitbull_99
Evadiendo Web Application Firewalls con SQLMap
Nivel Web
hkm 0 3,510 Último mensaje 1 Septiembre 2011, 00:28 am
por hkm
Introducción basica al maldev
Análisis y Diseño de Malware
D3s0rd3n 5 17,560 Último mensaje 22 Diciembre 2023, 04:44 am
por D3s0rd3n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines