Захист від ботів і rate limiting: як відсіяти автоматизований трафік
Не всі боти однакові
Значна частина трафіку будь-якого сайту — це боти, і це нормально. Пошукові краулери, монітори доступності, платіжні вебхуки — усе це автоматизовані клієнти, яких ви хочете пропускати. Проблема в іншій категорії: сканери вразливостей, перебір паролів (credential stuffing), скрапери контенту й накрутка. Мета захисту від ботів — не заблокувати геть усе автоматизоване, а відрізнити корисне від шкідливого й не зачепити живих людей.
Rate limiting — перший рубіж
Обмеження частоти запитів (rate limiting) — це найпростіший і найдешевший інструмент: клієнт, який б’є по вашому ендпоінту входу сотні разів за хвилину, поводиться не як людина. Ключова деталь у хмарному WAF — де саме рахувати ліміти. У Smart WAF гарячий шлях іде спершу через shared-пам’ять воркера (нанонсекунди), потім через Redis як розподілений лічильник, і лише в останню чергу торкається бази. Такий порядок дає змогу тримати ліміти на межі мережі, не навантажуючи ваш origin.
Драбина challenge замість стіни
Rate limiting відсіює грубий флуд, але розумніший бот тримається «під радаром». Тут працює драбина challenge — підозрілий клієнт не блокується наосліп, а проходить сходинки складності:
- Proof-of-work — браузер має виконати невелику обчислювальну задачу. Для людини це непомітно, а для масової автоматизації стає дорого.
- CAPTCHA — наступна сходинка (Turnstile або hCaptcha) для клієнтів, що не пройшли попередню.
- Web Bot Auth (криптографічні підписи HTTP-повідомлень) — механізм, що дозволяє перевіреним ботам довести свою легітимність криптографічним підписом, а не блокуватися разом зі шкідливими.
Поверх цього працює ML entity-scoring: оцінка ризику проходить етапи detection → verify → enforce, тож новий сигнал спершу доводить себе й лише потім отримує право блокувати.
Чому це важливо для видимості
Кожна дія — обмеження, challenge, блокування — фіксується в незмінному (append-only) аудит-логу. Ви бачите не просто «заблоковано», а що саме спрацювало й чому. Політики оновлюються майже миттєво: зміни доходять від control plane до edge менш ніж за секунду через watch нашого сховища конфігурації.
Чесно про межі
Ми не CDN і не обіцяємо «нескінченної» ємності. Наш фокус — керований WAF із захистом від ботів на межі, з нодами в ЄС (Hetzner, OVH, Scaleway) і резидентністю даних у ЄС. Бюджет на додаткову затримку — до 5 мс за проєктом; ми не наводимо непідтверджених продакшн-цифр.
Хочете відсіяти шкідливий автоматизований трафік на власному домені? Напишіть нам.