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.
Comment fonctionne AWS WAF Classic
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.
Vous utilisez AWS WAF Classic pour contrôler la façon dont API Gateway, Amazon CloudFront ou un Application Load Balancer répondent aux requêtes Web. Vous commencez par créer des conditions, des règles et des listes de contrôle d'accès Web (WebACLs). Vous définissez vos conditions, vous les combinez en règles et vous combinez les règles dans un site WebACL.
Note
Vous pouvez également utiliser AWS WAF Classic pour protéger vos applications hébergées dans des conteneurs Amazon Elastic Container Service (AmazonECS). Amazon ECS est un service de gestion de conteneurs rapide et hautement évolutif qui facilite l'exécution, l'arrêt et la gestion des conteneurs Docker sur un cluster. Pour utiliser cette option, vous configurez Amazon de manière ECS à utiliser un Application Load Balancer compatible avec AWS WAF Classic afin d'acheminer et de protéger le traficHTTP/HTTPS(couche 7) entre les tâches de votre service. Pour plus d'informations, consultez la rubrique Service Load Balancing dans le manuel Amazon Elastic Container Service Developer Guide.
- Conditions
-
Les conditions définissent les caractéristiques de base que vous souhaitez que AWS WAF Classic surveille dans les requêtes Web :
-
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.
-
La longueur des parties spécifiées de la requête, telles que la chaîne de requête.
-
SQLcode susceptible d'être malveillant. Les attaquants tentent d'extraire des données de votre base de données en incorporant SQL du code malveillant dans une requête Web. C'est ce que l'on appelle SQLl'injection.
-
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.
Certaines conditions prennent plusieurs valeurs. Par exemple, vous pouvez spécifier jusqu'à 10 000 adresses IP ou plages d'adresses IP dans une condition IP.
-
- Règles
-
Vous combinez les conditions dans des règles pour cibler précisément les demandes que vous souhaitez autoriser, bloquer ou compter. AWS WAF Classic propose deux types de règles :
- Règle régulière
-
Les règles régulières utilisent uniquement des conditions pour cibler des requêtes spécifiques. Par exemple, en fonction des requêtes récentes que vous avez vu d'un pirate, vous pouvez créer une règle qui inclut les conditions suivantes :
-
Les requêtes proviennent de 192.0.2.44.
-
Elles contiennent la valeur
BadBot
dans l'en-têteUser-Agent
. -
Ils semblent inclure SQL un code similaire dans la chaîne de requête.
Lorsqu'une règle inclut plusieurs conditions, comme dans cet exemple, AWS WAF Classic recherche les demandes qui répondent à toutes les conditions, c'est-à-dire qu'il s'agit
AND
des conditions réunies.Ajoutez au moins une condition à une règle régulière. Une règle régulière sans condition ne peut correspondre à aucune demande. L'action de la règle (autorisation, décompte ou blocage) n'est donc jamais déclenchée.
-
- Règle basée sur un débit
-
Les règles basées sur le débit sont similaires aux règles régulières avec en plus une limite de débit. Une règle basée sur le débit compte les demandes provenant d'adresses IP qui satisfont les conditions de la règle. Si les demandes provenant d'une adresse IP dépassent la limite de débit au cours d'une période de cinq minutes, la règle peut déclencher une action. Cela peut prendre une minute ou deux pour que l'action se déclenche.
Les conditions sont facultatives pour les règles basées sur le débit. Si vous n'ajoutez aucune condition dans une règle basée sur le débit, la limite de débit s'applique à toutes les adresses IP. Si vous combinez des conditions avec la limite de débit, cette dernière s'applique aux adresses IP qui correspondent aux conditions.
Par exemple, en fonction des requêtes récentes que vous avez vu d'un pirate, vous pouvez créer une règle basée sur un débit qui inclut les conditions suivantes :
-
Les requêtes proviennent de 192.0.2.44.
-
Elles contiennent la valeur
BadBot
dans l'en-têteUser-Agent
.
Dans cette règle basée sur un débit, vous pouvez également définir une limite de débit. Dans cet exemple, supposons que vous créiez la limite de débit 1000. Les demandes qui répondent aux deux conditions précédentes et dépassent 1 000 demandes par cinq minutes déclenchent l'action de la règle (blocage ou nombre), qui est définie sur le WebACL.
Les demandes qui ne répondent pas aux deux conditions ne sont pas comptabilisées dans la limite de débit et ne sont pas affectées par cette règle.
Comme deuxième exemple, supposons que vous souhaitiez limiter les requêtes vers une page particulière sur votre site Web. Pour ce faire, vous pouvez ajouter la condition de correspondance de chaîne suivante à une règle basée sur un débit :
-
La Part of the request to filter on est
URI
. -
Le Match Type (Type de correspondance) est
Starts with
. -
Une Value to match est
login
.
De plus, vous spécifiez 1000 comme
RateLimit
.En ajoutant cette règle basée sur le taux à un site WebACL, vous pouvez limiter les demandes adressées à votre page de connexion sans affecter le reste de votre site.
-
- Web ACLs
-
Une fois que vous avez combiné vos conditions en règles, vous combinez les règles dans un site WebACL. C'est ici que vous définissez une action pour chaque règle (autoriser, bloquer ou compter), ainsi qu'une action par défaut :
- Une action pour chaque règle
-
Lorsqu'une requête Web répond à toutes les conditions d'une règle, AWS WAF Classic peut soit bloquer la demande, soit autoriser son transfert API vers la passerelleAPI, la CloudFront distribution ou un Application Load Balancer. Vous spécifiez l'action que AWS WAF Classic doit exécuter pour chaque règle.
AWS WAF Classic compare une demande aux règles d'un site Web ACL dans l'ordre dans lequel vous les avez listées. AWS WAF Classic exécute ensuite l'action associée à la première règle à laquelle la demande correspond. Par exemple, si une requête Web correspond à une règle autorisant les demandes et à une autre règle bloquant les demandes, AWS WAF Classic autorisera ou bloquera la demande en fonction de la règle répertoriée en premier.
Si vous souhaitez tester une nouvelle règle avant de commencer à l'utiliser, vous pouvez également configurer AWS WAF Classic pour compter les demandes répondant à toutes les conditions de la règle. Comme pour les règles qui autorisent ou bloquent les demandes, une règle qui compte les demandes est affectée par sa position dans la liste des règles sur le WebACL. Par exemple, si une requête web correspond à une règle qui autorise les requêtes et à une autre règle qui compte les requêtes, et si la règle qui autorise les requêtes apparaît en premier, la requête n'est pas comptée.
- Action par défaut
-
L'action par défaut détermine si AWS WAF Classic autorise ou bloque une demande qui ne répond pas à toutes les conditions des règles du WebACL. Supposons, par exemple, que vous créiez un site Web ACL et que vous ajoutiez uniquement la règle que vous avez définie précédemment :
-
Les requêtes proviennent de 192.0.2.44.
-
Elles contiennent la valeur
BadBot
dans l'en-têteUser-Agent
. -
Ils semblent inclure SQL du code malveillant dans la chaîne de requête.
Si une demande ne répond pas aux trois conditions de la règle et si l'action par défaut est la
ALLOW
suivante, AWS WAF Classic transmet la demande à API Gateway CloudFront ou à un Application Load Balancer, et le service répond avec l'objet demandé.Si vous ajoutez deux règles ou plus à un site WebACL, AWS WAF Classic exécute l'action par défaut uniquement si une demande ne répond à toutes les conditions d'aucune des règles. Par exemple, supposons que vous ajoutez une deuxième règle qui contient une condition :
-
Requêtes qui contiennent la valeur
BIGBadBot
dans l'en-têteUser-Agent
.
AWS WAF Classic exécute l'action par défaut uniquement lorsqu'une demande ne répond pas aux trois conditions de la première règle et ne répond pas à l'une des conditions de la seconde règle.
-
Dans certains cas, une erreur interne AWS WAF peut retarder la réponse à Amazon API Gateway, Amazon CloudFront ou à un Application Load Balancer concernant l'autorisation ou le blocage d'une demande. Dans ces cas, CloudFront ils autorisent généralement la demande ou diffusent le contenu. APIUne passerelle et un Application Load Balancer rejettent généralement la demande et ne diffusent pas le contenu.