Web Application Firewall

Paco Sepulveda
Computación en la nube
June 10, 2020

Web Application Firewall

Vamos a seguir en este post con la configuración de Azure Application Gateway, en esta ocasión habilitando la característica WAF (Web Application Firewall), que permite proteger nuestras máquinas y servicios web contra ataques como SQL Injection (SQLi), Cross Site Scripting (XSS) o Session Hijacking.

Para este post implementaremos una infraestructura muy simple en la que utilizaremos una máquina virtual que incluye múltiple vulnerabilidades Web para practicar. Se denomina DVWA, Damn Vulnerable Web App, y podemos desplegarla en Azure desde el Marketplace. Esta máquina la situaremos detrás del WAF y comprobaremos que es capaz de evitar los ataques que podrían afectar a esta máquina y dejar pasar únicamente las peticiones legítimas:

Como decíamos, desde el marteplace de Azure podemos crear una máquina DVWA:

Podemos crear esta máquina de tamaño B1s y vendrá con reglas preconfiguradas para el Network Security Group:

El problema con esta máquina desde el Marketplace es que no es posible utilizar una suscripción gratuita para su facturación y nos dará errores de validación:

En su lugar, implementamos nosotros esta máquina DVWA siguiendo las instrucciones de:

https://blogs.technet.microsoft.com/positivesecurity/2017/06/01/setting-up-damn-vulnerable-web-app-dvwa-on-ubuntu-in-azure/

Con esta máquina ya creada podemos iniciar sesión:

Y si vamos a la sección de SQL Injection, podemos comprobar que es vulnerable:

Donde con una simple cadena en la caja de consulta podemos obtener la lista de todos los usuarios.

Veamos qué ocurre si en lugar de acceder de forma directa a la máquina virtual, lo hacemos a través del WAF. Para esto creamos un Azure Application Gateway con la característica WAF activada.

Hemos seleccionado el modo de firewall “Prevention” para que las reglas bloqueen cualquier tráfico malicioso. En el modo “Detection” se crearían registros para este tipo de tráfico, pero no se bloquearía.

Le damos una IP pública:

Añadimos la máquina DVWA al backend:

Y creamos el listener y la regla necesaria:

Una vez completado el despliegue, ya podemos acceder a la aplicación DVWA a través del WAF:

Y si entramos en la sección de SQL Injection para comprobar la vulnerabilidad:

Vemos que el WAF no permite que se haga la consulta que antes nos devolvía la lista de todos los usuarios:

Del mismo modo, si accedemos a la sección de XSS (stored) de forma directa:

Vemos que es vulnerable:

Mientras que si hacemos lo mismo a través del WAF:

También lo bloquea:

Las reglas del WAF que bloquean este tipo de ataques están definidas siguiendo las buenas prácticas de OWASP 3.0:

Y podemos modificarlas según consideremos conveniente, aunque la recomendación es dejarlas habilitadas por defecto.

Paco Sepulveda

En febrero hará 19 años que trabajo como consultor y formador freelance.

Actualmente soy responsable de redes y seguridad en una empresa que ofrece servicios de telemedicina para los hospitales de la Comunidad de Madrid y para el Ejército y la Armada. Para esta empresa he implementado toda la infraestructura cloud.

Trabajo por las mañanas impartiendoel MCSE de Azure en Tajamar y también imparto ocasionalmente formación a medida para empresas en arquitectura de sistemas, redes y seguridad.

Tengo las siguientes certificaciones:

– LPIC-1 y LPIC-2

– ITIL v3 Foundation

– Cisco CCAI, CCNA, CCNP e IINS

– Microsoft: MCT, MCSE Cloud Platform and Infrastructure, MCSA Windows Server 2012 y 2016, MCSE Private Cloud.

La primera certificación de Microsoft la obtuve en 2009 con el MCSE Windows Server 2003 y después el MCITP Windows Server 2008.

Related Posts

Boletin informativo SpainClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form