aws:tutoriales:challenges:waf
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| aws:tutoriales:challenges:waf [2025/02/24 11:17] – gepelbaum | aws:tutoriales:challenges:waf [2025/03/03 23:53] (current) – [Solución de Problemas Comunes] gepelbaum | ||
|---|---|---|---|
| Line 36: | Line 36: | ||
| ===== Parte 2: Ejercicios Prácticos ===== | ===== Parte 2: Ejercicios Prácticos ===== | ||
| - | ====== | + | ====== Challenge AWS WAF ====== |
| - | **Última actualización**: | + | |
| ===== Contexto del Problema ===== | ===== Contexto del Problema ===== | ||
| - | La empresa **TroncoSeco | + | La empresa **Troncoso |
| ===== Prerrequisitos ===== | ===== Prerrequisitos ===== | ||
| Line 46: | Line 46: | ||
| * (Opcional) Aplicación web existente. Si no, se creará un ALB de ejemplo. | * (Opcional) Aplicación web existente. Si no, se creará un ALB de ejemplo. | ||
| - | ===== Ejercicio Paso a Paso ===== | + | ===== Solución: |
| + | === Paso 1: Crear un Application Load Balancer(ALB) === | ||
| + | **En caso de ya haberlo creado, | ||
| - | === Paso 1: Crear un Application Load Balancer (ALB) === | + | 1. **Acceder a la consola de AWS**: |
| - | **Si ya tienes un ALB, salta al Paso 2.** | + | |
| - | + | ||
| - | | + | |
| - Ingresa a [[https:// | - Ingresa a [[https:// | ||
| - | | + | 2. **Crear el ALB**: |
| - Ve a **EC2** > **Load Balancers** > **Create Load Balancer**. | - Ve a **EC2** > **Load Balancers** > **Create Load Balancer**. | ||
| - Selecciona **Application Load Balancer**. | - Selecciona **Application Load Balancer**. | ||
| - **Configuración básica**: | - **Configuración básica**: | ||
| - | * Nombre: `alb-troncoseco`. | + | * Nombre: `alb-troncoso`. |
| * Esquema: **Internet-facing**. | * Esquema: **Internet-facing**. | ||
| * Listener: Puerto **80 (HTTP)**. | * Listener: Puerto **80 (HTTP)**. | ||
| - **Security Group**: Crea uno nuevo permitiendo tráfico HTTP (0.0.0.0/ | - **Security Group**: Crea uno nuevo permitiendo tráfico HTTP (0.0.0.0/ | ||
| - | - **Target Group**: Crea uno nuevo (`tg-troncoseco`) con instancias ficticias si no hay servidores. | + | - **Target Group**: Crea uno nuevo (`tg-troncoso`) con instancias ficticias si no hay servidores. |
| - | 3. **Finalizar**: | + | 3. **Finalizar**: |
| + | **#Lo mismo pero desde la CLI** | ||
| + | aws elbv2 create-load-balancer \ | ||
| + | --name alb-troncoseco \ | ||
| + | --subnets subnet-XXXXXXXX subnet-YYYYYYYY \ | ||
| + | --security-groups sg-XXXXXXXX \ | ||
| + | --scheme internet-facing \ | ||
| + | --type application \ | ||
| + | --ip-address-type ipv4 | ||
| === Paso 2: Crear un Web ACL en AWS WAF === | === Paso 2: Crear un Web ACL en AWS WAF === | ||
| - | | + | 1. **Acceder a AWS WAF**: |
| - Busca **WAF & Shield** en la barra de servicios. | - Busca **WAF & Shield** en la barra de servicios. | ||
| - | | + | 2. **Crear Web ACL**: |
| - | - **Nombre**: `waf-troncoseco`. | + | - **Nombre**: `waf-troncoso`. |
| - | - **Recurso asociado**: Selecciona el ALB `alb-troncoseco`. | + | - **Recurso asociado**: Selecciona el ALB `alb-troncoso`. |
| - **Región**: | - **Región**: | ||
| Line 75: | Line 83: | ||
| ==== Regla 1: Bloquear SQL Injection ==== | ==== Regla 1: Bloquear SQL Injection ==== | ||
| 1. **Crear regla**: | 1. **Crear regla**: | ||
| - | - En **Web ACLs** > `waf-troncoseco` > **Add rules** > **Add my own rules**. | + | - En **Web ACLs** > `waf-troncoso` > **Add rules** > **Add my own rules**. |
| - **Nombre**: `block-sqli`. | - **Nombre**: `block-sqli`. | ||
| - **Condición**: | - **Condición**: | ||
| Line 101: | Line 109: | ||
| === Paso 5: Probar el WAF === | === Paso 5: Probar el WAF === | ||
| 1. **Obtener DNS del ALB**: | 1. **Obtener DNS del ALB**: | ||
| - | - Ve a **EC2** > **Load Balancers** > Copia el **DNS Name** de `alb-troncoseco`. | + | - Ve a **EC2** > **Load Balancers** > Copia el **DNS Name** de `alb-troncoso`. |
| 2. **Prueba SQLi**: | 2. **Prueba SQLi**: | ||
| < | < | ||
| Line 115: | Line 123: | ||
| === Paso 6: Habilitar Logs para Monitoreo === | === Paso 6: Habilitar Logs para Monitoreo === | ||
| 1. **Configurar logs en S3**: | 1. **Configurar logs en S3**: | ||
| - | - En **Web ACLs** > `waf-troncoseco` > **Logging and metrics** > **Enable logging**. | + | - En **Web ACLs** > `waf-troncoso` > **Logging and metrics** > **Enable logging**. |
| - Selecciona un bucket S3 ([[https:// | - Selecciona un bucket S3 ([[https:// | ||
| 2. **Ver logs en CloudWatch**: | 2. **Ver logs en CloudWatch**: | ||
| - | - Ve a **CloudWatch** > **Logs** > Busca `/ | + | - Ve a **CloudWatch** > **Logs** > Busca `/ |
| === Paso 7: Limpiar Recursos (Opcional) === | === Paso 7: Limpiar Recursos (Opcional) === | ||
| 1. **Eliminar Web ACL**: | 1. **Eliminar Web ACL**: | ||
| - | - **WAF & Shield** > **Web ACLs** > Eliminar `waf-troncoseco`. | + | - **WAF & Shield** > **Web ACLs** > Eliminar `waf-troncoso`. |
| 2. **Eliminar ALB**: | 2. **Eliminar ALB**: | ||
| - | - **EC2** > **Load Balancers** > Eliminar `alb-troncoseco`. | + | - **EC2** > **Load Balancers** > Eliminar `alb-troncoso`. |
| ===== Notas Importantes ===== | ===== Notas Importantes ===== | ||
| Line 146: | Line 154: | ||
| **Pasos**: | **Pasos**: | ||
| - **Crear Web ACL**: | - **Crear Web ACL**: | ||
| - | | + | |
| 1. En AWS WAF, ir a "Web ACLs" > " | 1. En AWS WAF, ir a "Web ACLs" > " | ||
| 2. Asociar a un ALB/ | 2. Asociar a un ALB/ | ||
| - | </ | + | |
| - **Regla SQLi**: | - **Regla SQLi**: | ||
| * **Field to inspect**: Body. | * **Field to inspect**: Body. | ||
| Line 198: | Line 206: | ||
| * **Mantenimiento**: | * **Mantenimiento**: | ||
| * | * | ||
| - | ====== Documentación | + | ====== Documentación |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
aws/tutoriales/challenges/waf.1740395838.txt.gz · Last modified: 2025/02/24 11:17 by gepelbaum
