98 % des requêtes vers git.kernel.org sont générées par des bots, créant une énorme charge parasitaire

Konstantin Ryabtsev, administrateur de l'infrastructure kernel.org, a publié les résultats d'une analyse du trafic du service git.kernel.org, qui permet de consulter le contenu des dépôts git des projets liés au développement du noyau Linux. Chaque jour, le service traite environ 6 millions de requêtes d'informations sur les commits, dont 66 % proviennent de bots que l'on parvient à bloquer grâce au système Anubis. 33 % des requêtes passent par le système Anubis, qui n'autorise l'accès qu'après avoir trouvé en JavaScript une valeur dont le hachage SHA-256, combiné avec une chaîne fournie par le serveur, comporte un certain nombre de zéros initiaux (cette tâche nécessite des ressources CPU pour être résolue, mais pas pour la vérification).

Il est impossible de déterminer exactement qui parmi ces 33 % sont des humains et qui sont des bots avancés, mais en raison de la nature des requêtes, on conclut que la part totale des requêtes légitimes est d'environ 2 %, tandis que les 98 % restants concernent des scrapers. L'une des caractéristiques des bots est de faire des requêtes directes sur d'anciens commits dans des branches anciennes au hasard, ce qui est peu probable qu'il soit nécessaire pour les humains dans leur travail. L'activité des bots génère une énorme surcharge parasite sur serveurs car au lieu de charger une seule fois tout le code et l'historique des commits via l'opération « git clone », les bots envoient des milliards de requêtes, parcourant toutes les options d'accès via l'interface web et demandant sans cesse les mêmes données avec différents paramètres.

Le blocage des bots par adresses IP et systèmes autonomes a rapidement cessé de fonctionner, car les bots ont commencé à envoyer des requêtes depuis des millions d'adresses IP aléatoires provenant de réseaux domestiques ou mobiles, obtenues grâce à l'activité de botnets ou à la monétisation d'extensions de navigateur. Depuis chaque adresse, seulement 4 à 5 requêtes sont envoyées, il est donc inutile de les bloquer au niveau du pare-feu.

Pendant un certain temps, le système Anubis a aidé à bloquer les bots, mais avec le temps, les bots se sont adaptés pour réaliser les calculs proposés dans Anubis. Parmi d'autres, les bots ont appris à résoudre des problèmes de niveau 5 de difficulté, et il devient difficile d'augmenter le niveau car même le cinquième niveau nécessite plusieurs secondes de calcul, ce qui agace fortement les utilisateurs légitimes.

En fin de compte, la gestion des requêtes des scrapers dans l'infrastructure de kernel.org nécessite plus de ressources que toutes les autres opérations légitimes, y compris « git clone ». Sur 5 serveurs, servant git.kernel.org, à tout moment, 14-16 des 90 cœurs CPU disponibles sont constamment occupés à afficher les commits git pour les bots. Afin de réduire la charge, les administrateurs essaient désormais de restreindre les capacités du service, de désactiver certaines opérations gourmandes en ressources, de limiter l'accès anonyme et de réduire le nombre de liens disponibles pour la navigation.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster