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 :
-
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
}],
-
Dans terminatingRule, recherchez ruleId pour identifier la règle qui bloque la demande légitime. Exemple : « SizeRestrictions_Body ».
-
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 :
- Ouvrez la console AWS WAF, puis choisissez votre région AWS.
- Dans le volet de navigation, choisissez Ensembles d’adresses IP.
- Créez un ensemble d’adresses IP contenant les adresses IP légitimes à exclure d’une inspection par un groupe de règles.
- Allez sur la liste des ACL Web, puis choisissez votre ACL Web.
- Sous Règles, choisissez le groupe de règles à l’origine du faux positif, puis choisissez Modifier.
- Choisissez la règle à l’origine du faux positif, puis définissez-la sur Nombre.
- Choisissez Enregistrer la règle.
- Choisissez Ajouter des règles, puis Ajouter mes propres règles et groupes de règles.
- Dans le champ Type de règle, choisissez Générateur de règles.
- Saisissez un nom de règle.
- Dans le champ Type, sélectionnez Règle régulière.
- Créez la liste déroulante Si une requête correspond à toutes les instructions (AND).
- Sélectionnez les paramètres suivants pour l’instruction 1 :
Dans le champ Inspecter, choisissez Possède une étiquette.
Dans le champ Portée de correspondance, sélectionnez Étiquette.
Saisissez le nom de l’étiquette de la règle à l’origine du faux positif.
- Sélectionnez les paramètres suivants pour l’instruction 2 :
Activez l’option Annuler les résultats de l’instruction.
Dans le champ Inspecter, choisissez Provient de l’adresse IP dans.
Dans le champ Ensemble d’adresses IP, saisissez l’ensemble d’adresses IP qui contient les adresses IP légitimes.
Dans le champ Adresse IP à utiliser comme adresse d’origine, choisissez Adresse IP source.
- Dans le champ Action, choisissez Bloquer.
- Sous Définir la priorité de la règle, définissez la priorité de la règle sur une priorité inférieure à celle des groupes de règles gérées dans AWS.
- Choisissez Enregistrer.
Instruction de portée réduite
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 :
- Ouvrez la console AWS WAF, puis choisissez votre région.
- Choisissez Ensembles adresses IP.
- Créez un ensemble d’adresses IP contenant les adresses IP légitimes à exclure d’une inspection par un groupe de règles.
- Allez sur la liste des ACL Web, puis choisissez votre ACL Web.
- Sous Règles, choisissez la règle gérée AWS à laquelle vous souhaitez ajouter une instruction de portée réduite, puis choisissez Modifier.
- Créez l’instruction de portée réduite qui exclut l’ensemble des adresses IP que vous avez créé. Exemple :
Dans le champ Si une requête, choisissez Ne correspond pas aux instructions (NOT)
Dans le champ Inspecter, choisissez Provient de l’adresse IP dans
Dans le champ Ensemble d’adresses IP, saisissez example-IP-set. Remarque : remplacez example-IP-set par l’adresse IP que vous souhaitez exclure
Dans le champ Adresses IP à utiliser comme adresse d’origine, choisissez Adresse IP source. Remarque : remplacez **Adresse IP source ** par votre adresse IP.
- Choisissez Enregistrer la règle.