Información general sobre el laboratorio
¡Le damos la bienvenida al laboratorio de desafíos de AWS Web Application Firewall! AWS WAF es un firewall para aplicaciones web que ayuda a proteger sus aplicaciones web o API contra bots y ataques web comunes que pueden afectar la disponibilidad, poner en riesgo la seguridad o consumir demasiados recursos. AWS WAF le da control sobre cómo el tráfico llega a sus aplicaciones y le permite crear reglas de seguridad que controlan el tráfico de bots y bloquean los patrones de ataque comunes, como las inyecciones SQL (SQLi) y el scripting entre sitios (XSS). También puede personalizar las reglas que filtren los patrones de tráfico específicos.
En este laboratorio, usted es un ingeniero de seguridad que trabaja para una empresa que acaba de lanzar una tienda de jugos en línea. Le solicitaron buscar y mitigar vulnerabilidades SQLi y XSS en la aplicación web.
A diferencia de los laboratorios clásicos, que incluían instrucciones detalladas paso a paso, este laboratorio de desafíos le proporciona objetivos y solo una orientación mínima. Tendrá que aplicar sus conocimientos de seguridad y de los métodos habituales de explotación de la web para completar las tareas.
En el primer conjunto de tareas, se le presenta una aplicación web insegura y se le pide que utilice ataques de inyección SQL y de scripting entre sitios para explotarla. Si no sabe cómo continuar, despliegue los menús Hint (Sugerencia) y Solution (Solución) para obtener ayuda con sus ataques.
En el segundo conjunto de tareas, implementará y configurará AWS WAF con una serie de reglas administradas y personalizadas diseñadas para mitigar los ataques que lanzó previamente.
Objetivos
Al final de este laboratorio, podrá hacer lo siguiente:
- implementar ataques SQLi y XSS sencillos para comprometer una aplicación web
- crear una lista de control de acceso web (ACL web) en AWS WAF y asociarla a un Application Load Balancer
- aplicar los grupos de reglas administradas de AWS en una ACL web
- aplicar reglas personalizadas a una ACL web
Requisitos previos sobre conocimientos técnicos
Para este laboratorio se requieren conocimientos avanzados de SQL, así como una buena comprensión de la seguridad de la red, los protocolos web comunes y el marco de trabajo RESTful. También tendrá que saber cómo utilizar un entorno de Windows Server utilizando Escritorio remoto.
Requisitos del sistema
Los requisitos de este laboratorio son los siguientes:
- Google Chrome
Duración
El tiempo estimado para completar este laboratorio es de 60 minutos.
Significados de los íconos
A lo largo de este laboratorio, se utilizan varios íconos para llamar la atención sobre diferentes tipos de instrucciones y notas. En la siguiente lista, se explica el propósito de cada ícono:
- Comando: un comando que debe ejecutar.
- Resultado esperado: un resultado de ejemplo que puede utilizar para verificar el resultado de un comando o archivo editado.
- Nota: una pista, consejo u orientación importante.
- Más información: dónde encontrar más información.
- Precaución: información de especial interés o importancia (no es tan importante como para causar problemas con el equipo o los datos si la omite, pero podría generar la necesidad de repetir ciertos pasos).
- ADVERTENCIA: una acción que es irreversible y que podría generar un error en un comando o proceso (incluye advertencias sobre configuraciones que no se pueden modificar después de realizarlas).
- Para tener en cuenta: un momento para hacer una pausa y considerar cómo aplicaría un concepto en su propio entorno o para iniciar una conversación sobre el tema en cuestión.
- Seguridad: una oportunidad para incorporar prácticas recomendadas de seguridad.
- Sugerencia: una sugerencia para una pregunta o un desafío.
- Respuesta: una respuesta a una pregunta o a un desafío.
Entorno del laboratorio
En el siguiente diagrama, se muestra la arquitectura básica del entorno del laboratorio:
Descripción de la imagen: el diagrama anterior representa un flujo de datos. El tráfico va desde una instancia de EC2, llamada Pen Testing Host, a través de AWS WAF y luego a una distribución de Cloudfront que se encuentra delante de un Application Load Balancer. El ALB reenvía las solicitudes a un grupo de escalado automático.
En la siguiente lista, se detallan los recursos más importantes del diagrama:
- Una VPC con dos subredes privadas y una subred pública repartidas en dos zonas de disponibilidad.
- Un Application Load Balancer interno situado delante de un grupo de escalado automático con dos nodos.
- Una distribución de Cloudfront frente al Application Load Balancer.
- El tráfico pasa por AWS WAF antes de llegar a la distribución de Cloudfront.
- Una instancia de EC2 llamada PenTestingHost ubicada en la subred pública.