Troy Hunt utilise Cloudflare pour protéger son site web et son API en aidant ainsi les utilisateurs à rester en ligne en toute sécurité.
Troy Hunt est directeur régional chez Microsoft et chercheur indépendant en sécurité Internet. Il est bien connu pour son blog sur la sécurité Internet www.troyhunt.com et son service HaveIBeenPwned (HIBP), qui rassemble les fuites de données et permet aux utilisateurs de vérifier si leurs informations personnelles ont été compromises par une activité malveillante sur le web. L'objectif de Hunt consiste à mettre ses connaissances et sa plateforme au service des utilisateurs afin d'en aider le plus grand nombre possible.
Le défi de Troy Hunt : aider les utilisateurs légitimes, tout en empêchant les pirates de nuire
Aider le plus grand nombre de personnes possible peut être difficile lorsque les ressources sont limitées. L'un des principaux défis de M. Hunt est de gérer les pics de trafic sur ses sites web et son API qui sont exécutées sur l'infrastructure Azure de Microsoft. Ces pics entraînent des problèmes de performances, augmentent les coûts de bande passante, et entraînent des temps d'arrêt et une perte de confiance pour un service où la confiance et l'intégrité sont primordiales. Lorsque les fuites de données des grandes institutions sont très médiatisées (comme celles survenues chez Ashley Madison et Dropbox), le service HIBP de Hunt connaît d'énormes pics de trafic. Selon M. Hunt, ces pics de trafic « dépassent la capacité des processeurs et dégradent les performances jusqu'à ce que d'autres instances soient exécutées. Autoscale, le système de mise à l'échelle automatique d'Azure, fonctionne à merveille lorsque le trafic augmente régulièrement, mais les performances sont fortement dégradées lorsque le trafic décolle soudainement. » Non seulement ces pics de trafic s'accompagnent d'une perte de performances, mais dans la mesure où Autoscale s'adapte à la charge à la demande, les pics ponctionnent directement le portefeuille de M. Hunt.
En outre, Troy Hunt s'est inquiété de l'utilisation de l'API de HIBP par certains acteurs malveillants. Bien que l'API ait été créée pour aider les utilisateurs à savoir s'ils ont été victimes d'une fuite de données, M. Hunt a expliqué que « récemment, divers indicateurs ont montré que l'API avait été utilisée d'une manière qui ne correspondait pas à l'esprit dans lequel elle avait été créée. Je n'ai pas envie que cela continue ».
M. Hunt cherchait donc une solution, d'une part pour maintenir les performances du web et atténuer les coûts en cas de pics de trafic, d'autre part pour empêcher que son API ne soit utilisée de manière abusive.
La solution de Troy Hunt : utiliser le service de limitation du débit Rate Limiting pour bloquer les acteurs malveillants
Troy Hunt a trouvé une solution unique à ses nombreuses exigences dans le service Rate Limiting de Cloudflare. La solution Rate Limiting aide Troy Hunt à gérer les pics de trafic en lui permettant de fixer une limite au nombre de requêtes provenant des différentes adresses IP qui accèdent respectivement à ses sites web et à son API sur une période donnée. Elle empêche les pics de trafic de réduire les performances, car chaque utilisateur unique est limité à un certain nombre de requêtes. Troy Hunt a fixé cette limite de manière à ce que les utilisateurs normaux ne constatent aucun impact sur le service, tandis que les utilisateurs qui abusent de ses sites web et de son API voient leur trafic étranglé. L'API de Troy Hunt conserve ainsi ses performances et sa fiabilité pour le trafic légitime, tandis que le trafic provenant des acteurs malveillants se retrouve empêché et bloqué. Troy Hunt s'est montré très satisfait : « Vous avez rendu l'ensemble du site plus stable, plus rapide et plus sûr pour les utilisateurs légitimes, tout en réduisant mes coûts » .
Rate Limiting empêche les acteurs malveillants d'abuser de l'API de HIBP
90 % d'économies sur les coûts d'infrastructure
99,5 % des requêtes servies directement depuis le cache de Cloudflare
“La limitation du débit me garantit que je peux continuer à exécuter mon service de manière fiable, rentable et éthique.”
Troy Hunt