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.
Cette section décrit les composants de la requête Web que vous pouvez spécifier pour inspection. Vous spécifiez le composant de demande pour les instructions de règle de correspondance qui recherchent des modèles dans la requête Web. Ces types d'instructions incluent les instructions de correspondance de chaîne, de correspondance régulière, de contrainte de taille et d'attaque par injection SQL. Pour plus d'informations sur l'utilisation de ces paramètres de composant de requête, consultez les instructions de règle individuelles à l'adresse Utilisation des instructions de règles de correspondance dans AWS WAF
Sauf indication contraire, si une requête Web ne possède pas le composant de demande spécifié dans l'instruction de règle, la demande est AWS WAF évaluée comme ne correspondant pas aux critères de la règle.
Note
Vous spécifiez un composant de demande unique pour chaque instruction de règle qui le requiert. Pour inspecter plusieurs composants d'une demande, créez une instruction de règle pour chacun d'eux.
La documentation de la AWS WAF console et de l'API fournit des conseils sur les paramètres des composants de demande aux emplacements suivants :
-
Générateur de règles sur la console : dans les paramètres de déclaration pour un type de règle normal, choisissez le composant que vous souhaitez inspecter dans la boîte de dialogue Inspecter sous Composants de demande.
-
Contenu de la déclaration d'API —
FieldToMatch
Le reste de cette section décrit les options relatives à la partie de la requête Web à inspecter.
Rubriques
Méthode HTTP
Inspecte la méthode HTTP pour la demande. La méthode HTTP indique le type d'opération que la requête Web demande à votre ressource protégée d'effectuer, telle que POST
ouGET
.
En-tête seul
Inspecte un seul en-tête nommé dans la demande.
Pour cette option, vous spécifiez le nom de l'en-tête, par exemple, User-Agent
ouReferer
. La chaîne correspondant au nom ne distingue pas les majuscules et minuscules.
Tous les en-têtes
Inspecte tous les en-têtes de demande, y compris les cookies. Vous pouvez appliquer un filtre pour inspecter un sous-ensemble de tous les en-têtes.
Pour cette option, vous devez fournir les spécifications suivantes :
-
Modèles de correspondance : filtre à utiliser pour obtenir un sous-ensemble d'en-têtes à inspecter. AWS WAF recherche ces modèles dans les touches d'en-tête.
Le paramètre des modèles de correspondance peut être l'un des suivants :
-
Toutes — Faites correspondre toutes les clés. Évaluez les critères d'inspection des règles pour tous les en-têtes.
-
En-têtes exclus : inspectez uniquement les en-têtes dont les clés ne correspondent à aucune des chaînes que vous spécifiez ici. La correspondance de chaîne pour une clé ne fait pas la distinction majuscules/minuscules.
-
En-têtes inclus : inspectez uniquement les en-têtes dont la clé correspond à l'une des chaînes que vous spécifiez ici. La correspondance de chaîne pour une clé ne fait pas la distinction majuscules/minuscules.
-
-
Champ d'application du match : parties des en-têtes qui AWS WAF doivent être inspectées selon les critères d'inspection des règles. Vous pouvez spécifier des clés, des valeurs ou tout pour vérifier si les clés et les valeurs correspondent.
Tout ne nécessite pas qu'une correspondance soit trouvée dans les clés et qu'une correspondance soit trouvée dans les valeurs. Cela nécessite qu'une correspondance soit trouvée dans les clés ou les valeurs, ou dans les deux. Pour exiger une correspondance entre les clés et les valeurs, utilisez une
AND
instruction logique pour combiner deux règles de correspondance, l'une inspectant les clés et l'autre les valeurs. -
Gestion des données surdimensionnées — AWS WAF Comment gérer les demandes dont les données d'en-tête sont supérieures à ce que AWS WAF vous pouvez inspecter ? AWS WAF peut inspecter au maximum les 8 premiers Ko (8 192 octets) des en-têtes de requête et au plus les 200 premiers en-têtes. Le contenu peut être consulté AWS WAF jusqu'à la première limite atteinte. Vous pouvez choisir de poursuivre l'inspection ou de sauter l'inspection et de marquer la demande comme correspondant ou non à la règle. Pour plus d'informations sur la gestion du contenu surdimensionné, consultezComposants de requête Web surdimensionnés dans AWS WAF.
Ordre des en-têtes
Inspectez une chaîne contenant la liste des noms d'en-tête de la demande, classés tels qu'ils apparaissent dans la demande Web qui est AWS WAF reçue pour inspection. AWS WAF
génère la chaîne, puis l'utilise comme champ pour faire correspondre le composant lors de son inspection. AWS WAF sépare les noms des en-têtes dans la chaîne par des deux-points et sans espaces ajoutés, par exemplehost:user-agent:accept:authorization:referer
.
Pour cette option, vous devez fournir les spécifications suivantes :
-
Gestion des données surdimensionnées — Comment AWS WAF gérer les demandes dont les données d'en-tête sont plus nombreuses ou plus volumineuses que celles que l' AWS WAF on peut inspecter ? AWS WAF peut inspecter au maximum les 8 premiers Ko (8 192 octets) des en-têtes de requête et au plus les 200 premiers en-têtes. Le contenu peut être consulté AWS WAF jusqu'à la première limite atteinte. Vous pouvez choisir de continuer à inspecter les en-têtes disponibles ou d'ignorer l'inspection et de marquer la demande comme correspondant ou non à la règle. Pour plus d'informations sur la gestion du contenu surdimensionné, consultezComposants de requête Web surdimensionnés dans AWS WAF.
Cookies
Inspecte tous les cookies de demande. Vous pouvez appliquer un filtre pour inspecter un sous-ensemble de tous les cookies.
Pour cette option, vous devez fournir les spécifications suivantes :
-
Modèles de correspondance : filtre à utiliser pour obtenir un sous-ensemble de cookies à inspecter. AWS WAF recherche ces modèles dans les clés des cookies.
Le paramètre des modèles de correspondance peut être l'un des suivants :
-
Toutes — Faites correspondre toutes les clés. Évaluez les critères d'inspection des règles pour tous les cookies.
-
Cookies exclus : inspectez uniquement les cookies dont les clés ne correspondent à aucune des chaînes que vous spécifiez ici. La correspondance de chaîne pour une clé distingue les majuscules et minuscules et doit être exacte.
-
Cookies inclus : inspectez uniquement les cookies dont la clé correspond à l'une des chaînes que vous spécifiez ici. La correspondance de chaîne pour une clé distingue les majuscules et minuscules et doit être exacte.
-
-
Champ d'application du match : parties des cookies qui AWS WAF doivent être inspectées selon les critères d'inspection des règles. Vous pouvez spécifier des clés, des valeurs ou tout pour les clés et les valeurs.
Tout ne nécessite pas qu'une correspondance soit trouvée dans les clés et qu'une correspondance soit trouvée dans les valeurs. Cela nécessite qu'une correspondance soit trouvée dans les clés ou les valeurs, ou dans les deux. Pour exiger une correspondance entre les clés et les valeurs, utilisez une
AND
instruction logique pour combiner deux règles de correspondance, l'une inspectant les clés et l'autre les valeurs. -
Gestion des données surdimensionnées — Comment AWS WAF gérer les demandes contenant des données de cookies d'une taille supérieure à ce que AWS WAF vous pouvez inspecter ? AWS WAF peut inspecter au maximum les 8 premiers Ko (8 192 octets) des cookies de demande et au plus les 200 premiers cookies. Le contenu peut être consulté AWS WAF jusqu'à la première limite atteinte. Vous pouvez choisir de poursuivre l'inspection ou de sauter l'inspection et de marquer la demande comme correspondant ou non à la règle. Pour plus d'informations sur la gestion du contenu surdimensionné, consultezComposants de requête Web surdimensionnés dans AWS WAF.
chemin de l'URI
Inspecte la partie d'une URL qui identifie une ressource, par exemple,/images/daily-ad.jpg
. Pour plus d'informations, voir Uniform Resource Identifier (URI) : syntaxe générique
Si vous n'utilisez pas de transformation de texte avec cette option, elle AWS WAF ne normalise pas l'URI et ne l'inspecte pas exactement telle qu'elle est reçue du client dans la demande. Pour plus d'informations sur les transformations de texte, consultezUtilisation de transformations de texte dans AWS WAF.
JA3 empreinte digitale
Inspecte l' JA3 empreinte digitale de la demande.
Note
JA3 l'inspection des empreintes digitales n'est disponible que pour les CloudFront distributions Amazon et les équilibreurs de charge d'application.
L' JA3 empreinte digitale est un hachage de 32 caractères dérivé du client TLS Hello d'une demande entrante. Cette empreinte sert d'identifiant unique pour la configuration TLS du client. AWS WAF calcule et enregistre cette empreinte pour chaque demande contenant suffisamment d'informations TLS Client Hello pour le calcul. Presque toutes les demandes sur le Web incluent ces informations.
Comment obtenir l' JA3 empreinte digitale d'un client
Vous pouvez obtenir l' JA3 empreinte digitale des demandes d'un client à partir des journaux ACL Web. S'il AWS WAF est capable de calculer l'empreinte digitale, il l'inclut dans les journaux. Pour plus d'informations sur les champs de journalisation, consultezChamps de journal pour le trafic ACL Web.
Exigences relatives à l'énoncé des règles
Vous ne pouvez inspecter l' JA3 empreinte digitale que dans une instruction de correspondance de chaîne définie pour correspondre exactement à la chaîne que vous fournissez. Fournissez la chaîne JA3 d'empreinte issue des journaux dans votre spécification d'instruction de correspondance de chaîne, afin qu'elle corresponde à toute future demande ayant la même configuration TLS. Pour plus d'informations sur l'instruction de correspondance des chaînes, consultezInstruction de correspondance de chaîne de règle.
Vous devez fournir un comportement de remplacement pour cette déclaration de règle. Le comportement de remplacement est le statut de correspondance que vous souhaitez attribuer AWS WAF à la requête Web si AWS WAF vous ne parvenez pas à calculer l' JA3 empreinte digitale. Si vous choisissez de faire correspondre, AWS WAF traite la demande comme correspondant à l'instruction de règle et applique l'action de règle à la demande. Si vous choisissez de ne pas correspondre, AWS WAF traite la demande comme ne correspondant pas à l'instruction de règle.
Pour utiliser cette option de correspondance, vous devez enregistrer votre trafic ACL Web. Pour plus d’informations, veuillez consulter Journalisation AWS WAF du trafic ACL Web.
JA4 empreinte digitale
Inspecte l' JA4 empreinte digitale de la demande.
Note
JA4 l'inspection des empreintes digitales n'est disponible que pour les CloudFront distributions Amazon et les équilibreurs de charge d'application.
L' JA4 empreinte digitale est un hachage de 36 caractères dérivé du client TLS Hello d'une demande entrante. Cette empreinte sert d'identifiant unique pour la configuration TLS du client. JA4 l'empreinte digitale est une extension de l' JA3 empreinte digitale qui peut réduire le nombre d'empreintes uniques pour certains navigateurs. AWS WAF calcule et enregistre cette empreinte pour chaque demande contenant suffisamment d'informations TLS Client Hello pour le calcul. Presque toutes les demandes sur le Web incluent ces informations.
Comment obtenir l' JA4 empreinte digitale d'un client
Vous pouvez obtenir l' JA4 empreinte digitale des demandes d'un client à partir des journaux ACL Web. S'il AWS WAF est capable de calculer l'empreinte digitale, il l'inclut dans les journaux. Pour plus d'informations sur les champs de journalisation, consultezChamps de journal pour le trafic ACL Web.
Exigences relatives à l'énoncé des règles
Vous ne pouvez inspecter l' JA4 empreinte digitale que dans une instruction de correspondance de chaîne définie pour correspondre exactement à la chaîne que vous fournissez. Fournissez la chaîne JA4 d'empreinte issue des journaux dans votre spécification d'instruction de correspondance de chaîne, afin qu'elle corresponde à toute future demande ayant la même configuration TLS. Pour plus d'informations sur l'instruction de correspondance des chaînes, consultezInstruction de correspondance de chaîne de règle.
Vous devez fournir un comportement de remplacement pour cette déclaration de règle. Le comportement de remplacement est le statut de correspondance que vous souhaitez attribuer AWS WAF à la requête Web si AWS WAF vous ne parvenez pas à calculer l' JA4 empreinte digitale. Si vous choisissez de faire correspondre, AWS WAF traite la demande comme correspondant à l'instruction de règle et applique l'action de règle à la demande. Si vous choisissez de ne pas correspondre, AWS WAF traite la demande comme ne correspondant pas à l'instruction de règle.
Pour utiliser cette option de correspondance, vous devez enregistrer votre trafic ACL Web. Pour plus d’informations, veuillez consulter Journalisation AWS WAF du trafic ACL Web.
Chaîne de requête
Inspecte la partie de l'URL qui apparaît après un ?
caractère, le cas échéant.
Note
Pour les instructions de correspondance entre scripts intersites, nous vous recommandons de choisir Tous les paramètres de requête au lieu de Chaîne de requête. La sélection de tous les paramètres de requête ajoute 10 % WCUs au coût de base.
Paramètre de requête unique
Inspecte un seul paramètre de requête que vous avez défini dans le cadre de la chaîne de requête. AWS WAF inspecte la valeur du paramètre que vous spécifiez.
Pour cette option, vous devez également spécifier un argument de requête. Par exemple, si l'URL estwww.xyz.com?UserName=abc&SalesRegion=seattle
, vous pouvez spécifier UserName
ou SalesRegion
pour l'argument de requête. La longueur maximale du nom de l'argument est de 30 caractères. Le nom ne distingue pas les majuscules et minuscules. Ainsi, si vous le spécifiezUserName
, il AWS WAF correspond à toutes les variantes deUserName
, y compris username
etUsERName
.
Si la chaîne de requête contient plusieurs instances de l'argument de requête que vous avez spécifié, AWS WAF inspecte toutes les valeurs pour détecter une correspondance, en utilisant OR logique. Par exemple, dans l'URL www.xyz.com?SalesRegion=boston&SalesRegion=seattle
, AWS WAF évalue le nom que vous avez spécifié par rapport à boston
et seattle
. Si l'un ou l'autre est une correspondance, l'inspection est une correspondance.
Tous les paramètres de requête
Inspecte tous les paramètres de requête contenus dans la demande. Cela est similaire au choix d'un composant de requête unique, mais AWS WAF inspecte les valeurs de tous les arguments de la chaîne de requête. Par exemple, si l'URL est www.xyz.com?UserName=abc&SalesRegion=seattle
, AWS WAF
déclenche une correspondance si la valeur de UserName
ou SalesRegion
correspond aux critères d'inspection.
Le choix de cette option ajoute 10 WCUs $ au coût de base.
Corps de texte
Inspecte le corps de la demande, évalué sous forme de texte brut. Vous pouvez également évaluer le corps au format JSON à l'aide du JSON type de contenu.
Le corps de la demande est la partie de la demande qui suit immédiatement les en-têtes de la demande. Il contient toutes les données supplémentaires nécessaires à la requête Web, par exemple les données d'un formulaire.
-
Dans la console, sélectionnez cette option dans le corps de l'option de demande, en sélectionnant le type de contenu Texte brut.
-
Dans l'API, dans la
FieldToMatch
spécification de la règle, vous spécifiezBody
d'inspecter le corps de la demande sous forme de texte brut.
Pour Application Load Balancer et AWS AppSync, AWS WAF peut inspecter les 8 premiers Ko du corps d'une requête. Par défaut CloudFront, API Gateway, Amazon Cognito, App Runner et Verified Access AWS WAF peuvent inspecter les 16 premiers Ko, et vous pouvez augmenter la limite jusqu'à 64 Ko dans votre configuration ACL Web. Pour de plus amples informations, veuillez consulter Gestion des limites de taille des organismes inspectés pour AWS WAF.
Vous devez spécifier la gestion des surdimensionnements pour ce type de composant. La gestion des données surdimensionnées définit le AWS WAF mode de traitement des demandes dont les données corporelles sont trop volumineuses pour AWS WAF être inspectées. Vous pouvez choisir de poursuivre l'inspection ou de sauter l'inspection et de marquer la demande comme correspondant ou non à la règle. Pour plus d'informations sur la gestion du contenu surdimensionné, consultezComposants de requête Web surdimensionnés dans AWS WAF.
Vous pouvez également évaluer le corps sous forme de JSON analysé. Pour plus d'informations à ce sujet, consultez la section suivante.
corps JSON
Inspecte le corps de la demande, évalué au format JSON. Vous pouvez également évaluer le corps sous forme de texte brut.
Le corps de la demande est la partie de la demande qui suit immédiatement les en-têtes de la demande. Il contient toutes les données supplémentaires nécessaires à la requête Web, par exemple les données d'un formulaire.
-
Dans la console, vous pouvez le sélectionner dans le choix de l'option de demande Body, en sélectionnant le choix du type de contenu JSON.
-
Dans l'API, dans la
FieldToMatch
spécification de la règle, vous spécifiezJsonBody
.
Pour Application Load Balancer et AWS AppSync, AWS WAF peut inspecter les 8 premiers Ko du corps d'une requête. Par défaut CloudFront, API Gateway, Amazon Cognito, App Runner et Verified Access AWS WAF peuvent inspecter les 16 premiers Ko, et vous pouvez augmenter la limite jusqu'à 64 Ko dans votre configuration ACL Web. Pour de plus amples informations, veuillez consulter Gestion des limites de taille des organismes inspectés pour AWS WAF.
Vous devez spécifier la gestion des surdimensionnements pour ce type de composant. La gestion des données surdimensionnées définit le AWS WAF mode de traitement des demandes dont les données corporelles sont trop volumineuses pour AWS WAF être inspectées. Vous pouvez choisir de poursuivre l'inspection ou de sauter l'inspection et de marquer la demande comme correspondant ou non à la règle. Pour plus d'informations sur la gestion du contenu surdimensionné, consultezComposants de requête Web surdimensionnés dans AWS WAF.
Le choix de cette option double le coût de base du relevé de match WCUs. Par exemple, si le coût de base de l'instruction match est de 5 WCUs sans analyse JSON, l'utilisation de l'analyse JSON double le coût à 10. WCUs
Pour cette option, vous devez fournir des spécifications supplémentaires, comme décrit dans la section suivante.
Comment AWS WAF gère l'inspection du corps JSON
Lorsqu'il AWS WAF inspecte le corps de la requête Web au format JSON, il exécute des étapes pour analyser le corps et extraire les éléments JSON à des fins d'inspection. AWS WAF exécute ces étapes conformément à vos choix de configuration.
La liste suivante répertorie les étapes qui s' AWS WAF exécutent.
-
Analyse le contenu du corps : AWS WAF analyse le contenu du corps de la requête Web afin d'extraire les éléments JSON à des fins d'inspection. AWS WAF fait de son mieux pour analyser l'intégralité du contenu du corps, mais l'analyse peut échouer en raison de divers états d'erreur dans le contenu. Les exemples incluent les caractères non valides, les clés dupliquées, la troncature et le contenu dont le nœud racine n'est ni un objet ni un tableau.
L'option Body parsing fallback behavior détermine ce qui se passe si elle AWS WAF ne parvient pas à analyser complètement le corps JSON :
-
Aucun (comportement par défaut) : AWS WAF évalue le contenu uniquement jusqu'au point où il a rencontré une erreur d'analyse.
-
Evaluer en tant que chaîne - Inspectez le corps en tant que texte brut. AWS WAF applique les transformations de texte et les critères d'inspection que vous avez définis pour l'inspection JSON à la chaîne du corps du texte.
-
Match : traitez la requête Web comme correspondant à l'instruction de règle. AWS WAF applique l'action de règle à la demande.
-
Aucune correspondance : considérez la requête Web comme ne correspondant pas à l'instruction de règle.
Note
Ce comportement de secours ne se déclenche qu'en cas d' AWS WAF erreur lors de l'analyse de la chaîne JSON.
L'analyse ne valide pas complètement le JSON
AWS WAF l'analyse ne valide pas complètement la chaîne JSON d'entrée, de sorte que l'analyse peut réussir même pour un JSON non valide.
Par exemple, AWS WAF analyse le code JSON non valide suivant sans erreur :
-
Virgule manquante :
{"key1":"value1""key2":"value2"}
-
Deux-points manquant :
{"key1":"value1","key2""value2"}
-
Deux-points supplémentaire :
{"key1"::"value1","key2""value2"}
Dans de tels cas où l'analyse réussit mais où le résultat n'est pas un JSON complètement valide, le résultat des étapes suivantes de l'évaluation peut varier. L'extraction peut omettre certains éléments ou l'évaluation des règles peut avoir des résultats inattendus. Nous vous recommandons de valider le JSON que vous recevez dans votre application et de traiter le JSON non valide selon les besoins.
-
-
Extraire les éléments JSON : AWS WAF identifie le sous-ensemble d'éléments JSON à inspecter en fonction de vos paramètres :
-
L'option JSON match scope spécifie les types d'éléments du JSON qui AWS WAF doivent être inspectés.
Vous pouvez spécifier des clés, des valeurs ou tout pour les clés et les valeurs.
Tout ne nécessite pas qu'une correspondance soit trouvée dans les clés et qu'une correspondance soit trouvée dans les valeurs. Cela nécessite qu'une correspondance soit trouvée dans les clés ou les valeurs, ou dans les deux. Pour exiger une correspondance entre les clés et les valeurs, utilisez une
AND
instruction logique pour combiner deux règles de correspondance, l'une inspectant les clés et l'autre les valeurs. -
L'option Contenu à inspecter indique comment filtrer l'ensemble d'éléments en fonction du sous-ensemble que vous AWS WAF souhaitez inspecter.
Vous devez spécifier l'une des options suivantes :
-
Contenu JSON complet : évaluez tous les éléments.
-
Éléments inclus uniquement : évaluez uniquement les éléments dont les chemins correspondent aux critères de pointeur JSON que vous fournissez. N'utilisez pas cette option pour indiquer tous les chemins dans le JSON. Utilisez plutôt le contenu JSON complet.
Pour plus d'informations sur la syntaxe du pointeur JSON, consultez la documentation du pointeur JSON (JavaScript Object Notation) de l'Internet Engineering Task Force (IETF)
. Par exemple, dans la console, vous pouvez fournir les informations suivantes :
/dogs/0/name /dogs/1/name
Dans l'API ou la CLI, vous pouvez fournir les éléments suivants :
"IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]
-
Supposons, par exemple, que le paramètre Contenu à inspecter soit Uniquement les éléments inclus et que le paramètre Éléments inclus soit défini comme tel
/a/b
.Pour l'exemple de corps JSON suivant :
{ "a":{ "c":"d", "b":{ "e":{ "f":"g" } } } }
Les ensembles d'éléments qui AWS WAF vérifieraient chaque paramètre de portée de correspondance JSON sont répertoriés ci-dessous. Notez que la clé
b
, qui fait partie du chemin des éléments inclus, n'est pas évaluée.-
Tous :
e
,f,
etg
. -
Clés :
e
etf
. -
Valeurs :
g
.
-
-
Inspectez le jeu d'éléments JSON : AWS WAF applique les transformations de texte que vous avez spécifiées aux éléments JSON extraits, puis compare l'ensemble d'éléments obtenu aux critères de correspondance de l'instruction de règle. Il s'agit du même comportement de transformation et d'évaluation que pour les autres composants de requête Web. Si l'un des éléments JSON extraits correspond, la requête Web correspond à la règle.