Figure 1 : événements WAF survenus au cours des 6 dernières heures.
2. Regardez les 10 principaux ID de règle déclenchés par ce trafic. Les ID de règle sont un excellent moyen de filtrer davantage le trafic et d’observer les charges utiles pour divers événements WAF. Cela dit, commencez à filtrer le trafic par ces ID de règle un par un pour une analyse plus approfondie.
Figure 2 : les 10 principales règles déclenchées par les événements WAF.
3. Examinez ensuite les valeurs de charge utile qui ont déclenché cette règle en consultant le champ valeur correspondante.
Figure 3 : valeurs de charge utile dans la colonne valeur lettrée.
4. Analysez les valeurs de charge utile pour identifier si elles sont malveillantes. Vous ne savez pas à quoi ils ressemblent ? Voici quelques valeurs malveillantes potentielles que vous pouvez trouver dans la charge utile.
- Traversée du chemin : http://some_site.com.br/../../../../some dir/certains file¹ http://testsite.com/get.asp?f=/etc/passwd²
- Vulnérabilités LFI : un attaquant tente d’accéder à des fichiers sensibles sur le serveur, tels que .ini. Le WAF Edgecast bloque cette extension et de nombreuses autres extensions critiques du système de fichiers par défaut.³
- Script inter-sites : http://testsite.test/<script>Alert(“TEST”);</script>⁴ <img src=”http://url.to.file.which/not.exist” onerror=alert(document.cookie);>⁵
- Injection SQL : SÉLECTIONNEZ * PARMI les éléments OÙ ‘a’=’a’ ;⁶ SÉLECTIONNEZ 1 ;⁷
- Exécution de code à distance : eval(“\$$User = “$regdate’) ;⁸
- Attaques basées sur le temps : sélectionnez 1 et Sleep(2) ;⁹ sélectionnez BENCHMARK(2000000,md5(’A’)) ;¹⁰
5. Si vous n’êtes toujours pas sûr que la charge utile était malveillante, une excellente façon de la comprendre est de regarder la liste des adresses IP clientes qui ont initié les requêtes avec la charge utile correspondante. Si les IP clients sont distribuées, c’est-à-dire variées, il y a de fortes chances que la charge utile soit un faux positif. Cependant, si toutes les adresses IP client ont la même valeur, cela indiquerait une attaque volumétrique potentielle, la classant ainsi comme une charge utile malveillante. Pour le démontrer, reportez-vous à l’étape 3 et choisissez cette valeur correspondante – {“iata”:[“TGZ”,”MEX”]} et utilisez-la comme exemple. Pour connaître la liste des adresses IP client qui ont envoyé cette charge utile, ajoutez la valeur correspondante comme filtre comme suit :
Figure 5 : adresses IP client qui ont envoyé la valeur de charge utile : {“iata”:[“TGZ”,”MEX”]}.
Dans ce cas, étant donné la variété des adresses IP qui font cette demande, il est fort probable que ces demandes proviennent de vrais utilisateurs, ce qui en fait un bon candidat pour un faux positif.
6. Une fois qu’un faux positif est identifié, vous pouvez créer une exception pour lui dans la section règles gérées, mais avant de le faire, vous devez savoir où cette charge utile a été trouvée : chaîne de requête, en-tête de requête, URL ou autre emplacement. Ceci est facile à faire en regardant la colonne correspondante sur la même page à partir de l’étape 5. Dans ce cas d’utilisation, la charge utile a été trouvée dans l’argument de requête « data », comme indiqué ci-dessous :
Figure 6 : emplacement de la valeur de charge utile : {“iata”:[“TGZ”,”MEX”]}.
7. Une bonne règle de base est de filtrer ces correspondances spécifiques sur les champs qui contiennent la charge utile faussement positive, puis de vérifier qu’il n’y a aucune autre requête avec ce paramètre correspondant sur portant une charge utile malveillante réelle. En d’autres termes, la charge utile dans le champ on correspondant particulier n’est jamais malveillante. Ceci est réalisé en ajoutant un filtre sur le correspondant sur un champ en question. En regardant notre cas d’utilisation, nous pouvons confirmer qu’il n’y a pas de charge utile malveillante trouvée dans cet argument de requête:
Figure 7 : toutes les valeurs de charge utile envoyées dans l’argument de requête : données.
8. La dernière étape avant la création d’une exception consiste à rechercher les ID de règle déclenchés par le champ correspondant à. Nous essayons de noter toutes les règles (ID de règles) qui ont été déclenchées par ce faux positif. Sur la base de notre cas d’utilisation, ces informations sont disponibles sur la même page à partir de l’étape 5.
Figure 8 : liste des règles déclenchées par la valeur de charge utile : {“iata” : [“TGZ”,”MEX”]}.
9. Il est temps de créer l’exception. Accédez à la section règles gérées et cliquez sur la règle gérée à laquelle vous souhaitez ajouter ces exceptions.
Figure 9 : règles gérées existantes créées pour la configuration WAF.
10. Allez dans l’onglet exceptions et cliquez sur Ajouter une nouvelle condition. Choisissez le type de correspondance sur le champ, tel que args, request_cookies ou URL où la charge utile a été trouvée. Entrez ensuite le nom du paramètre, par exemple Query ou cookie. Enfin, entrez la liste de tous les ID de règle déclenchés par la charge utile.