AWS WAF règles - 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.

AWS WAF règles

Une AWS WAF règle définit comment inspecter les requêtes Web HTTP (S) et les mesures à prendre pour traiter une demande lorsqu'elle répond aux critères d'inspection. Vous définissez des règles uniquement dans le contexte d'un groupe de règles ou d'une ACL Web.

Les règles n'existent pas AWS WAF en elles-mêmes. Ce ne sont pas AWS des ressources et ils n'ont pas de noms de ressources Amazon (ARN). Vous pouvez accéder à une règle par son nom dans le groupe de règles ou l'ACL web où elle est définie. Vous pouvez gérer les règles et les copier vers d'autres ACL Web à l'aide de la vue JSON du groupe de règles ou de l'ACL Web qui contient la règle. Vous pouvez également les gérer via le générateur de règles de AWS WAF console, disponible pour les ACL Web et les groupes de règles.

Nom de la règle

Chaque règle nécessite un nom. Évitez les noms commençant par AWS et ceux utilisés pour les groupes de règles ou les règles gérées pour vous par d'autres services. veuillez consulter Groupes de règles fournis par d'autres services.

Note

Si vous modifiez le nom d'une règle et que vous souhaitez que le nom de la métrique de la règle reflète le changement, vous devez également mettre à jour le nom de la métrique. AWS WAF ne met pas automatiquement à jour le nom de la métrique d'une règle lorsque vous modifiez le nom de la règle. Vous pouvez modifier le nom de la métrique lorsque vous modifiez la règle dans la console, à l'aide de l'éditeur JSON de règles. Vous pouvez également modifier les deux noms via les API et dans toute liste JSON que vous utilisez pour définir votre ACL Web ou votre groupe de règles.

Déclaration de règle

Chaque règle nécessite également une déclaration de règle qui définit la manière dont la règle inspecte les requêtes Web. L'instruction de règle peut contenir d'autres instructions imbriquées à n'importe quelle profondeur, en fonction de la règle et du type d'instruction. Certains énoncés de règles utilisent des ensembles de critères. Par exemple, vous pouvez spécifier jusqu'à 10 000 adresses IP ou plages d'adresses IP pour une règle de correspondance des ensembles d'adresses IP.

Vous pouvez définir des règles qui vérifient les critères suivants :

  • Les scripts qui sont susceptibles d'être malveillants. Les pirates intègrent des scripts qui peuvent exploiter les vulnérabilités des applications web. Il s'agit de scripts inter-sites.

  • Les adresses IP ou les plages d'adresses IP d'où proviennent les requêtes.

  • Pays ou emplacement géographique d'où proviennent les demandes.

  • Longueur d'une partie spécifiée de la demande, telle que la chaîne de requête.

  • Le code SQL susceptible d'être malveillants. Les pirates essaient d'extraire les données de votre base de données en intégrant un code SQL malveillant dans une requête web. Cette opération s'appelle injection SQL.

  • Les chaînes qui apparaissent dans la requête, par exemple, les valeurs qui apparaissent dans l'en-tête User-Agent ou les chaînes de texte qui apparaissent dans la chaîne de requête. Vous pouvez également utiliser des expressions régulières (regex) pour spécifier ces chaînes.

  • Étiquettes que les règles précédentes de l'ACL Web ont ajoutées à la demande.

Outre les instructions comportant des critères d'inspection des requêtes Web, comme ceux de la liste précédente, prennent AWS WAF en charge les instructions logiques pour ANDOR, et NOT que vous pouvez utiliser pour combiner des instructions dans une règle.

Par exemple, sur la base des demandes récentes que vous avez reçues d'un attaquant, vous pouvez créer une règle avec une AND instruction logique qui combine les instructions imbriquées suivantes :

  • Les requêtes proviennent de 192.0.2.44.

  • Elles contiennent la valeur BadBot dans l'en-tête User-Agent.

  • Elles semblent inclure du code de type SQL dans la chaîne de requête.

Dans ce cas, la requête Web doit correspondre à toutes les instructions pour obtenir une correspondance pour le niveau supérieurAND.