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/24 11:17] – [Docuwiki: Challenge AWS WAF para TroncoSeco Software] 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 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,saltar al Paso 2.**  
  
-=== Paso 1: Crear un Application Load Balancer (ALB) ===   +1. **Acceder a la consola de AWS**:  
-**Si ya tienes un ALB, salta al Paso 2.**   +
- +
-  1. **Acceder a la consola de AWS**:  +
      - Ingresa a [[https://aws.amazon.com|AWS Console]] > Inicia sesión como root.        - Ingresa a [[https://aws.amazon.com|AWS Console]] > Inicia sesión como root.  
-  2. **Crear el ALB**:  +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/0).        - **Security Group**: Crea uno nuevo permitiendo tráfico HTTP (0.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**: 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 ===  
-  1. **Acceder a 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**:   +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**: Asegúrate de que coincida con la del ALB.        - **Región**: Asegúrate de que coincida con la del ALB.  
  
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**:  
      <code>        <code>  
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://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 146: 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 198: 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.1740395873.txt.gz · Last modified: 2025/02/24 11:17 by gepelbaum