Passer au contenu

Comment faire pour détecter les faux positifs causés par les règles gérées dans AWS ?

Lecture de 5 minute(s)
0

Les requêtes légitimes envoyées à mon application sont bloquées par un groupe de règles AWS gérées dans AWS WAF. Je souhaite comprendre comment ces règles provoquent des faux positifs. Je souhaite aussi maintenir en vigueur les règles gérées et permettre le passage du trafic légitime.

Résolution

Commencez par identifier les faux positifs engendrés par les règles gérées dans AWS. Puis, utilisez des étiquettes ou une instruction de portée réduite pour ajouter ces faux positifs à votre liste d’autorisations.

Remarque : L’exemple suivant utilise des ensembles d’adresses IP. Cependant, vous pouvez utiliser n'importe quel attribut qu'AWS WAF peut inspecter dans vos règles personnalisées avec des étiquettes comprenant des en-têtes et des URI.

Détecter les faux positifs provenant de groupes de règles gérées

Procédez comme suit :

  1. Dans vos journaux AWS WAF, sous terminatingRuleId, recherchez le groupe de règles gérées qui bloque la requête légitime. Voici un exemple de journal AWS WAF :

    {
      "timestamp": 1712236911743,
      "formatVersion": 1,
      "webaclId": "arn:aws:wafv2:us-west-2:***:regional/webacl/WAFtester/3c372***-***",
      "terminatingRuleId": "AWS-AWSManagedRulesCommonRuleSet",
      "terminatingRuleType": "MANAGED_RULE_GROUP",
      "action": "BLOCK",
      "terminatingRuleMatchDetails": [],
      "ruleGroupList": [
        {
          "ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet",
          "terminatingRule": {
            "ruleId": "SizeRestrictions_BODY",
            "action": "BLOCK",
            "overriddenAction": "BLOCK",
            "ruleMatchDetails": null
          },
          "nonTerminatingMatchingRules": [],
          "excludedRules": null,
          "customerConfig": null
        }
      ]
    }
  2. Dans terminatingRule, recherchez ruleId pour identifier la règle qui bloque la requête légitime. Par exemple, dans le journal précédent, la règle qui bloque la requête légitime est SizeRestrictions_Body.

  3. Identifiez l’attribut ou le critère à l’origine du faux positif. Par exemple, si un administrateur de base de données exécute des procédures stockées à distance, ses requêtes peuvent contenir un volume important de données. Le groupe de règles ManagedRulesCommonRuleSet bloque ces requêtes en raison de la règle SizeRestrictions_Body.

Ajouter des faux positifs à votre liste d’autorisation

Pour autoriser les requêtes légitimes via le groupe de règles gérées à l’origine du faux positif, configurez la liste de contrôle d’accès Web (ACL Web). Créez d'abord un ensemble d'adresses IP, puis utilisez des étiquettes ou des instructions de portée réduite.

Remarque : Il est recommandé d’utiliser des étiquettes pour affiner les règles explicites. L’instruction de portée réduite n’inspecte pas les requêtes qui sortent du cadre des règles d’un groupe de règles.

Étiquettes

Utilisez les étiquettes ajoutées par AWS Managed Rules pour éviter les faux positifs. Lorsque vous créez des règles personnalisées qui correspondent à des requêtes portant ces étiquettes, modifiez l’action par défaut des règles au sein du groupe de règles gérées.

Procédez comme suit :

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, choisissez Packs de protection (ACL Web).
  3. Sélectionnez votre pack de protection, puis choisissez Gérer les règles.
  4. Choisissez les règles gérées par AWS qui bloquent vos requêtes.
    Remarque : Identifiez la règle qui bloque votre requête dans votre journal.
  5. Dans la section Remplacements de règles, pour la règle qui bloque la requête, définissez l'action sur Décompte.
  6. Choisissez Enregistrer la règle.
  7. Dans le volet droit, choisissez Gérer la règle, puis Ajouter une règle.
  8. Sélectionnez Règle personnalisée, puis choisissez Suivant.
  9. Pour le type de règle, sélectionnez Règle personnalisée, puis choisissez Suivant.
  10. Pour Action, sélectionnez BLOQUER.
  11. Saisissez le nom de votre règle.
  12. Dans S’il s’agit d’une requête, sélectionnez correspond à toutes les instructions (ET).
  13. Dans Énoncé 1, utilisez les options suivantes :
    Dans Inspecter, choisissez Inclut une étiquette.
    Dans Instruction, sélectionnez Étiquette.
    Pour Clé de correspondance, choisissez l’étiquette de la règle du groupe de règles AWS Managed Rules qui bloque vos requêtes.
  14. Dans Énoncé 2, utilisez les options suivantes :
    Dans Inspecter, sélectionnez Provient de l’adresse IP dans.
    Pour Liste d’adresses IP, sélectionnez votre ensemble d'adresses IP.
    Dans Configuration des règles, sélectionnez Instruction négative (NOT).
    Pour Adresse IP source pour l'origine, sélectionnez Adresse IP source.
  15. Sélectionnez Ajouter une règle.
  16. Choisissez Modifier l'ordre des règles, puis faites glisser la nouvelle règle sous le groupe de règles gérées par AWS.
    Remarque : Les règles sont appliquées par ordre d’affichage et votre nouvelle règle doit être inférieure au groupe de règles gérées par AWS.
  17. Choisissez Enregistrer l'ordre des règles.

Instruction « scope-down »

Utilisez une instruction de portée réduite pour restreindre la portée des demandes évaluées par la règle ou le groupe de règles. Lorsque vous ajoutez une instruction de portée réduite à un groupe de règles, les requêtes sont inspectées. L’instruction ignore les adresses IP légitimes qui y figurent.

Procédez comme suit :

  1. Ouvrez la console AWS WAF.
  2. Dans le volet de navigation, sous AWS WAF, choisissez Packs de protection (ACL Web).
  3. Sélectionnez votre pack de protection et choisissez Gérer la règle.
  4. Choisissez le groupe de règles AWS Managed Rules qui bloque vos requêtes.
  5. Dans Inspection, sélectionnez Instruction de correspondance, puis utilisez les options suivantes :
    Dans S’il s’agit d’une requête, sélectionnez ne correspond pas à l’instruction (NOT).
    Dans Inspecter, sélectionnez Provient de l’adresse IP dans.
    Pour Liste d’adresses IP, sélectionnez votre ensemble d'adresses IP.
    Dans Configuration des règles, pour Adresse IP source pour l'origine, sélectionnez Adresse IP source comme origine.
  6. Choisissez Enregistrer la règle.
AWS OFFICIELA mis à jour il y a 7 mois