REVISTA .SEGURIDAD | 1 251 478, 1 251 477 | REVISTA BIMESTRAL

Firewall de Aplicación Web - Parte II

Firewall web, seguridad de la información

Este artículo es la segunda parte de nuestra entrega sobre los Firewalls de Aplicación Web (WAF por sus siglas en inglés), publicada en la edición anterior de esta revista. Para esta edición prometimos prepararte una sección con los manuales de implementación de un WAF open source paso a paso, pero antes de que los revises, es muy importante dejar claro cómo funciona un Firewall de Aplicaciones Web.

A continuación, te explicamos cómo es que un WAF lleva a cabo su tarea y, después de saber cómo funciona, podrás proseguir con la implementación de tu propio WAF.

Funcionamiento de un WAF

Un WAF trabaja como intermediario entre usuarios externos (ej. usuarios de Internet) y las aplicaciones web. Esto quiere decir que las peticiones y respuestas HTTP son analizadas por el WAF antes de que éstas lleguen a las aplicaciones web o a los usuarios de las aplicaciones.

Para la revisión del tráfico HTTP, el WAF aplica un conjunto de reglas (definidas con anterioridad) para llevar a cabo la detección de peticiones HTTP malformadas, ataques web como Cross Site Scripting, SQL Injection, ataques de DoS y DDoS, e incluso la detección de fuga de información proveniente de la aplicación web. Cuando el WAF detecta un ataque, intento de intrusión o fuga de información, entonces bloquea el tráfico web descartando la petición o respuesta HTTP evitando que los ataques afecten a la aplicación web o que información sensible sea enviada como respuesta a potenciales usuarios maliciosos.

De no detectarse peticiones web maliciosas o alguna anomalía, entonces las peticiones y respuestas HTTP fluyen con normalidad. Todo el proceso de análisis y protección ocurre de forma transparente para los usuarios, evitando así, interferir con las operaciones normales de las aplicaciones web.

Modos de implementación

Puedes implementar un WAF de diferentes modos. El modo de implementación depende de la topología de red con la que cuentes y de las necesidades de seguridad que requieras para tus aplicaciones web. A continuación se listan los modos de implementación más usados para un WAF.

WAF en modo Puente Transparente (Bridge):

Funge como un equipo que interconecta dos segmentos de red de forma transparente (sus interfaces de red no tienen dirección IP), de modo que no se requiere alterar la configuración de direcciones IP de los servidores web, ya que son estos mismos los que responden las peticiones web. No requiere de la reconfiguración de los registros DNS y permite proteger múltiples servidores de aplicaciones web, siempre y cuando estos se accedan mediante el canal que protege el WAF.

WAF en modo Proxy Inverso:

Funge como un equipo que interconecta dos o más segmentos de red, pero éste si cuenta con dirección IP propia. Concentra, gestiona y analiza las peticiones y respuestas HTTP que circulan entre los usuarios y aplicaciones web. En pocas palabras, el WAF en modo de proxy inverso responde las peticiones web como si éste fuera el servidor web mismo, por lo tanto es de utilidad para ocultar a los servidores de aplicaciones web de la red exterior. Permite proteger múltiples servidores de aplicaciones web. Su implementación requiere modificar los registros DNS que ahora deben dirigirse a la dirección IP del WAF en modo proxy inverso en vez de a los servidores web.

WAF en modo embebido o plugin:

El WAF se instala como un software de complemento o plugin en el servidor web a proteger. Para su operación hace uso de los recursos de hardware (procesador, RAM, disco duro) y software del servidor donde se ha instalado. Su instalación depende totalmente del tipo de servidor web y del sistema operativo subyacente. Afortunadamente existen WAFs para los entornos Windows, GNU/Linux y Unix, así como para los distintos servidores web más populares. Este modo de operación es el más sencillo pues no requiere configuraciones adicionales en la red.

Algunos WAF soportan características como:
  • Normalización del tráfico web: Usualmente los usuarios maliciosos usan técnicas para ocultar sus ataques web mediante codificación o cifrado. El WAF debe ser capaz de decodificar o descifrar el tráfico web para poder aplicar sus reglas de seguridad.
  • Aceleración SSL: Algunos WAF comerciales cuentan con hardware especializado para poder atender las peticiones web seguras (HTTPS) de forma rápida, pues el uso de cifrado en las transacciones web implica el uso adicional de procesador y memoria RAM de los servidores web. Emplear aceleradores SSL permite quitar carga de procesamiento a los servidores.

Firewall, ataques web, seguridad de la información

 

Variedad de soluciones WAF

En el mercado existen varias opciones de WAF a elegir que nos pueden ayudar a aumentar la seguridad sobre nuestros servidores de aplicaciones web de forma considerable. Entre las dos opciones open source más populares, encontramos las siguientes:

ModSecurity

Desarrollado por: Trustwave

ModSecurity funciona como un complemento que se instala en el servidor web. Actualmente soporta los servidores web Apache HTTPD, Microsoft IIS y NGinx. Provee protección contra las principales amenazas del Top 10 de OWASP mediante su conjunto de reglas especializadas en detección y bloqueo de ataques. Es un proyecto con madurez de desarrollo y cuenta con una creciente comunidad de usuarios que lo han implementado.

IronBee

Desarrollado por: Qualys

IronBee es un WAF desarrollado y mantenido por el equipo que diseñó y desarrolló a ModSecurity en sus inicios. Este proyecto apunta a producir un WAF que sea aún más seguro, de alto rendimiento, portable y libremente disponible, incluso para el uso comercial. El enfoque de este WAF va dirigido a perfilar el comportamiento de la aplicación web y sus usuarios, de esta forma se pueden establecer controles de seguridad basados en la forma de uso de las aplicaciones web, así como los convencionales contra ataques web comunes.

¿WAFs en el código de las aplicaciones web?

Seguridad,Firewall,Protección,Computo

Dentro de la amplia gama de herramientas de seguridad para aplicaciones web, existen otro tipo de opciones que están muy ligadas con las acciones que realiza un WAF. Estas herramientas también pueden ser de utilidad cuando se quiere proporcionar seguridad adicional a las aplicaciones web a nivel de código.

Este conjunto de herramientas se implementan directamente en el código de la aplicación, para hacer uso de ellas, tendrás que tener acceso directo al código fuente de tu aplicación web, lo que implica conocer el lenguaje de programación en que se desarrolló y, con base en ello, puedas comenzar con la modificación del código y acoplarlo según tus necesidades.

En muchos casos no se tiene acceso al código fuente de la aplicación web debido a que la aplicación misma podría ser solo un archivo ejecutable. Es ahí cuando el uso de este tipo de herramientas se tiene que descartar. Si este no es el caso, podrás hacer uso de herramientas como las siguientes:

ESAPI WAF (Enterprise Security API Web Application Firewall):

Son bibliotecas que se incluyen directamente en el código y, una vez que se implementan en tu aplicación web, proporcionarán seguridad de una forma más directa mediante la validación de los datos de entrada, permitiendo así filtrar ataques web. El equipo de desarrollo debe implementar las bibliotecas de esta API sobre el código de las aplicaciones web que se deseen asegurar.

PHPIDS Web Application Security 2.0 (PHP-Intrusion Detection System)

Es un software utilizado para reforzar la seguridad en la capa de aplicación a nivel web (directamente en tu aplicación). Al igual que los WAF convencionales, se basa en el análisis de transacciones HTTP mediante un conjunto de reglas que se encargan de filtrar anomalías y ataques web. Su modo de operación se lleva a cabo mediante puntajes, donde a un ataque o anomalía se le asigna un puntaje numérico mediante el cual se decide qué tipo de acción defensiva debe seguirse. 

Existen varias alternativas que ayudan a complementar la seguridad de tu aplicación web, haz uso de ellas. Indaga sobre las que más te interesen, ya que solo de esta manera podrás descartar algunas o bien, acoplarlas según tus necesidades.

Recuerda que la seguridad de un sistema es tan fuerte como lo sea su eslabón más débil. No olvides que hoy en día la seguridad web es un punto crítico que no puede echarse en saco roto, pues las afectaciones por ataques exitosos, intrusiones y fugas de información sensitiva, pueden traer repercusiones sociales (pérdida de reputación), monetarias e incluso legales. A veces, una simple entrada de datos no asegurada puede acarrearnos grandes problemas.

Los WAF son herramientas que han evolucionado y han demostrado su efectividad a tal grado que dentro de poco tiempo serán considerados como una capa de seguridad obligatoria en cualquier entorno de aplicaciones web seguro.

Implementación de tu propio WAF

Las guías de instalación contemplan la implementación del WAF ModSecurity en un servidor web apache en modo embebido. Ten en cuenta que la instalación de un WAF puede resultar sencilla, pero el proceso de aprendizaje para su administración y afinación de políticas requiere de entendimiento en su forma de operación y en las configuraciones específicas.

Nota: Una regla importante para todos los WAF en general, es que siempre se deben de implementar en modo de solo monitoreo por un periodo de tiempo. Esto con la finalidad de que observes las alertas que muestran al analizar el tráfico web dirigido a tu aplicación web y así puedas determinar si hay reglas del WAF que puedan interferir con el funcionamiento de la misma. Recuerda que como otras tecnologías de monitoreo es susceptible a falsos positivos.

Referencias:

http://www.modsecurity.org/documentation/ModSecurity2_Rule_Language.pdf

http://revista.seguridad.unam.mx/numero-10/evoluci%C3%B3n-de-los-sistema...

https://www.owasp.org/index.php/Virtual_Patching_Best_Practices

http://www.blogtecnico.net/web-application-firewall-waf/

https://phpids.org/

http://www.cert.org.mx/index.html

http://www.modsecurity.org/

https://www.owasp.org/

http://www.fromdev.com/2011/07/opensource-web-application-firewall-waf.html

https://www.owasp.org/index.php/Virtual_Patching_Best_Practices

UNAM

[ CONTACTO ]

Se prohíbe la reproducción total o parcial
de los artículos sin la autorización por escrito de los autores

 

Hecho en México, Universidad Nacional Autónoma de México (UNAM) © Todos los derechos reservados 2017.