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. Ensuite, utilisez des étiquettes ou une instruction de portée réduite pour ajouter ces faux positifs à votre liste d’autorisations.

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

Procédez comme suit :

  1. Sous terminatingRuleId dans vos journaux AWS WAF, recherchez le groupe de règles du gestionnaire qui bloque la demande 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. Exemple : ****"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 demandes peuvent contenir un volume important de données. Le groupe de règles ManagedRulesCommonRuleSet bloque ces demandes en raison de la règle SizeRestrictions_Body.

Ajouter des faux positifs à votre liste d’autorisation

Configurez la liste de contrôle d’accès Web (ACL Web) pour autoriser les requêtes légitimes via le groupe de règles gérées à l’origine du faux positif. Pour modifier le groupe de règles gérées, utilisez des étiquettes ou utilisez 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 qui correspondent aux règles gérées dans AWS 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, sélectionnez AWS WAF.
  3. Sélectionnez Packs de ressources et de protection.
  4. Sous Packs de protection, sélectionnez la liste déroulante Ensembles et groupes gérés et choisissez Gérer les ensembles d’adresses IP.
  5. Dans le volet droit, choisissez Créer un nouvel ensemble d'adresses IP.
  6. Saisissez le nom de l’ensemble d’adresses IP.
    Si vous utilisez cette adresse IP définie dans CloudFront, sous Portée, sélectionnez CloudFront.
    (Facultatif) Saisissez une description.
    Choisissez votre version IP.
    Saisissez l'adresse IP.
  7. Sélectionnez Enregistrer.
  8. Recherchez votre pack de protection et choisissez Afficher et modifier en regard de Règles.
  9. Dans le volet droit, sélectionnez les règles gérées par AWS qui bloquent vos requêtes.
  10. Dans la section Dérogations aux règles, modifiez l'action à Comptage pour la règle qui bloque la requête.
  11. Choisissez Enregistrer la règle.
  12. Dans le volet droit, choisissez Ajouter des règles.
    Choisissez Règle personnalisée, puis sélectionnez Suivant.
    Choisissez à nouveau Règle personnalisée, puis sélectionnez Suivant.
  13. Définissez l'action de la règle sur BLOQUER.
  14. Saisissez le nom de votre règle.
  15. Dans S’il s’agit d’une requête, développez la liste déroulante et choisissez correspond à toutes les instructions (ET).
  16. Dans Instruction 1, procédez comme suit :
    Dans Inspecter, choisissez Inclut une étiquette.
    Dans Instruction, sélectionnez Étiquette.
    Dans Clé de correspondance, choisissez l’étiquette de la règle du groupe de règles Règles gérées par AWS qui bloque vos requêtes.
  17. Dans Instruction 2, procédez comme suit :
    Dans Inspecter, sélectionnez Provient de l’adresse IP dans.
    Sous Instruction, pour Liste d’adresses IP, sélectionnez votre ensemble d'adresses IP.
    Développez Configuration de la règle, sous Instruction négative (NOT), choisissez Passer les résultats de l’instruction en nombre négatif.
    Dans Adresse IP à utiliser comme adresse d’origine, sélectionnez Adresse IP source.
  18. Sélectionnez Créer une règle.
  19. Pour définir la priorité de la règle, sélectionnez Modifier l'ordre des règles dans le volet droit et faites glisser la règle sous le groupe de règles gérées AWS.
    Remarque : Les règles sont appliquées dans l'ordre dans lequel elles apparaissent.
  20. 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 peuvent être 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, sélectionnez AWS WAF.
  3. Sélectionnez Packs de ressources et de protection.
  4. Sous Packs de protection, sélectionnez la liste déroulante Ensembles et groupes gérés et choisissez Gérer les ensembles d’adresses IP.
  5. Dans le volet droit, choisissez Créer un nouvel ensemble d'adresses IP.
  6. Saisissez le nom de l’ensemble d’adresses IP.
    Si vous utilisez cette adresse IP définie dans CloudFront, sous Portée, sélectionnez CloudFront.
    (Facultatif) Saisissez une description.
    Choisissez votre version IP.
    Saisissez l'adresse IP.
  7. Sélectionnez Enregistrer.
  8. Recherchez votre pack de protection et choisissez Afficher et modifier en regard de Règles.
  9. Dans le volet droit, sélectionnez le groupe de règles Règles gérées par AWS qui bloque vos requêtes.
  10. Sous Inspection, sélectionnez Instruction de correspondance.
  11. Dans S’il s’agit d’une requête, sélectionnez ne correspond pas à l’instruction (NOT).
  12. Dans Inspecter, sélectionnez Provient de l’adresse IP dans.
  13. Sous Instruction, pour Liste d’adresses IP, sélectionnez votre ensemble d'adresses IP.
  14. Développez Configuration de la règle et sélectionnez Adresse IP source comme origine.
  15. Choisissez Enregistrer la règle.
AWS OFFICIELA mis à jour il y a 5 mois