Enregistrement des informations relatives au ACL trafic Web - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

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.

Enregistrement des informations relatives au ACL trafic Web

Avertissement

AWS WAF Le support classique prendra fin le 30 septembre 2025.

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 WebACLs, AWS WAF avant novembre 2019, et que vous ne les avez pas encore migrées vers la dernière version. Pour migrer votre site WebACLs, consultezMigration de vos ressources AWS WAF classiques vers AWS WAF.

Pour la dernière version de AWS WAF, voirAWS WAF.

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 analysé par votre site WebACL. 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 le site Web pour ACL lequel 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 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.

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.

Pour activer la journalisation pour un site Web ACL
  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.

    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).

  2. Connectez-vous à la AWS WAF console AWS Management Console et ouvrez-la à l'adresse 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.

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

  4. Choisissez le nom du site Web pour ACL lequel vous souhaitez activer la journalisation. Cela ouvre une page contenant les détails ACL du Web dans le volet droit.

  5. Dans l'onglet Journalisation, choisissez Activer la journalisation.

  6. 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 - ».

  7. (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.

  8. 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.

Pour désactiver la journalisation pour un site Web ACL
  1. Dans le volet de navigation, sélectionnez Web ACLs.

  2. Choisissez le nom du site Web pour ACL lequel vous souhaitez désactiver la journalisation. Cela ouvre une page contenant les détails ACL du Web dans le volet droit.

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

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

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

Le GUID du WebACL.

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 _ BASEDREGULAR, etGROUP.

action

L'action. Valeurs possibles pour une règle de terminaison : ALLOW etBLOCK. COUNTn'est pas une valeur valide pour une règle de terminaison.

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 etBLOCK. Ce champ n'est renseigné que pour les SQL instructions de règles d'injection et de correspondance entre les scripts intersites (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, le REST API for 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 toujoursBLOCK.

nonTerminatingMatchingRègles

Liste des règles dans le groupe de règles qui correspondent à la requête. Il s'agit toujours de COUNT règles (règles non limitatives qui correspondent).

action (groupe de nonTerminatingMatching règles)

C'est toujours le COUNT cas (règles non résilientes qui correspondent).

ruleId (Groupe de nonTerminatingMatching 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. C'est-à-dire des COUNT règles.

excludedRules

Liste des règles dans le groupe de règles que vous avez exclues. L'action associée à ces règles est définie surCOUNT.

exclusionType (excludedRules groupe)

Type qui indique que la règle exclue a une actionCOUNT.

ruleId (excludedRules groupe)

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 sont susceptibles de provenir 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

Le URI de la demande. 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

La HTTP version.

httpMethod

La HTTP méthode indiquée dans la demande.

requestId

ID de la demande.