User Tools

Site Tools


aws:tutoriales:challenges:waf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
aws:tutoriales:challenges:waf [2025/02/25 10:09] – [Ejercicio Paso a Paso] gepelbaumaws:tutoriales:challenges:waf [2025/03/03 23:53] (current) – [Solución de Problemas Comunes] gepelbaum
Line 40: Line 40:
  
 ===== Contexto del Problema =====   ===== Contexto del Problema =====  
-La empresa **TroncoSeco Software** requiere proteger su aplicación web contra ataques de SQL Injection y XSS. Como administrador, debes implementar un WAF desde cero siguiendo esta guía.  +La empresa **Troncoso Software** requiere proteger su aplicación web contra ataques de SQL Injection y XSS. Como administrador, debes implementar un WAF desde cero siguiendo esta guía.  
  
 ===== Prerrequisitos =====   ===== Prerrequisitos =====  
Line 62: Line 62:
      - **Target Group**: Crea uno nuevo (`tg-troncoso`) con instancias ficticias si no hay servidores.        - **Target Group**: Crea uno nuevo (`tg-troncoso`) con instancias ficticias si no hay servidores.  
 3. **Finalizar**: Haz clic en **Create**.   3. **Finalizar**: Haz clic en **Create**.  
 +**#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 ===  
Line 68: Line 77:
 2. **Crear Web ACL**:   2. **Crear Web ACL**:  
      - **Nombre**: `waf-troncoso`.        - **Nombre**: `waf-troncoso`.  
-     - **Recurso asociado**: Selecciona el ALB `alb-troncoseco`.  +     - **Recurso asociado**: Selecciona el ALB `alb-troncoso`.  
      - **Región**: Asegúrate de que coincida con la del ALB.        - **Región**: Asegúrate de que coincida con la del ALB.  
  
Line 74: 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 100: 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**:  
      <code>        <code>  
Line 114: 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://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html|crea uno si es necesario]]).        - Selecciona un bucket S3 ([[https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html|crea uno si es necesario]]).  
  
   2. **Ver logs en CloudWatch**:     2. **Ver logs en CloudWatch**:  
-     - Ve a **CloudWatch** > **Logs** > Busca `/aws/waf/webacl/waf-troncoseco`.  +     - Ve a **CloudWatch** > **Logs** > Busca `/aws/waf/webacl/waf-troncoso`.  
  
 === 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 145: Line 154:
 **Pasos**:   **Pasos**:  
   - **Crear Web ACL**:     - **Crear Web ACL**:  
-    <code>  +    
     1. En AWS WAF, ir a "Web ACLs" > "Create web ACL".       1. En AWS WAF, ir a "Web ACLs" > "Create web ACL".  
     2. Asociar a un ALB/CloudFront.       2. Asociar a un ALB/CloudFront.  
-    </code>  +      
   - **Regla SQLi**:     - **Regla SQLi**:  
     * **Field to inspect**: Body.       * **Field to inspect**: Body.  
Line 197: Line 206:
   * **Mantenimiento**: Actualizar reglas managed cada 3-6 meses.    * **Mantenimiento**: Actualizar reglas managed cada 3-6 meses. 
   *    * 
-====== Documentación de Soporte oficial ======  +====== Documentación Soporte oficial ======  
   * [[https://docs.aws.amazon.com/waf/latest/developerguide/tutorials-create-web-acl.html|Tutorial Oficial: Crear un Web ACL]].     * [[https://docs.aws.amazon.com/waf/latest/developerguide/tutorials-create-web-acl.html|Tutorial Oficial: Crear un Web ACL]].  
   * [[https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html|Pruebas de Reglas WAF]].     * [[https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html|Pruebas de Reglas WAF]].  
    
  
aws/tutoriales/challenges/waf.1740478162.txt.gz · Last modified: 2025/02/25 10:09 by gepelbaum