Comment détecter les faux positifs engendrés par les règles gérées par AWS puis les ajouter à une liste blanche ?

Lecture de 6 minute(s)
0

Les règles gérées par AWS bloquent certaines demandes légitimes qui sont envoyées à mon application dans AWS WAF. Comment détecter les faux positifs engendrés par ces règles et les ajouter à une liste blanche ?

Solution

Détecter les faux positifs engendrés par les règles gérées par AWS

1.    Trouvez la règle qui bloque la demande légitime dans le groupe de règles gérées. Vous pouvez trouver la règle bloquant les demandes dans le champ « terminatingRuleId » des journaux AWS WAF. Pour plus d'informations, consultez la section « terminatingRuleMatchDetails » du journal.

2.    Vérifiez la partie du paramètre de demande à l'origine du faux positif à l'aide de l'une des méthodes ci-dessous :

curl : effectuez une commande curl sur votre point de terminaison, puis vérifiez si vous recevez l'erreur « 403 Forbidden » lorsque vous envoyez le faux positif. Par exemple :

$ curl -ikv http://<your-domain>.com/<false positive>

Remarque : dans cet exemple, remplacez <your-domain> par votre domaine et <false positive> par votre vecteur de faux positif.

Navigateur Web : saisissez votre domaine et le vecteur de faux positif dans votre navigateur Web pour vérifier si vous recevez l'erreur « 403 Forbidden ». Par exemple :

http://<your-domain>/<false positive>

Dans l'exemple précédent, remplacez <your-domain> par votre domaine et <false positive> par votre vecteur de faux positif.

Postman : utilisez l'outil Postman pour envoyer une demande à un point de terminaison en utilisant la règle et le paramètre qui génèrent le faux positif.

3.    Déterminez le vecteur à l'origine du faux positif. Créez une règle de condition personnalisée qui vous permet de transmettre des demandes légitimes.

Par exemple, une équipe interne apporte des modifications à une page Web. Les demandes contiennent des scripts pour ces modifications et entraînent le blocage des demandes par la règle ManagedRulesCommonRuleSet. Vous pouvez utiliser les paramètres qui identifient de manière unique les demandes internes afin d'empêcher la règle gérée d'inspecter ces demandes. Par exemple, si les demandes légitimes proviennent d'adresses IP spécifiques, vous pouvez créer la condition d'ensemble d'adresses IP pour exclure les adresses IP de l'inspection.

Ajouter les faux positifs engendrés par les règles gérées par AWS à votre liste blanche

Après avoir détecté le faux positif, configurez la liste ACL Web pour ne pas inspecter les demandes légitimes selon le groupe de règles gérées par AWS à l'origine du faux positif. Vous pouvez ensuite contourner la règle qui bloque la demande. Vous pouvez modifier les règles gérées par AWS de deux manières :

Étiquettes

Vous pouvez utiliser les étiquettes ajoutées par les règles gérées par AWS pour éviter les faux positifs. Une étiquette est une métadonnée qu'une règle peut ajouter aux demandes Web correspondantes, quelle que soit l'action associée à la règle. La dernière version des règles gérées par AWS prend en charge les étiquettes. En créant des règles personnalisées qui correspondent aux demandes portant des étiquettes, vous pouvez modifier l'action par défaut des règles au sein d'un groupe de règles gérées.

1.    Ouvrez la console AWS WAF, choisissez la Region (Région) appropriée, puis choisissez les IP sets (Ensembles d'adresses IP).

2.    Créez un ensemble d'adresses IP contenant des adresses IP légitimes que vous souhaitez exclure de l'inspection par un groupe de règles.

3.    Choisissez Web ACLs (Listes ACL Web) dans le panneau de navigation de la console AWS WAF et choisissez votre Web ACL (Liste ACL Web).

4.    Choisissez l'onglet Rules (Règles).

5.    Choisissez le groupe de règles qui contient la règle à l'origine du faux positif, puis choisissez Edit (Modifier).

6.    Choisissez la règle à l'origine du faux positif, puis définissez-la sur Count (Nombre).

7.    Choisissez Save rule (Enregistrer la règle).

8.    Choisissez Add rule (Ajouter une règle), puis Add my own rules and rule groups (Ajouter mes propres règles et groupes de règles).

9.    Choisissez Rule Builder (Générateur de règles) pour le type de règle.

10.    Saisissez un nom de règle, puis choisissez Regular rule (Règle régulière) comme type.

11.    Définissez la liste déroulante If a request (Si une demande) sur matches all the statements (AND) (correspond à toutes les instructions [AND]).

12.    Sélectionnez les paramètres suivants pour l'instruction 1 :
Définir Inspect (Inspecter) sur Has a label (Dispoe d'une étiquette)
Définir Match scope (Portée de la correspondance) sur Label (Étiquette)
Saisir la chaîne contenant le nom de l'étiquette de la règle à l'origine du faux positif

13.    Sélectionnez les paramètres suivants pour l'instruction 2 :
Activer l'option Negate statement results (Annuler les résultats de l'instruction)
Définir Inspect (Inspecter) sur Originates from an IP address in (Provient d'une adresse IP interne)
Définir IP set (Ensemble d'adresses IP) sur votre ensemble d'adresses IP contenant les adresses IP légitimes
Définir IP address to use as the originating address (Adresse IP à utiliser comme adresse d'origine) sur Source IP address (Adresse IP source)

14.    Définissez l'Action sur Block.

15.    Sous Set rule priority (Définir la priorité de la règle), définissez la priorité de la règle sur une priorité inférieure à celle des règles gérées par AWS à l'origine du faux positif.

16.    Choisissez Save (Enregistrer).

Instruction de réduction de la portée

Vous pouvez utiliser une instruction de réduction de la portée pour restreindre la portée des demandes évaluées par la règle ou le groupe de règles. L'ajout d'une instruction de réduction de la portée à un groupe de règles permet d'inspecter les demandes. L'instruction ignore toutes les adresses IP légitimes incluses en son sein.

1.    Ouvrez la console AWS WAF, choisissez la Region (Région) appropriée et choisissez les IP sets (Ensembles d'adresses IP).

2.    Créez un ensemble d'adresses IP contenant des adresses IP légitimes que vous souhaitez exclure de l'inspection par un groupe de règles.

3.    Choisissez Web ACLs (Listes ACL Web) dans le panneau de navigation de la console AWS WAF et sélectionnez votre Web ACL (Liste ACL Web).

4.    Choisissez l'onglet Rules (Règles).

5.    Choisissez l'entrée de règles gérées par AWS à laquelle vous souhaitez ajouter une instruction de réduction de portée, puis choisissez Edit (Modifier).

6.    Créez l'instruction de réduction de la portée en excluant l'ensemble d'adresses IP que vous avez créé. Voici un exemple de ce à quoi pourrait ressembler l'instruction :
Si une demande : ne correspond pas aux instructions (NOT)
Inspecter : provient d'une adresse IP interne
Ensemble d'adresses IP : <your-IP-set>
Adresses IP à utiliser comme adresse d'origine : adresse IP source

7.    Choisissez Save rule (Enregistrer la règle).

Remarque : l'instruction de réduction de la portée n'inspecte pas les demandes en dehors de la portée selon toutes les règles d'un groupe de règles. Pour une règle explicite précise, il est préférable d'utiliser des étiquettes.


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