

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.

# Détails de l'architecture
<a name="architecture-details"></a>

Cette section décrit les composants et les services AWS qui constituent cette solution ainsi que les détails de l'architecture sur la manière dont ces composants fonctionnent ensemble.

## Services AWS inclus dans cette solution
<a name="aws-services-in-this-solution"></a>


| Service AWS | Description | 
| --- | --- | 
|   [AWS WAF](https://aws.amazon.com/waf/)   |   **Noyau**. Déploie une ACL Web AWS WAF, des groupes de règles AWS Managed Rules, des règles personnalisées et des ensembles d'adresses IP. Effectue des appels à l'API AWS WAF pour bloquer les attaques courantes et sécuriser les applications Web.  | 
|   [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/)   |   **Noyau**. Fournit les journaux AWS WAF aux compartiments Amazon S3.  | 
|   [Amazon S3](https://aws.amazon.com/s3/)   |   **Noyau**. Stocke les journaux AWS CloudFront, WAF et ALB.  | 
|   [AWS Lambda](https://aws.amazon.com/lambda/)   |   **Noyau**. Déploie plusieurs fonctions Lambda pour prendre en charge les règles personnalisées.  | 
|   [Amazon EventBridge](https://aws.amazon.com/eventbridge/)   |   **Noyau**. Crée des règles d'événements pour appeler Lambda.  | 
|   [Amazon Athena](https://aws.amazon.com/athena/)   |   **Soutenir**. Crée des requêtes Athena et des groupes de travail pour prendre en charge l'analyseur de log Athena.  | 
|   [AWS Glue](https://aws.amazon.com/glue/)   |   **Soutenir**. Crée des bases de données et des tables pour prendre en charge l'analyseur de log Athena.  | 
|   [Amazon SNS](https://aws.amazon.com/sns/)   |   **Soutenir**. Envoie des notifications par e-mail à Amazon Simple Notification Service (Amazon SNS) pour soutenir la rétention des adresses IP sur les listes autorisées et refusées.  | 
|   [AWS Systems Manager](https://aws.amazon.com/systems-manager/)   |   **Soutenir**. Assure la surveillance des ressources au niveau de l'application et la visualisation des opérations sur les ressources et des données de coûts.  | 

# Options de l'analyseur de journaux
<a name="log-parser-options"></a>

Comme décrit dans la [présentation de l'architecture](architecture-overview.md), il existe trois options pour gérer le flux HTTP et les protections des scanners et des sondes. Les sections suivantes expliquent chacune de ces options plus en détail.

## Règle basée sur le taux AWS WAF
<a name="aws-waf-rate-based-rule"></a>

Des règles basées sur le débit sont disponibles pour la protection HTTP contre les inondations. Par défaut, une règle basée sur le débit agrège et limite les demandes en fonction de l'adresse IP de la demande. Cette solution vous permet de spécifier le nombre de requêtes Web autorisées par l'adresse IP d'un client au cours d'une période de cinq minutes, mise à jour en continu. Si une adresse IP dépasse le quota configuré, AWS WAF bloque les nouvelles demandes bloquées jusqu'à ce que le taux de demandes soit inférieur au quota configuré.

Nous vous recommandons de sélectionner l'option de règle basée sur le taux si le quota de demandes est supérieur à 2 000 demandes par cinq minutes et que vous n'avez pas besoin de mettre en œuvre de personnalisations. Par exemple, vous ne tenez pas compte de l'accès statique aux ressources lorsque vous comptez les demandes.

Vous pouvez également configurer la règle pour utiliser diverses autres clés d'agrégation et combinaisons de touches. Pour plus d'informations, consultez la section [Options et clés d'agrégation](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based-aggregation-options.html).

## Analyseur de journaux Amazon Athena
<a name="amazon-athena-log-parser"></a>

Les paramètres du modèle **HTTP Flood Protection** et **Scanner & Probe** **Protection** fournissent l'option Athena log parser. Lorsqu'elle est activée, CloudFormation fournit une requête Athena et une fonction Lambda planifiée chargées d'orchestrer l'exécution d'Athena, de traiter la sortie des résultats et de mettre à jour AWS WAF. Cette fonction Lambda est invoquée par un CloudWatch événement configuré pour s'exécuter toutes les cinq minutes. Ceci est configurable avec le paramètre **Athena Query Run Time Schedule**.

Nous vous recommandons de sélectionner cette option lorsque vous ne pouvez pas utiliser les règles basées sur le débit AWS WAF et que vous connaissez le langage SQL pour implémenter des personnalisations. Pour plus d'informations sur la modification de la requête par défaut, consultez la section [Afficher les requêtes Amazon Athena](view-amazon-athena-queries.md).

La protection HTTP contre les inondations est basée sur le traitement des journaux d'accès AWS WAF et utilise les fichiers journaux WAF. Le type de journal d'accès WAF présente un temps de latence plus faible, que vous pouvez utiliser pour identifier plus rapidement les origines des inondations HTTP par rapport au CloudFront délai de livraison du journal ALB. Cependant, vous devez sélectionner le type de journal CloudFront ou ALB dans le paramètre du modèle **Activate Scanner & Probe Protection** pour recevoir les codes d'état des réponses.

**Note**  
Si un robot malveillant contourne le honeypot et interagit directement avec ALB, le système détecte un comportement malveillant par le biais d'une analyse des journaux CloudFront, sauf si HTTP Flood Protection et Scanner & Probe Protection n'utilisent pas l'analyseur de journaux Lambda.

## Analyseur de journaux AWS Lambda
<a name="aws-lambda-log-parser"></a>

Les paramètres du modèle **HTTP Flood Protection** et **Scanner & Probe Protection** fournissent l'option **AWS Lambda Log Parser**. Utilisez l'analyseur de journaux Lambda uniquement lorsque la **règle basée sur le débit AWS WAF et** les options de l'analyseur de journaux Amazon **Athena ne sont pas** disponibles. L'une des limites connues de cette option est que les informations sont traitées dans le contexte du fichier en cours de traitement. Par exemple, une adresse IP peut générer plus de demandes ou d'erreurs que le quota défini, mais comme ces informations sont réparties dans différents fichiers, chaque fichier ne stocke pas suffisamment de données pour dépasser le quota.

**Note**  
En outre, si un robot malveillant contourne le honeypot et interagit directement avec ALB CloudFront, la détection repose sur l'option d'analyseur de journal choisie pour identifier et bloquer efficacement les activités malveillantes.

# Détails des composants
<a name="component-details"></a>

Comme décrit dans le [schéma d'architecture](architecture-overview.md#architecture-diagram), quatre des composants de cette solution utilisent des automatisations pour inspecter les adresses IP et les ajouter à la liste de blocage d'AWS WAF. Les sections suivantes expliquent chacun de ces composants de manière plus détaillée.

## Log parser - Application
<a name="log-parser--application"></a>

L'analyseur du journal des applications permet de se protéger contre les scanners et les sondes.

 **Flux de l'analyseur du journal des applications.** 

![\[flux d'analyseur du journal des applications\]](http://docs.aws.amazon.com/fr_fr/solutions/latest/security-automations-for-aws-waf/images/app-log-parser-flow.png)


1. Lorsqu' CloudFront un ALB reçoit des demandes au nom de votre application Web, il envoie des journaux d'accès à un compartiment Amazon S3.

   1. (Facultatif) Si vous sélectionnez `Yes - Amazon Athena log parser` comme paramètres du modèle **Activate HTTP Flood Protection** et **Activate Scanner & Probe Protection**, une fonction Lambda déplace les journaux d'accès de leur dossier d'origine *<customer-bucket>* `/AWSLogs` vers un dossier nouvellement *<customer-bucket>* `/AWSLogs-partitioned/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* partitionné/ à leur arrivée dans Amazon S3.

   1. (Facultatif) Si vous sélectionnez `yes` le paramètre **Conserver les données dans l'emplacement S3 d'origine**, les journaux restent dans leur emplacement d'origine et sont copiés dans leur dossier partitionné, dupliquant ainsi votre stockage de journaux.
**Note**  
Pour l'analyseur de journaux Athena, cette solution partitionne uniquement les nouveaux journaux qui arrivent dans votre compartiment Amazon S3 après le déploiement de cette solution. Si vous souhaitez partitionner des journaux existants, vous devez les charger manuellement sur Amazon S3 après avoir déployé cette solution.

1. En fonction de votre sélection pour les paramètres du modèle **Activate HTTP Flood Protection** et **Activate Scanner & Probe Protection**, cette solution traite les journaux en utilisant l'une des méthodes suivantes :

   1.  **Lambda** - Chaque fois qu'un nouveau journal d'accès est stocké dans le compartiment Amazon S3, la fonction `Log Parser` Lambda est lancée.

   1.  **Athena** - Par défaut, toutes les cinq minutes, la requête **Athena de Scanner & Probe** Protection est exécutée et le résultat est envoyé vers AWS WAF. Ce processus est initié par un CloudWatch événement qui lance la fonction Lambda chargée d'exécuter la requête Athena et envoie le résultat dans AWS WAF.

1. La solution analyse les données du journal pour identifier les adresses IP qui ont généré plus d'erreurs que le quota défini. La solution met ensuite à jour une condition d'ensemble d'adresses IP AWS WAF afin de bloquer ces adresses IP pendant une période définie par le client.

## Analyseur de journaux - AWS WAF
<a name="log-parser--aws-waf"></a>

Si vous sélectionnez `yes - AWS Lambda log parser` ou `yes - Amazon Athena log parser` pour **Activer la protection HTTP contre les inondations**, cette solution fournit les composants suivants, qui analysent les journaux AWS WAF afin d'identifier et de bloquer les origines qui inondent le point de terminaison avec un taux de demandes supérieur au quota que vous avez défini.

 **Flux de l'analyseur de journaux AWS WAF.** 

![\[flux de l'analyseur waf log\]](http://docs.aws.amazon.com/fr_fr/solutions/latest/security-automations-for-aws-waf/images/waf-log-parser-flow.png)


1. Lorsqu'AWS WAF reçoit des journaux d'accès, il les envoie à un point de terminaison Firehose. Firehose envoie ensuite les journaux dans un compartiment partitionné dans Amazon S3 nommé *<customer-bucket>* `/AWSLogs/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* `/` 

1. En fonction de votre sélection pour les paramètres du modèle **Activate HTTP Flood Protection** et **Activate Scanner & Probe Protection**, cette solution traite les journaux en utilisant l'une des méthodes suivantes :

   1.  **Lambda** : chaque fois qu'un nouveau journal d'accès est stocké dans le compartiment Amazon S3, la fonction `Log Parser` Lambda est lancée.

   1.  **Athena :** Par défaut, toutes les cinq minutes, la requête Athena du scanner et de la sonde est exécutée et le résultat est transféré vers AWS WAF. Ce processus est initié par un CloudWatch événement Amazon, qui lance ensuite la fonction Lambda chargée d'exécuter la requête Amazon Athena et envoie le résultat dans AWS WAF.

1. La solution analyse les données du journal pour identifier les adresses IP qui ont envoyé plus de demandes que le quota défini. La solution met ensuite à jour une condition d'ensemble d'adresses IP AWS WAF afin de bloquer ces adresses IP pendant une période définie par le client.

## Log parser - Mauvais robot
<a name="log-parser--badbot"></a>

L'analyseur de log Bad bot inspecte les requêtes adressées au point de terminaison Honeypot pour en extraire l'adresse IP source.

 **Le flux de l'analyseur de journal des bots est incorrect.** 

![\[flux de l'analyseur de log badbot\]](http://docs.aws.amazon.com/fr_fr/solutions/latest/security-automations-for-aws-waf/images/badbot-log-parser-flow.png)


1. S'il `Bad Bot Protection` est activé et que les fonctionnalités de protection contre les inondations HTTP et de protection contre les scanners et les sondes sont désactivées : le système utilisera l'analyseur Log Lambda, qui enregistre uniquement les mauvaises requêtes de bot sur la base des filtres d'étiquettes [WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html).

1. La fonction Lambda intercepte et inspecte les en-têtes de requête pour extraire l'adresse IP de la source qui a accédé au point de terminaison du trap.

1. La solution analyse les données du journal pour identifier les adresses IP qui ont envoyé plus de demandes que le quota défini. La solution met ensuite à jour une condition d'ensemble d'adresses IP AWS WAF afin de bloquer ces adresses IP pendant une période définie par le client.

## Analyseur de listes IP
<a name="ip-lists-parser"></a>

La fonction `IP Lists Parser` Lambda permet de se protéger contre les attaquants connus identifiés dans les listes de réputation IP tierces.

 **La réputation IP répertorie les flux d'analyseurs.** 

![\[flux des listes de réputation IP\]](http://docs.aws.amazon.com/fr_fr/solutions/latest/security-automations-for-aws-waf/images/ip-reputation-lists-flow.png)


1. Un CloudWatch événement Amazon horaire appelle la fonction `IP Lists Parser` Lambda.

1. La fonction Lambda collecte et analyse les données provenant de trois sources :
   + Listes DROP et EDROP de Spamhaus
   + Liste IP des menaces émergentes de Proofpoint
   + Liste des nœuds de sortie de Tor

1. La fonction Lambda met à jour la liste de blocage AWS WAF avec les adresses IP actuelles.