Как устроена защита BotProtection: Архитектура DDD + Mediator, балансировка нод и TLS-анализ
Нас часто спрашивают владельцы бизнеса и интернет-магазинов: «Как именно ваша система понимает, что на сайт зашел бот, и почему сайт не падает даже во время DDoS-атаки?»
Сегодня мы раскрываем ключевые инженерные решения нашей платформы фильтрации трафика простыми и понятными словами.
1. Архитектура DDD + Mediator Pattern
Код нашего обратного прокси построен по принципам DDD (Domain-Driven Design). Логика системы разделена на независимые и автономные домены (аналитика заголовков, проверка поведенческих паттернов, сверка IP-реестров). Все они взаимодействуют через единый Mediator (Медиатор).
Что это дает владельцу сайта? Максимальную надежность. Ошибка в одном модуле не вызывает каскадного сбоя, а каждая проверка выполняется параллельно за 1-2 миллисекунды. Сайт работает быстро и без задержек.
2. Балансировщик нагрузки между множеством нод
Весь входящий трафик защищаемых сайтов поступает на высокоскоростной Load Balancer (балансировщик нагрузки), который равномерно распределяет запросы между кластером автономных фильтрующих серверов (нод) в ЦОД Москвы и Санкт-Петербурга.
Что это дает владельцу сайта? Распределение нагрузки между доступными фильтрующими узлами. Это снижает риск того, что обновление или перегрузка одного узла повлияет на весь поток, но не заменяет резервирование и мониторинг самого сайта.
3. Поведенческий анализ: Ритм, распределение, частота и TLS Fingerprint
Современные скрипты и боты умеют подделывать User-Agent браузера и использовать ротируемые прокси. Но они не способны скрыть свое программное поведение. Наша нейросеть анализирует:
- Ритмику и интервалы запросов: Роботы совершают клики с характерной периодичностью, не свойственной живому человеку.
- Нормальное распределение: Сравнение поведения посетителя с математической моделью движения реальной аудитории.
- Частоту запросов к скриптам и формам: Отсечение мгновенного автозаполнения форм и парсинга каталогов.
- TLS Fingerprint (цифровой отпечаток шифрования): Проверка порядка криптографических шифров SSL/TLS соединения, который отличается у браузера Chrome/Safari и авто-скрипта Python/Go.
Комплексный анализ помогает оценивать запросы до передачи на origin-сервер. Как и любой фильтр, он может ошибаться, поэтому правила дополняются журналами, исключениями и ручной проверкой.