Gestion des faux positifs dans AWS WAF
Présentation
L'ajout de contrôles de sécurité tels que le WAF à une application Web augmente les risques d'introduction de faux positifs. Les faux positifs sont les cas de blocage de demandes légitimes d'utilisateurs, ce qui n'est pas un effet secondaire souhaitable de l'utilisation d'un WAF. La gestion des faux positifs implique de concevoir des règles qui les minimisent, de détecter leurs occurrences et de les atténuer, soit du côté de l'application, soit du côté du WAF. AWS WAF simplifie la gestion des faux positifs grâce à la flexibilité de son langage de règles et aux informations disponibles dans ses journaux générés.
Conception de règles WAF avec un faible taux de faux positifs
Pour réduire les faibles résultats positifs lors de l'utilisation d'AWS WAF, configurez soigneusement les règles dans votre WebACL. D'abord, ajuster le seuil de détection des règles. Par exemple, ce blog fournit des conseils sur la configuration des seuils de détection des limites de débit. Un autre exemple consiste à configurer la sensibilité de détection des règles d'injection SQL (SQLi). Ensuite, activez les règles les plus pertinentes sur la partie la plus pertinente de vos applications de la manière la plus spécifique. Par exemple, n'activez les règles SQLi que si votre application utilise une base de données SQL et limitez-les aux URL qui interagissent avec cette base de données. Enfin, répondez aux demandes correspondantes par des actions nuancées. Avec cette approche, vous ne pouvez configurer une action de blocage pour les demandes que lorsque vous avez une grande certitude quant à leur malveillance. Lorsque vous êtes moins sûr de bloquer une demande, envisagez l'une des stratégies de réponse nuancées suivantes :
- Comptez la demande et laissez-la remonter vers votre application, mais incluez un en-tête généré par le WAF dans la demande transmise à votre application. Votre application peut alors répondre différemment en fonction de la valeur de l'en-tête, par exemple déclencher une authentification multifacteur en cas de tentative de connexion suspecte. Vous pouvez également augmenter dynamiquement la gravité de la réponse du WAF en fonction du niveau de menace actuel. Par exemple, OLX modifie dynamiquement la réponse aux adresses IP suspectes en fonction du niveau de risque de son application. En mode à faible risque, il laisse passer davantage de trafic vers son application, ce qui minimise les faux positifs. En mode à haut risque, il préfère réduire les faux négatifs par rapport aux faux positifs en bloquant toutes les adresses IP suspectes.
- Répondez par un CAPTCHA ou des défis silencieux, qui bloqueront la demande uniquement si le navigateur échoue.
Règles gérées par Amazon
AWS WAF fournit une liste de groupes de règles gérés par Amazon (AMR) qui peuvent être ajoutés à votre WebACL WAF. Les AMR sont conçus pour bloquer les menaces les plus critiques et les plus impactantes, tout en minimisant les faux positifs.
Pour mieux gérer les faux positifs, les AMR vous offre les possibilités de configuration suivantes :
- Vous pouvez désactiver les mises à jour automatiques par AMR et utiliser à la place une version spécifique et la mettre à jour manuellement. Cela vous permettra de tester les mises à jour pour détecter les faux positifs avant d'activer la dernière version.
- Les AMR émettent des étiquettes lorsqu'ils sont évalués. Au lieu d'utiliser les règles de blocage par défaut des AMR, vous les configurez pour qu'elles soient comptées et vous utilisez les étiquettes émises en combinaison avec d'autres règles WAF pour bloquer les demandes avec un niveau de confiance plus élevé. Par exemple, vous pouvez utiliser la liste de réputation AMR d'Amazon IP en mode comptage, puis créer une règle ultérieure basée sur les étiquettes émises par cette AMR pour limiter le taux avec un seuil très bas. Les étiquettes générées par AMR sont décrites dans la documentation WAF.
Il en va de même pour le groupe de règles géré créé par Shield Advanced lorsque vous vous êtes abonné à ce service et que vous avez activé l'atténuation DDoS automatique de la couche applicative. Comme décrit dans la documentation, Shield Advanced place les règles de blocage WAF uniquement s'il est certain que la règle correspond uniquement à la signature de l'attaque, sur la base des modèles de trafic historiques.
Identifier les faux positifs
Les conseils suivants vous aident à identifier les faux positifs lorsqu'ils se produisent :
- Intégrez la détection des faux positifs dans vos processus de publication logicielle ou de modification de l'infrastructure, par exemple en testant vos règles WAF dans des environnements de développement et de test, puis en les validant en mode Comptage en production avant le déploiement final. La documentation AWS WAF fournit des instructions pour déployer en toute sécurité les règles de contrôle des bots et les règles de prévention du piratage de comptes au niveau de la production.
- Configurez une alarme sur les métriques CloudWatch émises par les règles WAF. Vous serez averti lorsqu'une règle correspond à un trafic à des niveaux anormaux. Par exemple, cela peut se produire à la suite d'une modification du code d'une application, identifiée à tort comme une attaque, qui s'est propagée en production.
- Activez la journalisation WAF et auditez régulièrement le trafic bloqué pour identifier le trafic légitime qui a été bloqué. Pour des cas d'utilisation simples, vous pouvez utiliser l'exemple de tableau de bord des demandes dans la console AWS WAF.
- Mettez à jour votre application pour permettre aux utilisateurs de signaler des réponses 403 inattendues. Par exemple, lorsque le WAF est déployé avec CloudFront, vous pouvez utiliser la page d'erreur personnalisée de CloudFront pour renvoyer, au lieu de la page d'erreur 403, une page dans laquelle ils peuvent vous signaler le problème.
Exclusion des faux positifs du champ d'application de la règle
Lorsqu'un faux positif est identifié, vous pouvez mettre à jour vos règles WAF pour ajouter des exclusions et atténuer les faux positifs. Avec les règles personnalisées, les exclusions peuvent être simplement exprimées à l'aide de la logique ET/OU. Par exemple, appliquez les règles SQLi si l'adresse IP de la demande ne fait pas partie d'une liste d'adresses IP autorisées et si l'URL de la demande ne fait pas partie des URL exclues. Avec les AMR, vous pouvez créer des exclusions avec l'utilisation d'instructions de réduction de la portée. Consultez la documentation suivante pour gérer les faux positifs spécifiques aux AMR du contrôle des bots WAF WS.
Ressources
- Livre blanc : test et réglage des règles WAF dans le livre blanc Directives pour l'implémentation d'AWS WAF
- Comment exclure des URI spécifiques de l'inspection XSS ou SQLi pour les demandes HTTP lors de l'utilisation d'AWS WAF ?
- Trouver des partenaires de livraison AWS WAF
- Utilisation de l'étiquetage AWS WAF pour corriger les faux positifs avec les AMR