AWS Solutions Architect · Leçon

WAF, Shield et Network Firewall

Bloquez les attaques figurant parmi les dix principales menaces OWASP avec AWS WAF, protégez-vous contre les attaques DDoS avec Shield Standard et Advanced, puis déployez un pare-feu réseau à état dans votre VPC.

Leçon 4 sur 413 étapes

WAF, Shield et Network Firewall est une leçon AWS Solutions Architect gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AWS Solutions Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AWS Solutions Architect comprend 4 leçons au total.

Défense en profondeur de la sécurité réseau

La protection de vos applications contre les attaques réseau nécessite plusieurs couches de défense. AWS fournit trois services complémentaires : AWS WAF filtre le trafic HTTP de la couche 7 selon des règles afin de bloquer les attaques au niveau applicatif. AWS Shield protège contre les attaques DDoS (déni de service distribué) aux couches 3 et 4. AWS Network Firewall est un pare-feu réseau à état pour l'inspection et le filtrage du trafic au niveau du VPC. Ensemble, ces services répondent à différents vecteurs de menace et sont généralement déployés conjointement pour assurer une protection complète.

# 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 : pare-feu d'applications Web

AWS WAF filtre les requêtes HTTP/HTTPS selon les règles que vous définissez. WAF s'intègre à CloudFront, ALB, API Gateway, AppSync et Cognito. Les règles peuvent porter sur : des ensembles d'adresses IP (bloquer ou autoriser certaines adresses IP), une correspondance géographique (bloquer les requêtes provenant de certains pays), des règles fondées sur le débit (bloquer les IP dépassant un débit de requêtes — protection contre les inondations), des groupes de règles gérés (règles prédéfinies pour les 10 principales menaces OWASP, AWS Threat Intel et Bot Control) et des règles personnalisées (correspondance sur n'importe quel composant HTTP). Les ACL WAF (Web ACL) contiennent des règles et s'appliquent à une ou plusieurs ressources.

# 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

Groupes de règles gérés par WAF

Les groupes de règles gérés AWS sont des ensembles de règles WAF prédéfinis et maintenus par AWS, qui protègent contre les menaces courantes sans vous obliger à écrire des règles individuelles. Principaux groupes : AWSManagedRulesCommonRuleSet — protège contre les 10 principales menaces OWASP (injection SQL, XSS, RFI, LFI). AWSManagedRulesKnownBadInputsRuleSet — bloque les schémas d'entrées malveillantes connus. AWSManagedRulesAmazonIpReputationList — bloque les IP ayant une mauvaise réputation (réseaux de zombies, machines compromises). AWSManagedRulesBotControlRuleSet — détecte et bloque les robots d'aspiration et les navigateurs automatisés. La plupart des déploiements WAF commencent par ces groupes gérés avant l'ajout de règles personnalisées.

# 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...]'

Règles WAF fondées sur le débit

Les règles fondées sur le débit d'AWS WAF bloquent automatiquement les adresses IP qui dépassent un seuil configurable de requêtes sur une fenêtre de 5 minutes. Cela protège contre : les attaques par inondation HTTP (surcharge de vos serveurs avec des requêtes), les attaques par force brute (nombreuses tentatives de connexion) et les abus d'API (aspiration ou énumération). Vous pouvez agréger par IP, par IP et chemin de requête (limiter le débit d'un point de terminaison précis comme /login) ou par en-têtes personnalisés. Les IP bloquées sont automatiquement débloquées lorsque leur débit repasse sous le seuil — aucune intervention manuelle n'est nécessaire.

# 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 et Advanced

AWS Shield Standard est une protection DDoS automatique incluse pour tous les clients AWS sans coût supplémentaire. Elle protège contre les attaques DDoS les plus courantes des couches 3 (réseau) et 4 (transport) — inondations SYN, inondations UDP et attaques par réflexion. AWS Shield Advanced fournit une protection renforcée contre les attaques des couches 3, 4 et 7 sur EC2, ALB, CloudFront, Global Accelerator et Route 53. Shield Advanced comprend : l'assistance de l'équipe AWS de réponse aux attaques DDoS (DRT), la protection contre les coûts (les frais de mise à l'échelle liés aux attaques DDoS sont remboursés), des métriques en temps réel et l'analyse avancée des attaques. Shield Advanced coûte 3 000 $ par mois, auxquels s'ajoutent des frais de transfert de données.

# 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 est un service de pare-feu réseau géré et à état, déployé dans votre VPC pour inspecter et filtrer le trafic. Contrairement aux groupes de sécurité (à état, au niveau des ressources) et aux NACL (sans état, au niveau des sous-réseaux), Network Firewall fournit : une inspection approfondie des paquets (DPI), un suivi des connexions avec état, un filtrage des domaines (blocage par nom de domaine ou selon un schéma), des règles IPS (système de prévention des intrusions) utilisant un format compatible avec Suricata et un filtrage sortant (contrôle de ce que vos instances EC2 peuvent appeler sur Internet). Déployez Network Firewall dans un sous-réseau de pare-feu dédié de chaque 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

Groupes de règles de Network Firewall

Network Firewall utilise des groupes de règles pour définir la logique de filtrage. Les groupes de règles sans état traitent les paquets sans suivre les connexions — comme les NACL, mais avec davantage de souplesse. Les groupes de règles à état suivent l'état des connexions TCP et inspectent les sessions HTTP/TLS complètes. Vous pouvez écrire des règles de trois façons : les règles à 5 tuples (IP source, IP de destination, protocole, port source, port de destination), les règles de liste de domaines (autoriser ou refuser selon le FQDN) et les règles IPS compatibles avec Suricata (les plus puissantes — correspondance de schémas et inspection des protocoles). AWS fournit des groupes de règles gérés pour les menaces courantes.

# 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

Comparaison de WAF, Shield et Network Firewall

Les trois services répondent à des cas d'utilisation différents et sont complémentaires, et non interchangeables : WAF — inspection HTTP de la couche 7, blocage des attaques applicatives (SQLi, XSS), limitation du débit et contrôle des robots. Déployé au niveau de CloudFront ou d'ALB. Shield — atténuation des attaques DDoS, protection de l'infrastructure contre les attaques volumétriques. Shield Standard est toujours actif ; Advanced ajoute l'assistance d'une équipe. Network Firewall — contrôle du trafic VPC des couches 3 à 7, inspection avec état, filtrage des domaines et IPS/IDS. Déployé dans les sous-réseaux du VPC. Utilisez les trois ensemble : Network Firewall contrôle le trafic au niveau du VPC, WAF filtre les requêtes applicatives et Shield atténue les attaques 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

Journalisation et analyse de WAF

WAF peut journaliser toutes les requêtes échantillonnées (1 sur 5) ou toutes les requêtes dans CloudWatch Logs, S3 ou Kinesis Data Firehose. Les journaux incluent l'ensemble des en-têtes de la requête, l'adresse IP, le pays, les règles qui ont correspondu et l'action appliquée (ALLOW/BLOCK/COUNT). Utilisez les journaux WAF pour : enquêter sur les attaques — voir exactement quelles requêtes ont été bloquées ; ajuster les règles — identifier les faux positifs (requêtes légitimes bloquées) et ajouter des exceptions ; détecter de nouvelles menaces — les schémas observés dans les requêtes bloquées peuvent révéler de nouveaux vecteurs d'attaque. Activez le mode COUNT pour les nouvelles règles avant de passer à BLOCK, afin de vérifier qu'elles ne bloquent pas le trafic légitime.

# 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"
      }]
    }
  }'

Architectures types de déploiement de WAF

Déployer AWS WAF correctement nécessite de comprendre où l’associer dans votre architecture. Pour les applications accessibles depuis Internet, associez WAF à CloudFront afin que l’inspection ait lieu en périphérie, avant que le trafic n’atteigne votre origine — les attaques sont ainsi bloquées avant de consommer la bande passante de l’origine. Pour les API internes ou lorsque CloudFront n’est pas utilisé, associez WAF à l’ALB. Pour les API exposées via la passerelle API, WAF peut être associé au niveau de la passerelle API. Vous pouvez associer WAF simultanément à plusieurs ressources — une distribution CloudFront ET l’ALB situé derrière elle — afin d’appliquer une défense en profondeur, mais cela double les coûts d’inspection.

# 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 pour WAF multi-comptes

AWS Firewall Manager centralise les politiques WAF, Shield Advanced, Network Firewall et des groupes de sécurité dans tous les comptes d’une organisation AWS. Définissez les règles WAF une seule fois dans Firewall Manager : elles s’appliqueront automatiquement à tous les ALB, distributions CloudFront et passerelles API de tous les comptes membres, y compris aux ressources nouvellement créées. Si un compte membre déploie un nouvel ALB, Firewall Manager associe automatiquement l’ACL Web WAF. Cela garantit l’application cohérente des politiques de sécurité dans toute l’organisation, sans dépendre de la configuration correcte de WAF par les différentes équipes.

# 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
  }'

Vérification rapide

Testez votre compréhension des concepts AWS Solutions Architect (SAA-C03) présentés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que : AWS WAF filtre le trafic HTTP de la couche 7 pour bloquer les injections SQL et les XSS, filtrer les robots et limiter le débit des adresses IP abusives ; Shield Standard fournit automatiquement une protection DDoS des couches 3 et 4, tandis que Shield Advanced ajoute l’assistance d’une équipe d’intervention et une protection contre les coûts ; et Network Firewall fournit une inspection avec état du trafic au niveau du VPC, ainsi qu’un filtrage par domaine et des règles IPS. Firewall Manager applique les politiques à tous les comptes d’une organisation. Félicitations, vous avez terminé la section consacrée à l’architecture de sécurité !

Gratuit pour commencer

Apprends AWS Solutions Architect avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « WAF, Shield et Network Firewall » est-elle gratuite ?

Oui — le texte complet de « WAF, Shield et Network Firewall » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AWS Solutions Architect, passe à CoddyKit PRO. Le cours AWS Solutions Architect comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « WAF, Shield et Network Firewall » ?

Bloquez les attaques figurant parmi les dix principales menaces OWASP avec AWS WAF, protégez-vous contre les attaques DDoS avec Shield Standard et Advanced, puis déployez un pare-feu réseau à état da… Tu pratiques AWS Solutions Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AWS Solutions Architect ?

Aucune expérience préalable n'est requise. AWS Solutions Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « WAF, Shield et Network Firewall » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AWS Solutions Architect ?

Oui. Chaque leçon AWS Solutions Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. KMS, ACM et modèles de chiffrement
  2. GuardDuty, Inspector et Macie
  3. Secrets Manager et Parameter Store
  4. WAF, Shield et Network Firewall
← Retour à AWS Solutions Architect