Comment utiliser AWS WAF pour bloquer les requêtes HTTP qui ne contiennent pas d'en-tête User-Agent ?

Dernière mise à jour : 27/07/2022

Je veux restreindre les requêtes HTTP qui ne contiennent pas un User-Agent spécifique ou qui contiennent une valeur d'en-tête User-Agent spécifique dans la requête.

Brève description

Par défaut, les filtres AWS WAF ne vérifient pas si les paramètres de la requête HTTP sont présents ou non. Pour vérifier si les paramètres de la requête HTTP sont présents ou non, procédez comme suit :

Bloquez les requêtes qui ne contiennent pas d'en-tête User-Agent à l'aide des règles gérées par AWS.

-ou-

Bloquez les requêtes qui ne contiennent pas d'en-tête User-Agent ou bloquez le trafic si les requêtes contiennent un User-Agent spécifique à l'aide de règles personnalisées.

Solution

Blocage des requêtes qui ne contiennent pas d'en-tête User-Agent à l'aide des règles gérées par AWS

Utilisez les règles gérées par AWS pour AWS WAF pour bloquer les requêtes HTTP qui ne contiennent pas d'en-tête User-Agent sans avoir à écrire vos propres règles.

Remarque : les règles gérées peuvent faire l'objet de modifications de version et d'expiration. Pour plus d'informations, consultez Bonnes pratiques pour la gestion des versions de groupes de règles gérées.

Les règles suivantes inspectent les requêtes auxquelles il manque l'en-tête HTTP User-Agent et les chaînes User-Agent qui ne semblent pas provenir d'un navigateur Web :

NoUserAgent_HEADER
Cette règle fait partie du groupe de règles gérées par l'ensemble de règles de base (CRS). Cette règle inspecte les requêtes auxquelles il manque l'en-tête HTTP User-Agent.

SignalNonBrowserUserAgent
Cette règle fait partie du groupe de règles AWS WAF Bot Control. Cette règle inspecte les chaînes User-Agent qui ne semblent pas provenir d'un navigateur Web, y compris les requêtes sans User-Agent.

Pour ajouter un groupe de règles gérées par AWS à votre liste ACL Web

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez Web ACLs (ACL web).
  3. Pour Region (Région), choisissez la région AWS dans laquelle vous avez créé votre liste ACL web.
    Remarque : sélectionnez Global si votre liste ACL web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste ACL web.
  5. Choisissez Règles, puis Ajouter une règle. Sélectionnez Ajouter des groupes de règles gérés dans la liste déroulante.
  6. Développez la section Groupes de règles gérés par AWS.
  7. Localisez le groupe de règles et activez Add to web ACL (Ajouter à la liste ACL Web).
    Par exemple, vous pouvez activer l'option Add to web ACL (Ajouter à la liste ACL Web) pour l'ensemble de règles Core qui contient la règle NoUserAgent_HEADER.
  8. (Facultatif) Choisissez Edit (Modifier) pour afficher et modifier les paramètres du groupe de règles.
  9. Choisissez Ajouter des règles.
  10. Choisissez Enregistrer.

Pour modifier un groupe de règles géré par AWS existant dans votre ACL Web

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez Web ACLs (ACL web).
  3. Pour Region (Région), choisissez la région AWS dans laquelle vous avez créé votre liste ACL web.
    Remarque : sélectionnez Global si votre liste ACL web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste ACL web.
  5. Choisissez Règles, puis Modifier pour afficher et modifier les paramètres.
    Remarque : pour plus d'informations sur la modification des paramètres, consultez Utilisation des groupes de règles gérées.
  6. Lorsque vous avez terminé de modifier, choisissez Save (Enregistrer).

Si vous rencontrez des scénarios de faux positifs avec des groupes de règles gérées par AWS, consultez Groupes de règles gérées par AWS pour AWS WAF.

Blocage des requêtes qui ne contiennent pas d'en-tête User-Agent à l'aide de règles personnalisées

Pour bloquer les requêtes qui ne contiennent pas d'en-tête User-Agent à l'aide d'une règle personnalisée, procédez comme suit :

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez Web ACLs (ACL web).
  3. Pour Region (Région), sélectionnez la région AWS dans laquelle vous avez créé votre liste ACL web.
    Remarque : sélectionnez Global si votre liste ACL web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste ACL web.
  5. Choisissez Rules (Règles), puis Add Rules, Add my own rules and rule groups (Ajouter des règles, Ajouter mes propres règles et groupes de règles).
  6. Choisissez Rule Builder (Générateur de règles) pour Rule type (Type de règle).
  7. Pour Name (Nom), saisissez un nom pour identifier cette règle.
  8. Pour Type (Type), choisissez Regular rule (Règle régulière).
  9. Pour If a request (Si une requête), choisissez doesn’t match the statement (NOT) (ne correspond pas à l'énoncé (NOT)).
  10. Dans Statement (Énoncé), pour Inspect (Inspecter), choisissez Single Header (En-tête unique).
    Pour Header field name (Nom du champ d'en-tête), saisissez un nom pour le champ. Par exemple : User-Agent.
    Pour Match type (Type de correspondance), choisissez Size greater than (Taille supérieure à).
    Pour Size in bytes (Taille en octets), saisissez 0 (zéro).
    (Facultatif) Choisissez une Text transformation (Transformation de texte) ou choisissez None (Aucune).
  11. Pour Action (Action), choisissez Block (Bloquer).
  12. Choisissez Add rule (Ajouter une règle).
  13. (Facultatif) Pour Set Rule Priority (Définir la priorité de la règle), sélectionnez votre règle et déplacez sa priorité. Les règles sont traitées dans l'ordre dans lequel elles apparaissent. Pour plus d'informations, consultez Ordre de traitement des règles et des groupes de règles dans une liste ACL web.
  14. Choisissez Save (Enregistrer).

Blocage du trafic si les requêtes contiennent un User-Agent spécifique à l'aide de règles personnalisées

Pour bloquer le trafic si les requêtes contiennent un User-Agent spécifique à l'aide d'une règle personnalisée, procédez comme suit :

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez Web ACLs (ACL web).
  3. Pour Region (Région), sélectionnez la région AWS dans laquelle vous avez créé votre liste ACL web.
    Remarque : sélectionnez Global si votre liste ACL web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste ACL web.
  5. Choisissez Rules (Règles), puis Add Rules, Add my own rules and rule groups (Ajouter des règles, Ajouter mes propres règles et groupes de règles).
  6. Choisissez Rule Builder (Générateur de règles) pour Rule type (Type de règle).
  7. Pour Name (Nom), saisissez un nom pour identifier cette règle.
  8. Pour Type (Type), choisissez Regular rule (Règle régulière).
  9. Pour If a request (Si une demande), choisissez matches a statement (correspond à un énoncé).
  10. Dans Statement (Énoncé), pour Inspect (Inspecter), choisissez Single Header (En-tête unique).
    Pour Header field name (Nom du champ d'en-tête), saisissez un nom pour le champ. Par exemple : User-Agent.
    Pour Match type (Type de correspondance), choisissez Contains string (Contient une chaîne).
    Pour String to match (Chaîne à correspondre), saisissez la valeur de votre User-Agent spécifique à bloquer.
    (Facultatif) Choisissez une Text transformation (Transformation de texte) ou choisissez None (Aucune).
  11. Pour Action (Action), choisissez Block (Bloquer).
  12. Choisissez Add rule (Ajouter une règle).
  13. (Facultatif) Pour Set Rule Priority (Définir la priorité de la règle), sélectionnez votre règle et déplacez sa priorité. Les règles sont traitées dans l'ordre dans lequel elles apparaissent. Pour plus d'informations, consultez Ordre de traitement des règles et des groupes de règles dans une liste ACL web.
  14. Choisissez Enregistrer.

Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?