98% запитів до git.kernel.org формують боти, створюючи величезне паразитне навантаження

Костянтин Рябцев, адміністратор інфраструктури kernel.org, опублікував результати аналізу трафіку сервісу git.kernel.org, що дозволяє переглядати вміст git-репозиторіїв проектів, пов'язаних із розробкою ядра Linux. Щодня сервіс обробляє близько 6 млн запитів інформації про коміти, з яких 66% припадають на роботи, яких вдається блокувати за допомогою системи Anubis. 33% запитів проходять перевірку системи Anubis, що дозволяє вхід тільки після підбору на мові JavaScript значення, хеш SHA-256 від якого в поєднанні з виданим сервером рядком містить певну кількість провідних нулів (це завдання вимагає ресурсів CPU для вирішення, але не вимагає ресурсів для перевірки).

Точно визначити, хто з цих 33% людей, а хто просунуті боти, неможливо, але за характером звернень зроблено висновок, що загальна частка легітимних запитів приблизно 2%, а решта 98% припадають на скраппери. Однією з ознак роботів розглядаються прямі запити старих коммітів у випадкових старих гілках, які малоймовірно, що можуть знадобитися людям у роботі. Активність роботів створює величезне паразитне навантаження на сервери тому що замість того, щоб один раз завантажити весь код та історію коммітів через операцію «git clone», роботи надсилають мільярди запитів, перебираючи всі варіанти звернення через web-інтерфейс і багаторазово запитуючи одні й ті самі дані з різними параметрами.

Блокування ботів по Моя IP адреса і автономним системам досить швидко перестала працювати, оскільки боти перейшли на відправлення запитів з мільйонів випадкових IP-адрес з домашніх або мобільних мереж, отриманих в результаті активності ботнетів або монетизації браузерних доповнень. З кожної адреси надсилається лише 4-5 запитів, тому блокувати їх на рівні міжмережевого екрану марно.

Якийсь час блокувати боти допомагала система Anubis, але згодом боти адаптували до виконання запропонованих у Anubis обчислень. Серед іншого боти навчилися вирішувати завдання 5 рівня складності, а далі підвищувати рівень проблематично, тому що навіть п'ятий рівень потребує кількох секунд обчислень і дуже дратує легітимних користувачів.

У результаті обслуговування запитів скрапперів в інфраструктурі kernel.org доводиться витрачати більше ресурсів, ніж на всі інші види легітимних операцій, включаючи «git clone». На 5 серверах, що обслуговують git.kernel.org, у будь-який момент часу 14-16 з наявних 90 ядер CPU постійно зайняті відображенням git-коммітів для роботів. Для того, щоб знизити навантаження адміністратори тепер намагаються урізати можливості сервісу, відключити деякі ресурсомісткі операції, обмежити анонімний доступ і скоротити кількість доступних для навігації посилань.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster