

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Présentation de l’architecture
<a name="architecture-overview"></a>

Cette section fournit un schéma d'architecture d'implémentation de référence pour les composants déployés avec cette solution.

## Diagramme d'architecture
<a name="architecture-diagram"></a>

Le déploiement de cette solution avec les paramètres par défaut déploie les composants suivants dans votre compte AWS.

 **CloudFormation Le modèle déploie AWS WAF et d'autres ressources AWS pour protéger votre application Web contre les attaques courantes.** 

![\[Présentation de l'architecture aws waf\]](http://docs.aws.amazon.com/fr_fr/solutions/latest/security-automations-for-aws-waf/images/aws-waf-architecture-overview.png)


Au cœur de la conception se trouve une ACL Web [AWS WAF](https://aws.amazon.com/waf/), qui sert de point central d'inspection et de décision pour toutes les demandes entrantes adressées à une application Web. Lors de la configuration initiale de la CloudFormation pile, l'utilisateur définit les composants de protection à activer. Chaque composant fonctionne indépendamment et ajoute des règles différentes à l'ACL Web.

Les composants de cette solution peuvent être regroupés dans les domaines de protection suivants.

**Note**  
Les libellés des groupes ne reflètent pas le niveau de priorité des règles WAF.
+  **AWS Managed Rules (A)** : ce composant contient des groupes de règles de [réputation IP AWS Managed Rules, des groupes](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html) [de règles de base et des groupes](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) de [règles spécifiques à des cas d'utilisation](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html). Ces groupes de règles protègent contre l'exploitation des vulnérabilités courantes des applications ou contre tout autre trafic indésirable, notamment ceux décrits dans les publications de l'[OWASP](https://owasp.org/), sans avoir à écrire vos propres règles.
+  **Listes d'adresses IP manuelles (B et C)** : ces composants créent deux règles AWS WAF. Ces règles vous permettent d'insérer manuellement les adresses IP que vous souhaitez autoriser ou refuser. Vous pouvez configurer la rétention des adresses IP et supprimer les adresses IP expirées sur les ensembles d'adresses IP autorisés ou refusés à l'aide des EventBridge [règles](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) [Amazon](https://aws.amazon.com/eventbridge) et d'[Amazon DynamoDB](https://aws.amazon.com/dynamodb). Pour plus d'informations, reportez-vous à [Configurer la rétention des adresses IP sur les ensembles d'adresses IP AWS WAF autorisés et refusés](configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets.md).
+  **Injection SQL (D) et XSS (E)** : ces composants configurent deux règles AWS WAF conçues pour protéger contre les modèles courants d'injection SQL ou de script intersite (XSS) dans l'URI, la chaîne de requête ou le corps d'une demande.
+  **HTTP Flood (F)** - Ce composant protège contre les attaques consistant en un grand nombre de requêtes provenant d'une adresse IP particulière, telles qu'une attaque de couche Web DDo S ou une tentative de connexion par force brute. Avec cette règle, vous définissez un quota qui définit le nombre maximum de demandes entrantes autorisées à partir d'une seule adresse IP dans un délai de cinq minutes par défaut (configurable avec le paramètre **Athena Query Run Time** Schedule). Une fois ce seuil dépassé, les demandes supplémentaires provenant de l'adresse IP sont temporairement bloquées. Vous pouvez implémenter cette règle en utilisant une règle basée sur le débit AWS WAF ou en traitant les journaux AWS WAF à l'aide d'une fonction Lambda ou d'une requête Athena. Pour plus d'informations sur les compromis liés aux options d'atténuation des inondations HTTP, reportez-vous à la section Options de l'[analyseur de log](log-parser-options.md).
+  **Scanner et sonde (G)** - Ce composant analyse les journaux d'accès aux applications à la recherche de comportements suspects, tels qu'un nombre anormal d'erreurs générées par une origine. Il bloque ensuite ces adresses IP sources suspectes pendant une période définie par le client. [Vous pouvez implémenter cette règle à l'aide d'une fonction [Lambda ou](https://aws.amazon.com/lambda/) d'une requête Athena.](https://aws.amazon.com/athena/) Pour plus d'informations sur les compromis liés aux options d'atténuation du scanner et de la sonde, reportez-vous à la section Options de l'[analyseur de log](log-parser-options.md).
+  **Listes de réputation IP (H)** - Ce composant est la fonction `IP Lists Parser` Lambda qui vérifie toutes les heures les listes de réputation IP tierces pour détecter les nouvelles plages à bloquer. Ces listes incluent les listes Do't Route Or Peer (DROP) et Extended DROP (EDROP) de Spamhaus, la liste IP des menaces émergentes de Proofpoint et la liste des nœuds de sortie Tor.
+  **Bad Bot (I)** : ce composant améliore la détection des robots malveillants en surveillant les connexions directes à un Application Load Balancer (ALB) ou à Amazon CloudFront, en plus du mécanisme Honeypot. Si un bot contourne le honeypot et tente d'interagir avec ALB CloudFront, le système analyse les modèles de demandes et les journaux pour identifier les activités malveillantes. Lorsqu'un robot malveillant est détecté, son adresse IP est extraite et ajoutée à une liste de blocage AWS WAF pour empêcher tout accès ultérieur. La détection des bots défectueux s'effectue par le biais d'une chaîne logique structurée, garantissant une couverture complète des menaces :
  + Analyseur de journal Lambda HTTP Flood Protection : collecte les bots défectueux à IPs partir des entrées du journal lors de l'analyse des inondations.
  + Analyseur de journal Lambda pour la protection des scanners et des sondes : identifie les robots défectueux à IPs partir des entrées du journal relatives au scanner.
  + Analyseur de journaux Athena pour la protection contre les inondations HTTP : extrait les robots malveillants des journaux IPs Athena, en utilisant des partitions lors de l'exécution des requêtes.
  + Scanner & Probe Protection Athena Log Parser : récupère les robots malveillants des journaux Athena IPs liés au scanner, en utilisant la même stratégie de partitionnement.
  + Détection des failles : si la protection HTTP contre les inondations et la protection contre les scanners et les sondes sont désactivées, le système s'appuie sur l'analyseur Log Lambda, qui enregistre l'activité des robots en [fonction](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) des filtres d'étiquettes WAF.

Chacune des trois fonctions Lambda personnalisées de cette solution publie des métriques d'exécution sur. CloudWatch Pour plus d'informations sur ces fonctions Lambda, reportez-vous à la section Détails des [composants](component-details.md).

# Considérations relatives à la conception d'AWS Well-Architected
<a name="well-architected"></a>

Cette solution utilise les meilleures pratiques de l'[AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/), qui aide les clients à concevoir et à exploiter des charges de travail fiables, sécurisées, efficaces et rentables dans le cloud.

Cette section décrit comment les principes de conception et les meilleures pratiques du Well-Architected Framework profitent à cette solution.

## Excellence opérationnelle
<a name="operational-excellence"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier de l'excellence opérationnelle](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html).
+ La solution utilise des métriques pour fournir de l'observabilité CloudWatch à l'infrastructure, aux fonctions Lambda, à Amazon [Data Firehose,](https://aws.amazon.com/kinesis/data-firehose/) aux compartiments Amazon S3 et aux autres composants de la solution.
+ Nous développons, testons et publions la solution par le biais d'un pipeline d'intégration continue et de livraison continue (CI/CD) AWS. Cela permet aux développeurs d'obtenir des résultats de haute qualité de manière constante.
+ Vous pouvez installer la solution à l'aide d'un CloudFormation modèle qui fournit toutes les ressources requises dans votre compte. Pour mettre à jour ou supprimer la solution, il suffit de mettre à jour ou de supprimer le modèle.

## Sécurité
<a name="security-pillar"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier de sécurité](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html).
+ Toutes les communications interservices utilisent des [rôles AWS Identity and Access Management](https://aws.amazon.com/iam/) (IAM).
+ Tous les rôles utilisés par la solution suivent le principe du [moindre privilège d'accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). En d'autres termes, ils ne contiennent que les autorisations minimales requises pour que le service puisse fonctionner correctement.
+ Tous les systèmes de stockage de données, y compris les compartiments Amazon S3 et DynamoDB, sont chiffrés au repos.

## Fiabilité
<a name="reliability"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier de fiabilité](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html).
+ La solution utilise les services sans serveur AWS dans la mesure du possible (par exemple, Lambda, Firehose, Amazon S3 et Athena) pour garantir une haute disponibilité et une restauration en cas de panne de service.
+ Nous effectuons des tests automatisés sur la solution afin de détecter et de corriger rapidement les erreurs.
+ La solution utilise les fonctions Lambda pour le traitement des données. La solution stocke les données dans Amazon S3 et DynamoDB, et elles sont conservées par défaut dans plusieurs zones de disponibilité.

## Efficacité des performances
<a name="performance-efficiency"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier de l'efficacité des performances](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html).
+ La solution utilise une architecture sans serveur pour garantir une évolutivité et une disponibilité élevées à un coût réduit.
+ La solution améliore les performances des bases de données en partitionnant les données et en optimisant les requêtes afin de réduire le volume de numérisation des données et d'obtenir des résultats plus rapides.
+ La solution est automatiquement testée et déployée chaque jour. Nos architectes de solutions et nos experts en la matière examinent la solution pour identifier les domaines à expérimenter et à améliorer.

## Optimisation des coûts
<a name="cost-optimization"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier d'optimisation des coûts](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html).
+ La solution utilise une architecture sans serveur et les clients ne paient que pour ce qu'ils utilisent.
+ La couche de calcul de la solution utilise par défaut Lambda, qui utilise pay-per-use un modèle.
+ La base de données et les requêtes Athena sont optimisées pour réduire le volume de numérisation des données, réduisant ainsi les coûts.

## Durabilité
<a name="sustainability"></a>

Cette section décrit comment nous avons conçu cette solution en utilisant les principes et les meilleures pratiques du [pilier du développement durable](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html).
+ La solution utilise des services gérés et sans serveur pour minimiser l'impact environnemental des services principaux.
+ La conception sans serveur de la solution vise à réduire l'empreinte carbone par rapport à l'empreinte des serveurs sur site fonctionnant en permanence.