Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Qué protege un WAF y qué no

4 tareas · 35 min · Principiante

Un cortafuegos de aplicaciones web, el WAF, es uno de los controles que más se compra y que peor se entiende: se espera que «proteja la web» y en realidad protege una franja concreta. Vitrales Carambolo vende vidrio artesanal por internet, pagó un WAF y aun así tuvo seis incidentes en un trimestre. La gerencia pregunta para qué sirve. Tienes el camino de una petición, la lista de incidentes con lo que detuvo cada uno y el inventario de quién acepta conexiones. En esta sala aprendes a decir qué ve un WAF, qué no puede ver y qué control le toca a cada cosa.

0 de 4 · 0%

Objetivo de la sala

Un cortafuegos de aplicaciones web, el WAF, es uno de los controles que más se compra y que peor se entiende: se espera que «proteja la web» y en realidad protege una franja concreta. Vitrales Carambolo vende vidrio artesanal por internet, pagó un WAF y aun así tuvo seis incidentes en un trimestre. La gerencia pregunta para qué sirve. Tienes el camino de una petición, la lista de incidentes con lo que detuvo cada uno y el inventario de quién acepta conexiones. En esta sala aprendes a decir qué ve un WAF, qué no puede ver y qué control le toca a cada cosa.

Un WAF se sitúa delante de una aplicación web y examina las peticiones HTTP y HTTPS que le llegan: la ruta, los parámetros, las cabeceras, las cookies y el cuerpo. Compara lo que ve con reglas, que pueden ser conjuntos mantenidos por el proveedor o reglas propias, y decide permitir, bloquear, solo contar o poner un reto. Trabaja en la capa de aplicación, la séptima del modelo OSI.

De ahí salen sus límites. No ve una inundación de paquetes que nunca llega a ser una petición, porque eso ocurre en capas de red y de transporte. No conoce las reglas de negocio de la aplicación: si una petición está bien formada y el servidor la acepta, el WAF no sabe si el usuario tenía derecho a lo que pidió. Y solo protege lo que pasa por él: lo que llega por otro camino no se inspecciona.

Abre arquitectura.txt en el laboratorio y sigue el camino de una petición con esa lista en la mano.

Responde para continuar

¿Qué inspecciona, en concreto, un WAF?

Ver pista de ayuda

Piensa en la capa del modelo en la que viven una ruta, unos parámetros y unas cabeceras.

Una petición puede ser perfectamente válida en su forma y aun así ser un abuso: cambiar un número en la dirección para pedir el recurso de otra persona no contiene nada raro que una regla pueda reconocer. Es un fallo de autorización de la aplicación, y la única corrección está en el código: comprobar que el recurso pertenece a quien lo pide.

En incidentes-del-trimestre.csv la última columna dice qué detuvo cada incidente. Los que dicen que nadie los detuvo son los que mejor enseñan dónde acaba el WAF.

Responde para continuar

¿Qué incidente fue una petición bien formada que el WAF no podía distinguir de un uso normal porque el fallo estaba en la autorización de la aplicación? Escribe su identificador.

Ver pista de ayuda

Con la terminal, `cat incidentes-del-trimestre.csv`. Busca el que describe leer algo ajeno cambiando un número.

Medir el valor de un control exige contar lo que detuvo y también lo que nunca fue suyo. La cuenta honesta del trimestre separa los incidentes en dos grupos: los que el WAF detuvo y los demás, y entre estos últimos hay trabajo para otros controles: protección de red, autorización en el código, cierre de accesos directos y renovación de certificados.

Con seis filas se hace a mano; con seis mil se haría con grep y wc.

Responde para continuar

¿Cuántos de los seis incidentes no los detuvo el WAF? Escribe solo el número.

Ver pista de ayuda

Con la terminal, `grep -v WAF incidentes-del-trimestre.csv` y quita de la cuenta la fila de encabezado.

Un WAF asociado al CDN solo protege el tráfico que entra por el CDN. Si el balanceador que está detrás acepta conexiones de cualquier dirección de internet, quien conozca su dirección puede hablar con él directamente y el WAF no ve nada. El cierre habitual es que el origen solo acepte conexiones de los rangos del CDN, o que verifique una credencial que solo el CDN añade.

El inventario dice, recurso por recurso, de quién acepta conexiones. Compáralo con el camino de arquitectura.txt: lo que está detrás del WAF no debería aceptar tráfico de todos.

Responde para continuar

¿Qué recurso, situado detrás del CDN y del WAF, acepta conexiones de cualquier dirección de internet? Escribe su nombre.

Ver pista de ayuda

Con la terminal, `cat inventario-del-borde.txt`. Descarta el CDN, que es la entrada pública a propósito.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad