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

Lecture de 6 minute(s)
0

Je souhaite 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.

Résolution

Bloquer des requêtes ne contenant 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 la section 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). Elle 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 de contrôle des bots AWS WAF. Elle 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 de contrôle d’accès (ACL) au Web

  1. Ouvrez la console AWS WAF.

  2. Dans le volet de navigation, sous AWS WAF, choisissez ACL Web.

  3. Pour Région, choisissez la région AWS dans laquelle vous avez créé votre liste de contrôle d’accès (ACL) au Web.
    Remarque : sélectionnez Global si votre liste de contrôle d’accès (ACL) au Web est configurée pour Amazon CloudFront.

  4. Sélectionnez votre liste de contrôle d’accès (ACL) au Web.

  5. Choisissez Règles, puis Ajouter des règles. Sélectionnez Ajouter des groupes de règles gérées dans le menu déroulant.

  6. Développez la section Groupes de règles gérés par AWS.

  7. Localisez le groupe de règles et activez Ajouter à la liste de contrôle d’accès (ACL) au Web.
    Par exemple, vous pouvez activer l’option Ajouter à la liste de contrôle d’accès (ACL) au Web pour l’ensemble de règles Core qui contient la règle NoUserAgent_HEADER.

  8. (Facultatif) Choisissez 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 liste de contrôle d’accès (ACL) au Web

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez ACL Web.
  3. Pour Région, choisissez la région AWS dans laquelle vous avez créé votre liste de contrôle d’accès (ACL) au Web.
    Remarque : sélectionnez Global si votre liste de contrôle d’accès (ACL) au Web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste de contrôle d’accès (ACL) au Web.
  5. Choisissez Règles, puis choisissez 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. Une fois la modification terminée, cliquez sur 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.

Bloquer des requêtes qui ne contiennent pas d’en-tête User-Agent à 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 ACL Web.
  3. Pour Région, sélectionnez la région AWS dans laquelle vous avez créé votre liste de contrôle d’accès (ACL) au Web.
    Remarque : sélectionnez Global si votre liste de contrôle d’accès (ACL) au Web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste de contrôle d’accès (ACL) au Web.
  5. Choisissez Règles, puis Ajouter des règles, Ajouter mes propres règles et groupes de règles.
  6. Choisissez Générateur de règles pour le Type de règle.
  7. Pour Nom, saisissez un nom pour identifier cette règle.
  8. Pour Type, choisissez Regular rule.
  9. Pour If a request, choisissez doesn't match the statement (NOT).
  10. Sur Statement, pour Inspect, choisissez Single header.
    Pour Header field name, saisissez un nom pour le champ. Exemple : User-Agent.
    Pour Type de correspondance, choisissez Size greater than.
    Pour Taille en octets, entrez 0 (zéro).
    (Facultatif) Choisissez une Transformation de texte ou choisissez Aucune.
  11. Pour Action, choisissez Bloquer.
  12. Sélectionnez Ajouter une règle.
  13. (Facultatif) Pour Définir la priorité de la règle, sélectionnez votre règle et déplacez sa priorité. Le traitement des règles s’effectue 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 liste de contrôle d’accès (ACL) au Web.
  14. Choisissez Enregistrer.

Bloquer le trafic lorsque les requêtes contiennent un User-Agent spécifique au moyen de règles personnalisées

Pour bloquer le trafic si les requêtes contiennent un User-Agent spécifique au moyen 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 ACL Web.
  3. Pour Région, sélectionnez la région AWS dans laquelle vous avez créé votre liste de contrôle d’accès (ACL) au Web.
    Remarque : sélectionnez Global si votre liste de contrôle d’accès (ACL) au Web est configurée pour Amazon CloudFront.
  4. Sélectionnez votre liste de contrôle d’accès (ACL) au Web.
  5. Choisissez Règles, puis Ajouter des règles, Ajouter mes propres règles et groupes de règles.
  6. Choisissez Générateur de règles pour le Type de règle.
  7. Pour Nom, saisissez un nom pour identifier cette règle.
  8. Pour Type, choisissez Regular rule.
  9. Pour If a request, sélectionnez Matches a statement.
  10. Sur Statement, pour Inspect, choisissez Single header.
    Pour Header field name, saisissez un nom pour le champ. Exemple : User-Agent.
    Pour Type de correspondance, choisissez Contains string.
    Pour String to match, entrez la valeur que votre User-Agent doit bloquer.
    (Facultatif) Choisissez une Transformation de texte ou choisissez Aucune.
  11. Pour Action, choisissez Bloquer.
  12. Sélectionnez Ajouter une règle.
  13. (Facultatif) Pour Définir la priorité de la règle, sélectionnez votre règle et déplacez sa priorité. Le traitement des règles s’effectue 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 liste de contrôle d’accès (ACL) au Web.
  14. Choisissez Enregistrer.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans