Home Blogs Réglage WAF simplifié
Applications

About The Author

Outline

Les petites et nouvelles entreprises sont confrontées à un défi de sécurité critique. Ils ont besoin d’une solution de sécurité sophistiquée pour protéger leurs applications Web tout en minimisant les coûts d’embauche de spécialistes de la sécurité dédiés ou de services gérés tiers. Avec l’émergence constante de nouveaux vecteurs d’attaque, la sécurité des applications Web devient plus cruciale et plus difficile que jamais. L’Edgecast, maintenant Edgio, WAF est la solution. Il offre une solution robuste et sophistiquée qui simplifie la gestion. Les tableaux de bord en temps réel et la livraison des journaux fournissent une visibilité à jour pour que les administrateurs puissent identifier rapidement les menaces et prendre des mesures. Dans ce blog, nous nous concentrerons sur la façon dont les entreprises peuvent identifier et éliminer les faux positifs et créer des solutions personnalisées pour leur application Web sans encourir de coûts de support supplémentaires. Si vous êtes nouveau dans cet espace et que vous n’avez pas encore travaillé avec Edgio WAF, veuillez regarder ce court tutoriel pour comprendre l’interface utilisateur et son fonctionnement. Si vous avez déjà un compte, n’hésitez pas à faire cet exercice avec moi. 1. Commençons par nous diriger vers le tableau de bord en temps réel et filtrer les événements WAF par temps. Il s’agit de la période pendant laquelle vous souhaitez analyser le trafic Web. (Remarque : si vous avez déjà effectué des réglages de règles auparavant, assurez-vous de choisir un intervalle de temps après le dernier réglage).

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.

Figure 10 : onglet exceptions sous la configuration de la règle gérée. 11. Allez-y et créez cette condition. Dans les 30 secondes suivant l’enregistrement de la règle gérée, vous pourrez voir ce faux positif passer par le WAF à l’avenir 12. Maintenant que vous savez comment cela fonctionne, revenez à l’étape 3, filtrez le trafic par un autre ID de règle et répétez ce processus pour éliminer le plus de faux positifs possible. Vous l’avez fait. Vous venez de personnaliser la solution WAF pour votre trafic.

Quelques derniers conseils

Si vous utilisez le pare-feu Edgio WAF pour la première fois, nous vous recommandons d’effectuer 2-3 tours de cet exercice avant d’activer le mode bloc. Et en fonction de votre volume de trafic, vous pouvez répéter cet exercice tous les 2-7 jours. Pour les clients existants d’Edgio WAF, nous recommandons d’effectuer cet exercice de réglage fin toutes les 3-4 semaines. Une autre chose que vous devriez considérer est d’abaisser la valeur de seuil de votre règle gérée à moins de 10, se dirigeant progressivement vers la valeur optimale de 5. Cela garantit que vous organisez régulièrement un jeu de règles plus précis et plus net. N’oubliez pas que le WAF Edgio offre un WAF double, un environnement de transit réel (le mode audit) pour votre trafic en temps réel. Vous pouvez utiliser le mode audit pour toutes vos mises à jour récurrentes et vos ajustements du jeu de règles sans vous soucier de supprimer le trafic légitime. Contactez-nous dès aujourd’hui pour en savoir plus sur toutes nos technologies de sécurité qui protègent vos applications Web.
Ressources : ¹⁻² OWASP, «Path Traversal », owasp.org, owasp.org/www-community/attacks/Path_Traversal. ³ sécurité offensive, « vulnérabilités d’inclusion de fichiers », offensive-security.com, offensive-security.com/metasploit-unleashed/file-inclusion-vulnerabilities/. ⁴⁻⁵ OWASP, «Cross site scripting » , owasp.org, owasp.org/www-community/attacks/xss/. ⁶⁻⁷OWASP, “ injection SQL ”, owasp.org, owasp.org/www-community/attacks/SQL_Injection. ⁸ Netsparker, « vulnérabilité d’évaluation (exécution) de code à distance » , netsparker.com, netsparker.com/blog/web-security/remote-code-evaluation-execution/. ⁹⁻¹⁰ Ashraff, Ahmad, «Timing-based Attacks in web applications », owasp.org, owasp.org/www-pdf-archive/2018-02-05-AhmadAshraff.pdf.