

**Présentation d'une nouvelle expérience de console pour AWS WAF**

Vous pouvez désormais utiliser l'expérience mise à jour pour accéder aux AWS WAF fonctionnalités n'importe où dans la console. Pour plus de détails, consultez la section [Utilisation de la console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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.

# Journalisation des informations de trafic de la liste ACL web
<a name="classic-logging"></a>

**Avertissement**  
AWS WAF Classic suit un end-of-life processus planifié. Consultez votre AWS Health tableau de bord pour connaître les étapes et les dates spécifiques à votre région.

**Note**  
Il s'agit d'une documentation **AWS WAF classique**. Vous ne devez utiliser cette version que si vous avez créé AWS WAF des ressources, telles que des règles et du Web ACLs, AWS WAF avant novembre 2019, et que vous ne les avez pas encore migrées vers la dernière version. Pour migrer votre site Web ACLs, consultez[Migration de vos ressources AWS WAF classiques vers AWS WAF](waf-migrating-from-classic.md).  
**Pour la dernière version de AWS WAF**, voir[AWS WAF](waf-chapter.md). 

**Note**  
Vous ne pouvez pas utiliser Amazon Security Lake pour collecter des données AWS WAF classiques. 

Vous pouvez activer la journalisation pour obtenir des informations détaillées sur le trafic qui est analysé par votre liste ACL web. Les informations contenues dans les journaux incluent l'heure à laquelle AWS WAF Classic a reçu la demande de votre AWS ressource, des informations détaillées sur la demande et l'action pour la règle à laquelle chaque demande correspondait.

Pour commencer, vous devez configurer un Amazon Kinesis Data Firehose. Dans le cadre de ce processus, vous choisissez une destination pour stocker vos journaux. Ensuite, vous choisissez la liste ACL web pour laquelle vous souhaitez activer la journalisation. Une fois que vous avez activé la journalisation, elle AWS WAF envoie les journaux via le Firehose à votre destination de stockage. 

Pour plus d'informations sur la façon de créer un Amazon Kinesis Data Firehose et de consulter vos journaux enregistrés[, consultez What Is Amazon](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) Data Firehose ? Pour comprendre les autorisations requises pour votre configuration Kinesis Data Firehose[, consultez la section Contrôle des accès avec Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html).

Vous devez disposer des autorisations suivantes pour activer la journalisation :
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `waf:PutLoggingConfiguration`

Pour de plus amples informations sur les rôles liés au service et l'autorisation `iam:CreateServiceLinkedRole`, veuillez consulter [Utilisation de rôles liés à un service pour Classic AWS WAF](classic-using-service-linked-roles.md).<a name="classic-logging-procedure"></a>

**Pour activer la journalisation pour une liste ACL web**

1. Créez un Amazon Kinesis Data Firehose en utilisant un nom commençant par le aws-waf-logs préfixe « - » Par exemple,. `aws-waf-logs-us-east-2-analytics` Créez le firehose de données avec une source `PUT` et dans la région où vous développez vos activités. Si vous capturez des journaux pour Amazon CloudFront, créez le firehose dans l'est des États-Unis (Virginie du Nord). Pour plus d’informations, consultez [Création d’un flux de diffusion Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).
**Important**  
Ne choisissez pas `Kinesis stream` en tant que source.  
Un journal AWS WAF classique équivaut à un enregistrement Firehose. Si vous recevez généralement 10 000 requêtes par seconde et que vous activez les journaux complets, vous devriez avoir un paramètre de 10 000 enregistrements par seconde dans Firehose. Si vous ne configurez pas Firehose correctement, AWS WAF Classic n'enregistrera pas tous les journaux. Pour de plus amples informations, veuillez consulter [Amazon Kinesis Data Firehose Quotas (Quotas d'Amazon Kinesis Data Firehose)](https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 

1. Connectez-vous à la AWS WAF console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

   Si le **bouton Passer à la AWS WAF version classique** apparaît dans le volet de navigation, sélectionnez-le.

1. Dans le volet de navigation, sélectionnez **Web ACLs**.

1. Choisissez le nom de l'ACL Web pour laquelle vous souhaitez activer la journalisation. Cela ouvre une page contenant les détails de l'ACL Web dans le volet droit.

1. Dans l'onglet **Journalisation**, choisissez **Activer la journalisation**.

1. Choose the Kinesis Data Firehose que vous avez créé à la première étape. Vous devez choisir une lance à incendie qui commence par « aws-waf-logs - ».

1. (Facultatif) Si vous ne souhaitez pas que certains champs et leurs valeurs soient inclus dans les journaux, censurez ces champs. Choisissez le champ à censurer, puis choisissez **Ajouter**. Répétez si nécessaire pour censurer des champs supplémentaires. Les champs censurés apparaîtront en tant que `REDACTED` dans les journaux. Par exemple, si vous censurez le champ **cookie**, le champ **cookie** dans les journaux apparaîtra comme `REDACTED`. 

1. Choisissez **Activer la journalisation**.
**Note**  
Lorsque vous activez correctement la journalisation, AWS WAF Classic crée un rôle lié à un service doté des autorisations nécessaires pour écrire des journaux sur Amazon Kinesis Data Firehose. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour Classic AWS WAF](classic-using-service-linked-roles.md).<a name="classic-logging-disable-procedure"></a>

**Pour désactiver la journalisation pour une liste ACL Web**

1. Dans le volet de navigation, sélectionnez **Web ACLs**.

1. Choisissez le nom de l'ACL Web pour laquelle vous souhaitez désactiver la journalisation. Cela ouvre une page contenant les détails de l'ACL Web dans le volet droit.

1. Dans l'onglet **Journalisation**, choisissez **Désactiver la journalisation**.

1. Dans la boîte de dialogue, sélectionnez **Désactiver la journalisation**.

**Example Exemple de journal**  

```
{
			
	"timestamp":1533689070589,                            
	"formatVersion":1,                                   
	"webaclId":"385cb038-3a6f-4f2f-ac64-09ab912af590",  
	"terminatingRuleId":"Default_Action",                
	"terminatingRuleType":"REGULAR",                     
	"action":"ALLOW",                                    
	"httpSourceName":"CF",                               
	"httpSourceId":"i-123",                             
	"ruleGroupList":[                                    
                         {  
                          "ruleGroupId":"41f4eb08-4e1b-2985-92b5-e8abf434fad3",
                          "terminatingRule":null,    
                          "nonTerminatingMatchingRules":[                  
                                                         {"action" : "COUNT",   
                                                         "ruleId" : "4659b169-2083-4a91-bbd4-08851a9aaf74"}       
                                                        ],
                          "excludedRules":              [
                                                         {"exclusionType" : "EXCLUDED_AS_COUNT",   
                                                          "ruleId" : "5432a230-0113-5b83-bbb2-89375c5bfa98"}
                                                        ]                          
                         }
                        ],
     
	"rateBasedRuleList":[                                 
                             {  
                              "rateBasedRuleId":"7c968ef6-32ec-4fee-96cc-51198e412e7f",   
                              "limitKey":"IP",
                              "maxRateAllowed":100                                                                                           
                             },
                             {  
                              "rateBasedRuleId":"462b169-2083-4a93-bbd4-08851a9aaf30",
                              "limitKey":"IP",
                              "maxRateAllowed":100
                              }
                              ],
			
	"nonTerminatingMatchingRules":[                                
                                       {"action" : "COUNT",                                                           
                                       "ruleId" : "4659b181-2011-4a91-bbd4-08851a9aaf52"}    
                                      ],
                                  
	"httpRequest":{                                                             
                       "clientIp":"192.10.23.23",                                           
                       "country":"US",                                                         
                       "headers":[                                                                 
                                   {  
                                    "name":"Host",
                                    "value":"127.0.0.1:1989"
                                   },
                                   {  
                                    "name":"User-Agent",
                                    "value":"curl/7.51.2"
                                   },
                                   {  
                                    "name":"Accept",
                                    "value":"*/*"
                                   }
                                 ],
                      "uri":"REDACTED",                                                
                      "args":"usernam=abc",                                         
                      "httpVersion":"HTTP/1.1",
                      "httpMethod":"GET",
                      "requestId":"cloud front Request id"                    
                      }
}
```

Voici une explication de chaque élément répertorié dans ces journaux :

**timestamp**  
L'horodatage en millisecondes.

**formatVersion**  
Version du format du journal.

**webaclId**  
GUID de la liste ACL Web.

**terminatingRuleId**  
ID de la règle qui a résilié la requête. Si rien ne résilie la requête, la valeur est `Default_Action`.

**terminatingRuleType**  
Type de règle qui a résilié la requête. Valeurs possibles : RATE\$1BASED, REGULAR et GROUP.

**action**  
L'action. Valeurs possibles pour une règle de résiliation : ALLOW et BLOCK. COUNT n'est pas une valeur valide pour une règle de résiliation.

**terminatingRuleMatchDétails**  
Informations détaillées sur la règle de fin correspondant à la demande. Une règle de fin comporte une action qui met fin au processus d'inspection par rapport à une demande Web. Les actions possibles pour une règle de terminaison sont ALLOW et BLOCK. Cette information n'est renseignée que pour les instructions de règle de correspondance d'injection SQL et de script inter-site (XSS). Comme pour toutes les instructions de règle qui inspectent plusieurs éléments, AWS WAF applique l'action sur la première correspondance et arrête l'inspection de la demande Web. Une demande Web avec une action de fin peut contenir d'autres menaces, en plus de celle signalée dans le journal.

**httpSourceName**  
Source de la requête. Valeurs possibles : CF (si la source est Amazon CloudFront), APIGW (si la source est Amazon API Gateway) et ALB (si la source est un Application Load Balancer).

**httpSourceId**  
ID de la source. Ce champ indique l'ID de la CloudFront distribution Amazon associée, l'API REST pour API Gateway ou le nom d'un Application Load Balancer.

**ruleGroupList**  
Liste des groupes de règles qui ont agi sur cette requête. Dans l'exemple de code précédent, il n'y en a qu'un seul.

**ruleGroupId**  
ID du groupe de règles. Si la règle a bloqué la requête, l'ID pour `ruleGroupID` est le même que pour `terminatingRuleId`. 

**terminatingRule**  
Règle au sein du groupe de règles qui a résilié la requête. Si la valeur est non nulle, elle contient également un **ruleid** et une **action**. Dans ce cas, l'action est toujours BLOCK.

**nonTerminatingMatchingRègles**  
Liste des règles dans le groupe de règles qui correspondent à la requête. Il s'agit toujours de règles COUNT (règles de non-résiliation correspondantes).

**action (groupe de nonTerminatingMatching règles)**  
Il s'agit toujours de COUNT (règles de non-résiliation correspondantes).

**RuleID nonTerminatingMatching (groupe de règles)**  
ID de la règle au sein du groupe de règles qui correspond à la requête et n'était pas de résiliation. Autrement dit, des règles COUNT.

**excludedRules**  
Liste des règles dans le groupe de règles que vous avez exclues. L'action pour ces règles est définie sur COUNT.

**exclusionType (groupe excludedRules)**  
Type qui indique que la règle exclue comporte l'action COUNT.

**ruleId (groupe excludedRules)**  
ID de la règle au sein du groupe de règles qui est exclu.

**rateBasedRuleListe**  
Liste de règles basées sur le débit qui ont agi sur la requête.

**rateBasedRuleId**  
ID de la règle basée sur le débit qui a agi sur la requête. Si cette règle a résilié la requête, l'ID pour `rateBasedRuleId` est le même que pour `terminatingRuleId`.

**limitKey**  
Champ AWS WAF utilisé pour déterminer si les demandes proviennent probablement d'une source unique et sont donc soumises à un suivi du taux. Valeur possible : IP. 

**maxRateAllowed**  
Nombre maximal de requêtes, qui ont une valeur identique dans le champ spécifié par `limitKey`, autorisées au cours d'une période de cinq minutes. Si le nombre de demandes dépasse le nombre de prédicats spécifiés dans la règle `maxRateAllowed` et si les autres prédicats spécifiés dans la règle sont également satisfaits, AWS WAF déclenche l'action spécifiée pour cette règle.

**httpRequest**  
Métadonnées relatives à la requête.

**clientIp**  
Adresse IP du client envoyant la requête.

**country**  
Pays source de la requête. S'il n' AWS WAF est pas en mesure de déterminer le pays d'origine, il définit ce champ sur`-`. 

**headers**  
Liste des en-têtes.

**uri**  
URI de la requête. L'exemple de code précédent montre ce que la valeur serait si ce champ avait été censuré.

**args**  
Chaîne de requête.

**httpVersion**  
Version de HTTP.

**httpMethod**  
Méthode HTTP de la requête.

**requestId**  
ID de la demande.