Je souhaite gérer les limites de taille lorsque j'inspecte le corps de requête Web dans AWS WAF.
Brève description
Lorsque le corps d'une requête Web dépasse la limite de taille d'inspection de corps, le service hôte sous-jacent ne transmet que le contenu qui se situe dans cette limite à AWS WAF. AWS WAF ne détecte pas les attaques par scripts inter-site (XSS) ou les modèles d'injection SQL dans le corps de requête Web au-delà de la limite autorisée.
Remarque : AWS WAF ne journalise pas le contenu du corps de requête Web, qu'il trouve ou non un modèle d'attaque dans la limite de la taille d'inspection de corps.
Pour vous protéger contre les modèles d'attaque qui n'apparaissent pas dans la limite de la taille d'inspection de corps pour les requêtes surdimensionnées, configurez une règle qui bloque toutes les requêtes surdimensionnées. Puis, créez une règle qui autorise explicitement les requêtes surdimensionnées légitimes. Vous pouvez créer une règle personnalisée ou utiliser le groupe de règles gérées par l'ensemble de règles de base (CRS).
Résolution
Utiliser une règle gérée par le CRS
Pour utiliser le groupe de règles gérées par le CRS, activez la règle SizeRestrictions_Body pour bloquer les requêtes dépassant 8 Ko (8 192 octets). Puis, créez une règle qui autorise les requêtes légitimes dépassant la limite de taille.
Activer la règle SizeRestrictions_Body
Procédez comme suit :
- Ouvrez la console AWS WAF.
- Dans le volet de navigation, sous AWS WAF, sélectionnez Liste ACL Web.
- Dans Région, sélectionnez la région AWS dans laquelle vous avez créé votre liste de contrôle d'accès Web (liste ACL Web).
Remarque : Si vous avez configuré votre ACL Web pour Amazon CloudFront, sélectionnez Global.
- Sélectionnez votre liste ACL Web.
- Sous Règles, sélectionnez Ajouter des règles.
- Dans la liste déroulante, sélectionnez Ajouter des groupes de règles gérées.
- Sous Ajouter des groupes de règles gérées, choisissez Groupes de règles gérés par AWS.
- Sous Groupes de règles libres, choisissez Ensemble de règles de base.
- Activez Ajouter à l'ACL Web, puis sélectionnez Modifier.
- Pour inspecter et bloquer les corps de requêtes Web dépassant 8 Ko, définissez la règle SizeRestrictions_BODY sur Bloquer.
- Choisissez Enregistrer la règle.
Pour réduire le nombre de faux positifs, utilisez uniquement la règle SizeRestrictions_Body et remplacez toutes les autres règles par Nombre.
Créer une règle qui autorise les requêtes légitimes
La règle SizeRestrictions_Body peut bloquer les requêtes légitimes dépassant 8 Ko. Pour autoriser les requêtes légitimes dépassant la limite de taille, définissez la règle SizeRestrictions_BODY sur Nombre. Puis, utilisez les étiquettes ajoutées par AWS WAF pour une évaluation ultérieure des règles.
Procédez comme suit :
- Ouvrez la console AWS WAF.
- Dans le volet de navigation, sous AWS WAF, sélectionnez Liste ACL Web.
- Dans Région, sélectionnez la région AWS dans laquelle vous avez créé votre liste ACL Web.
Remarque : Si vous avez configuré votre ACL Web pour CloudFront, sélectionnez Global.
- Sélectionnez votre liste ACL Web.
- Sous Règles, sélectionnez AWS-AWSManagedRulesCommonRuleSet.
- Sélectionnez Modifier.
- Pour la règle SizeRestrictions_BODY, sélectionnez Remplacer par Nombre.
- Choisissez Enregistrer la règle.
- Sous Règles, sélectionnez Ajouter des règles, puis sélectionnez Ajouter mes propres règles et groupes de règles.
- Dans Nom, entrez un nom de règle, puis choisissez Règle régulière.
- Dans S’il s’agit d’une requête, sélectionnez correspond à toutes les instructions (ET).
- Dans Instruction 1, entrez les informations suivantes :
Dans Inspecter, choisissez Inclut une étiquette.
Dans Portée de correspondance, sélectionnez Étiquette.
Dans Clé de correspondance, entrez l’étiquette awswaf:managed:aws:core-rule-set:SizeRestrictions_Body.
- Dans Instruction 2, entrez les informations suivantes :
Choisissez Passer les résultats de l’instruction en nombre négatif.
Dans Inspecter, sélectionnez Chemin URI.
Dans Type de correspondance, choisissez ** Correspond exactement à la chaîne**.
Dans Chaîne à faire correspondre, saisissez /upload.
Remarque : Remplacez /upload par le chemin URI où vous soumettez des requêtes.
- (Facultatif) Dans Transformation de texte, choisissez une transformation de texte ou sélectionnez Aucune.
- Dans Action, choisissez Bloquer.
- Sélectionnez Ajouter une règle.
- Dans Définir la priorité de la règle, mettez à jour la priorité de manière que la règle soit secondaire au groupe de règles gérées par le CRS. La règle SizeRestrictions_Body du CRS peut maintenant ajouter une étiquette, et AWS WAF peut utiliser cette dernière dans les règles suivantes.
- Choisissez Enregistrer la règle.
Remarque : Il est recommandé de tester les règles dans un environnement hors production en définissant le paramètre Action sur Nombre. Pour évaluer la règle, utilisez les métriques Amazon CloudWatch avec les échantillons de requêtes AWS WAF ou les journaux AWS WAF.
Créer une règle d'inspection de corps personnalisée
Configurer l'action de traitement des requêtes surdimensionnées pour la règle
Lorsque vous configurez une règle d'inspection de corps personnalisée, vous pouvez choisir l'action de traitement des requêtes surdimensionnées. La gestion des surtailles indique à AWS WAF les actions à effectuer pour une requête Web lorsque le corps de requête dépasse la limite de taille. Les options permettant de gérer les composants surdimensionnés sont Continuer, Correspondance et Aucune correspondance. Sur la console AWS WAF, vous devez choisir l'une de ces options. En dehors de la console, l'option par défaut est définie sur Continuer. Pour bloquer les requêtes surdimensionnées, créez une règle personnalisée qui utilise l'action de traitement des requêtes surdimensionnées.
Créer une règle qui autorise les requêtes légitimes
Pour autoriser les requêtes légitimes dépassant la limite de taille, créez une règle qui autorise explicitement les requêtes provenant d'hôtes légitimes. Puis, mettez à jour la priorité de la règle afin qu'elle soit supérieure à la priorité de la règle qui bloque la requête.
Informations connexes
Pourquoi AWS WAF bloque-t-il ma requête de chargement légitime ?