0Pricing
AWS Solutions Architect · Lección

WAF, Shield y Network Firewall

Bloquee ataques del top 10 de OWASP con AWS WAF, protéjase contra DDoS con Shield Standard y Advanced y despliegue un Network Firewall con estado en su VPC

WAF, Shield y Network Firewall es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.

Defensa en profundidad de la seguridad de red

Proteger sus aplicaciones frente a ataques basados en la red requiere varias capas de defensa. AWS proporciona tres servicios complementarios: AWS WAF filtra el tráfico HTTP de la capa 7 según reglas para bloquear ataques en la capa de aplicación. AWS Shield protege frente a ataques DDoS (denegación de servicio distribuida) en las capas 3 y 4. AWS Network Firewall es un firewall de red con estado para inspeccionar y filtrar el tráfico a nivel de VPC. En conjunto, abordan diferentes vectores de amenaza y normalmente se implementan juntos para ofrecer una protección integral.

# Layer coverage:
# Network Firewall: Layer 3-7 VPC traffic (stateful)
# Shield Standard: Layer 3-4 DDoS (automatic, free)
# Shield Advanced: Layer 3-7 DDoS + response team
# WAF: Layer 7 HTTP/HTTPS (application attacks)

# Typical deployment:
# Internet -> CloudFront+WAF -> ALB+WAF -> EC2/ECS
# Network Firewall in VPC for egress/lateral inspection
# Shield protects all traffic automatically

AWS WAF: firewall de aplicaciones web

AWS WAF filtra las solicitudes HTTP/HTTPS según las reglas que usted defina. WAF se integra con CloudFront, ALB, API Gateway, AppSync y Cognito. Las reglas pueden coincidir con: conjuntos de direcciones IP (bloquear o permitir IP específicas), coincidencia geográfica (bloquear solicitudes de países concretos), reglas basadas en la velocidad (bloquear IP que superen una tasa de solicitudes; protección contra inundaciones), grupos de reglas administradas (reglas prediseñadas para los 10 principales riesgos de OWASP, AWS Threat Intel y Bot Control) y reglas personalizadas (coincidencia con cualquier componente HTTP). Las ACL de WAF (Web ACL) contienen reglas y se aplican a uno o más recursos.

# Create WAF Web ACL
aws wafv2 create-web-acl \
  --name 'prod-web-acl' \
  --scope CLOUDFRONT \
  --region us-east-1 \
  --default-action Allow={} \
  --rules '[{
    "Name": "AWSManagedRulesCommonRuleSet",
    "Priority": 1,
    "OverrideAction": {"None": {}},
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesCommonRuleSet"
      }
    },
    "VisibilityConfig": {
      "SampledRequestsEnabled": true,
      "CloudWatchMetricsEnabled": true,
      "MetricName": "CommonRuleSet"
    }
  }]' \
  --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=web-acl-metrics

Grupos de reglas administradas de WAF

Los grupos de reglas administradas de AWS son conjuntos de reglas de WAF prediseñados y mantenidos por AWS que protegen frente a amenazas comunes sin que tenga que escribir reglas individuales. Grupos principales: AWSManagedRulesCommonRuleSet — protege frente a los 10 principales riesgos de OWASP (inyección SQL, XSS, RFI y LFI). AWSManagedRulesKnownBadInputsRuleSet — bloquea patrones de entrada maliciosos conocidos. AWSManagedRulesAmazonIpReputationList — bloquea IP con mala reputación (botnets o equipos comprometidos). AWSManagedRulesBotControlRuleSet — detecta y bloquea bots de scraping y navegadores automatizados. La mayoría de las implementaciones de WAF comienzan con estos grupos administrados antes de añadir reglas personalizadas.

# Add IP reputation list managed rule group
aws wafv2 update-web-acl \
  --name 'prod-web-acl' \
  --scope CLOUDFRONT \
  --id <acl-id> \
  --lock-token <lock-token> \
  --rules '[{
    "Name": "AWSManagedRulesAmazonIpReputationList",
    "Priority": 0,
    "OverrideAction": {"None": {}},
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesAmazonIpReputationList"
      }
    }
  }, ...existing_rules...]'

Reglas basadas en la velocidad de WAF

Las reglas basadas en la velocidad de AWS WAF bloquean automáticamente las direcciones IP que superan un umbral configurable de solicitudes dentro de un intervalo de 5 minutos. Esto protege frente a: ataques de inundación HTTP (saturar los servidores con solicitudes), ataques de fuerza bruta (numerosos intentos de inicio de sesión) y abuso de API (scraping o enumeración). Puede agregar las solicitudes por IP, por IP + ruta de solicitud (limitar la velocidad de un endpoint específico como /login) o por encabezados personalizados. Las IP bloqueadas se desbloquean automáticamente cuando su tasa desciende por debajo del umbral, sin necesidad de intervención manual.

# Create rate-based rule for login endpoint
aws wafv2 update-web-acl \
  --rules '[{
    "Name": "RateLimitLogin",
    "Priority": 2,
    "Action": {"Block": {}},
    "Statement": {
      "RateBasedStatement": {
        "Limit": 100,
        "AggregateKeyType": "IP",
        "ScopeDownStatement": {
          "ByteMatchStatement": {
            "SearchString": "/api/login",
            "FieldToMatch": {"UriPath": {}},
            "TextTransformations": [{"Priority": 0, "Type": "LOWERCASE"}],
            "PositionalConstraint": "STARTS_WITH"
          }
        }
      }
    }
  }]'

AWS Shield Standard y Advanced

AWS Shield Standard es una protección DDoS automática incluida para todos los clientes de AWS sin coste adicional. Protege frente a los ataques DDoS más comunes de capa 3 (red) y capa 4 (transporte): inundaciones SYN, inundaciones UDP y ataques de reflexión. AWS Shield Advanced proporciona protección mejorada para ataques de las capas 3, 4 y 7 en EC2, ALB, CloudFront, Global Accelerator y Route 53. Shield Advanced incluye: asistencia del equipo de respuesta frente a DDoS de AWS (DRT), protección de costes (se reembolsan los cargos de escalado relacionados con DDoS), métricas en tiempo real y análisis forense avanzado de ataques. Shield Advanced cuesta 3.000 USD al mes, más una tarifa por transferencia de datos.

# Enable Shield Advanced protection on ALB
aws shield create-protection \
  --name 'prod-alb-protection' \
  --resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/prod-alb/abc

# Associate with a WAF Web ACL for layer-7 protection
aws shield associate-drt-log-bucket \
  --log-bucket my-shield-logs

# With Shield Advanced:
# - DDoS events detected and mitigated automatically
# - DRT can tune WAF rules during active attacks
# - Real-time CloudWatch dashboard
# - AWS will refund EC2/ELB/CloudFront scaling costs from DDoS

AWS Network Firewall

AWS Network Firewall es un servicio administrado de firewall de red con estado que se implementa en su VPC para inspeccionar y filtrar el tráfico. A diferencia de los grupos de seguridad (con estado y a nivel de recurso) y las NACL (sin estado y a nivel de subred), Network Firewall proporciona: inspección profunda de paquetes (DPI), seguimiento de conexiones con estado, filtrado por dominio (bloqueo por nombre o patrón de dominio), reglas de IPS (sistema de prevención de intrusiones) mediante un formato compatible con Suricata y filtrado de salida (control de lo que sus instancias de EC2 pueden invocar en Internet). Implemente Network Firewall en una subred de firewall dedicada en cada AZ.

# Create Network Firewall
aws network-firewall create-firewall \
  --firewall-name prod-vpc-firewall \
  --firewall-policy-arn arn:aws:network-firewall:us-east-1:123:firewall-policy/my-policy \
  --vpc-id vpc-12345 \
  --subnet-mappings '[{"SubnetId":"subnet-firewall-AZ1"},{"SubnetId":"subnet-firewall-AZ2"}]'

# Network Firewall topology:
# Internet -> IGW -> Firewall subnet (Network FW) -> App subnet
# Egress: App subnet -> Firewall subnet (Network FW) -> IGW -> Internet

Grupos de reglas de Network Firewall

Network Firewall utiliza grupos de reglas para definir la lógica de filtrado. Los grupos de reglas sin estado procesan los paquetes sin realizar un seguimiento de las conexiones, de forma similar a las NACL, pero con mayor flexibilidad. Los grupos de reglas con estado realizan un seguimiento del estado de las conexiones TCP e inspeccionan sesiones HTTP/TLS completas. Puede escribir reglas de tres formas: reglas de 5 tuplas (IP de origen, IP de destino, protocolo, puerto de origen y puerto de destino), reglas de lista de dominios (permitir o denegar por FQDN) y reglas de IPS compatibles con Suricata (las más potentes: coincidencia de patrones e inspección de protocolos). AWS proporciona grupos de reglas administradas para amenazas comunes.

# Create domain list rule group (egress filtering)
aws network-firewall create-rule-group \
  --rule-group-name 'allow-egress-domains' \
  --type STATEFUL \
  --capacity 100 \
  --rules-source '{
    "RulesSourceList": {
      "Targets": [
        "amazonaws.com",
        "example.com",
        "*.npmjs.com"
      ],
      "TargetTypes": ["HTTP_HOST","TLS_SNI"],
      "GeneratedRulesType": "ALLOWLIST"
    }
  }'

# Block all other egress traffic by default
# Prevents EC2 from calling malicious external domains

Comparación entre WAF, Shield y Network Firewall

Los tres servicios abordan casos de uso diferentes y son complementarios, no alternativas: WAF: inspección HTTP de capa 7, bloquea ataques a la aplicación (SQLi y XSS), limita la velocidad y controla bots. Se implementa en CloudFront o ALB. Shield: mitigación de DDoS, protege la infraestructura frente a ataques volumétricos. Shield Standard está siempre activo; Advanced añade asistencia del equipo. Network Firewall: control del tráfico de VPC de las capas 3 a 7, inspección con estado, filtrado de dominios e IPS/IDS. Se implementa dentro de las subredes de la VPC. Utilice los tres conjuntamente: Network Firewall controla el tráfico a nivel de VPC, WAF filtra las solicitudes de la aplicación y Shield mitiga los ataques DDoS.

# Comparison table:
# Service          Scope     Layer  Use Case
# AWS WAF          Edge/ALB  7      App attacks, rate limits, bots
# Shield Standard  All       3-4    Auto DDoS mitigation (free)
# Shield Advanced  All       3-7    Enhanced DDoS + DRT support
# Network Firewall VPC       3-7    Stateful inspection, IPS, egress

# SAA-C03 exam keywords:
# 'SQL injection protection' -> WAF
# 'DDoS protection' -> Shield
# 'Block EC2 from calling external IPs' -> Network Firewall
# 'Block requests from country X' -> WAF geo-match

Registro y análisis de WAF

WAF puede registrar todas las solicitudes muestreadas (1 de cada 5) o todas las solicitudes en CloudWatch Logs, S3 o Kinesis Data Firehose. Los registros incluyen los encabezados completos de la solicitud, la dirección IP, el país, las reglas que coincidieron y la acción realizada (ALLOW/BLOCK/COUNT). Utilice los registros de WAF para: investigar ataques — consulte exactamente qué solicitudes se bloquearon. Ajustar las reglas — identifique falsos positivos (solicitudes legítimas bloqueadas) y añada excepciones. Detectar nuevas amenazas — los patrones de las solicitudes bloqueadas pueden revelar nuevos vectores de ataque. Active el modo COUNT para las reglas nuevas antes de cambiar a BLOCK, a fin de comprobar que no bloquean tráfico legítimo.

# Enable WAF logging to Kinesis Firehose
aws wafv2 put-logging-configuration \
  --logging-configuration '{
    "ResourceArn": "arn:aws:wafv2:us-east-1:123:global/webacl/prod-web-acl/abc",
    "LogDestinationConfigs": [
      "arn:aws:firehose:us-east-1:123:deliverystream/waf-logs"
    ],
    "LoggingFilter": {
      "DefaultBehavior": "KEEP",
      "Filters": [{
        "Behavior": "KEEP",
        "Conditions": [{"ActionCondition":{"Action":"BLOCK"}}],
        "Requirement": "MEETS_ANY"
      }]
    }
  }'

Patrones de arquitectura para el despliegue de WAF

Implementar AWS WAF correctamente requiere comprender dónde asociarlo en su arquitectura. Para las aplicaciones accesibles desde Internet, asocie WAF a CloudFront para que la inspección se realice en el borde antes de que el tráfico llegue al origen; así se bloquean los ataques antes de que consuman el ancho de banda del origen. Para las API internas o cuando no se utiliza CloudFront, asocie WAF al ALB. Para las API expuestas mediante API Gateway, WAF puede asociarse en el nivel de API Gateway. Puede asociar WAF a varios recursos simultáneamente —una distribución de CloudFront Y el ALB que se encuentra detrás— para aplicar defensa en profundidad, aunque esto duplica los costes de inspección.

# WAF attachment points:
# 1. CloudFront distribution (global edge, CLOUDFRONT scope)
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123:global/webacl/my-acl/abc \
  --resource-arn arn:aws:cloudfront::123:distribution/EXAMPLEID

# 2. ALB (regional, REGIONAL scope)
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123:regional/webacl/my-acl/xyz \
  --resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/my-alb/abc

# 3. API Gateway REST API
# 4. AppSync GraphQL API
# 5. Amazon Cognito User Pool

Firewall Manager para WAF en varias cuentas

AWS Firewall Manager centraliza las políticas de WAF, Shield Advanced, Network Firewall y grupos de seguridad en todas las cuentas de una AWS Organization. Defina las reglas de WAF una sola vez en Firewall Manager y se aplicarán automáticamente a todos los ALB, las distribuciones de CloudFront y las API Gateway de las cuentas miembro, incluidos los recursos que se creen posteriormente. Si una cuenta miembro implementa un ALB nuevo, Firewall Manager asocia automáticamente la ACL web de WAF. Esto garantiza la aplicación uniforme de las políticas de seguridad en toda la organización sin depender de que cada equipo configure WAF correctamente.

# Create Firewall Manager WAF policy
aws fms put-policy \
  --policy '{
    "PolicyName": "org-wide-waf-policy",
    "SecurityServicePolicyData": {
      "Type": "WAFV2",
      "ManagedServiceData": "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"excludeRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}]}"
    },
    "ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
    "IncludeMap": {"ACCOUNT": []},
    "ExcludeResourceTags": false,
    "RemediationEnabled": true
  }'

Comprobación rápida

Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.

Resumen de la lección

En esta lección ha aprendido que AWS WAF filtra el tráfico HTTP de la capa 7 para bloquear inyecciones SQL, XSS y bots, y limitar la tasa de las IP abusivas; que Shield Standard proporciona protección DDoS automática en las capas 3 y 4, mientras que Shield Advanced añade asistencia del equipo de respuesta y protección de costes; y que Network Firewall proporciona inspección de tráfico con estado a nivel de VPC, filtrado por dominio y reglas de IPS. Firewall Manager aplica las políticas en todas las cuentas de una organización. ¡Enhorabuena por completar la sección de arquitectura de seguridad!

Preguntas frecuentes

¿La lección «WAF, Shield y Network Firewall» es gratis?

Sí — el texto completo de «WAF, Shield y Network Firewall» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.

¿Qué aprenderé en «WAF, Shield y Network Firewall»?

Bloquee ataques del top 10 de OWASP con AWS WAF, protéjase contra DDoS con Shield Standard y Advanced y despliegue un Network Firewall con estado en su VPC Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AWS Solutions Architect?

No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «WAF, Shield y Network Firewall»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?

Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. KMS, ACM y patrones de cifrado
  2. GuardDuty, Inspector y Macie
  3. Secrets Manager y Parameter Store
  4. WAF, Shield y Network Firewall
← Volver a AWS Solutions Architect