Protéger son origin avec le Ratelimiting
Chapitres
Transcription
bonjour anton brosseau solution engineer chez cloudflare dans cette vidéo on va se parler de rate limiting comment protéger ses endpoints contre des abus donc la problématique là où avoir besoin de rate limiting c'est pour se protéger sur des endpoints qui vont de toute façon à l'origine donc des choses qu'on peut pas mettre en cache typiquement par exemple des logins des gens qui vont se logger sur notre application des requêtes qui sont mutatives donc on peut pas être en cache la recherche on va pas avoir forcément tout en cache ou alors juste des endpoints dpi qui vont chercher de la donnée très spécifique pour l'utilisateur qu'on va pas pouvoir mettre en cache ou alors un trop grand nombre de variations ont fait qu'on n'a pas beaucoup de cache sur ces endpoints comment on peut se protéger ici je prends un exemple d'un moteur de recherche qui est abusé la façon avec laquelle on va pouvoir se protéger mais c'est de compter le nombre de fois où un attaquant fait un appel et s'il va dépasser le seuil on va fixer alors on va le bloquer je vous montre montre un exemple donc ici sur cette application j'ai un moteur de recherche ici je me mets à chercher des termes on a toujours en fait bypass donc on a toujours des une requête qui va à l'origine donc on est parti ici je vais lancer des requêtes contre mon application donc on voit qu'on en lance pas mal et on a toujours des 200 donc maintenant si je regarde sur la plateforme dans la ui on voit je commence à avoir beaucoup d'appels qui sont servis par l'origine et si on regarde on a bien des calls à destination de notre moteur de recherche passe search avec une query qui change à chaque fois on va mettre en place le rate limiting pour arrêter cette attaque on va aller dans security role et on va créer une nouvelle règle et on va créer une règle de rate limiting on va lui donner un nom et on va mettre quand le chemin on tient assez important search pourquoi c'est important de pas mettre exact parce que vous pouvez très bien avoir utilisateurs qui vont tenter de faire ça vous êtes à quand à chaque fois qu'on va changer de paramètre ça va créer on va pas compter ou alors on va craindre vos compteurs et maintenant on va pouvoir compter sur voir avec qu'est ce qu'on peut compter alors ip juste sur l'ip ip avec notre support c'est qu'on va ajouter un un coût qu'ils avaient les ip sont sont partagés numéro d'as j a3 j a4 figure printing peut le faire aussi mais alors là pour la démo on va juste baser sur l'adresse ip et on va autoriser dix requêtes sur une période de une minute pour le test et comme action on va demander un blocage et donc on devra recevoir des 429 si on dépasse le seuil et après en termes de combien de temps on va rester en fait dans cette zone de blocage on va mettre cinq minutes et voilà maintenant je suis passé de d'avoir des 200 ici avoir des 429 maintenant c'est cloudflare qui bloquent les rares des requêtes rapidement dans notre liste de règles on voit le nombre de fois où cette règle de rate limiting ici a été déclenché donc si je clique ici à voir une vue minutes ici la vue des règles des roquettes qu'on a arrêté limité ici on a fait un rate limiting assez basique sur l'ip mais on peut aller beaucoup plus loin avec le flair notamment se basant sur l'empreinte tls si on avait un attaquant qui qui avait une poule d'ip et qui utilisait des proxys résidentiels on pourrait compter un en fonction des l'empreinte tls de l'outil du script qu'ils utilisent je vous remercie d'avoir regardé cette vidéo à très vite