KillBot: защита от ботов и DDoS — два года разработки на живом трафике

Привет! Я Григорий Мельников, создатель сервиса защиты сайта от ботов KillBot. Сегодня я расскажу о всех граблях которые собрал при создании своего сервиса.
Два года назад, в мае 2024 года, я впервые представил KillBot пользователям. Тогда это был сырой JS-анализатор ботов на сайте.
Прямо сейчас к KillBot подключено более 3000 сайтов (это именно те, через которые идет трафик), сервис работает более чем на 12 серверах, а за сутки через него проходит более 2 миллионов реальных посетителей и почти столько же ботов.
KillBot используется и интегрируется сторонними компаниями, включая ActiveCloud, eLama, CDNVideo. Есть и другие интеграции, которые я не могу раскрывать.
Сегодня я могу спокойно сказать: к KillBot можно подключить не один сайт с миллионной аудиторией и всё будет стабильно работать. Мощностей много, код отлажен, инфраструктура распределена.
Сформированные нейронные связи разорвать очень сложно
Сначала делаешь продукт, а потом пытаешься его куда-то всунуть. Это классическое мышление кодера (и не только): ты умеешь писать код - ты пишешь код.
- А анализ рынка?
- Не, не слышал.
Сложно разорвать зачерствевшие нейронные связи, изменить собственное мышление и начать действовать по-другому, когда ты годами только писал код.
В далёком 2019 году я совершил именно эту ошибку - написал первую версию KillBot без анализа рынка и выявления реальных потребностей. Тогда ботов было значительно меньше. Не существовало поведенческого трафика в промышленном масштабе, Метрика не была забита ботами. В итоге я потратил время на разработку продукта, который в тот момент оказался никому не нужен, - и просто забил.
К 2024 году ситуация стала совершенно другой. Я вспомнил про старые наработки и снова показал KillBot - практически в том же виде и на том же сайте на Drupal 8, который сделал ещё в далёком 2019 году. Это был абсолютно сырой продукт: никакой распределённой инфраструктуры, DNS-экранов, нескольких серверов, API-интеграций и всего того, что есть сейчас. KillBot представлял собой JavaScript-код. Он запускался на сайте, анализировал посетителя и помечал визиты ботов в Метрике.
Но самое главное - KillBot реально видел поведенческих ботов. И я сразу получил первые продажи.
"В основе - ТЕХНОЛОГИЯ": Питер Тиль, сооснователь PayPal
Технология - это то, о чём ты будешь рассказывать и что в итоге будешь продавать.
У KillBot есть собственная технология программных слепков браузера и свой подход к выявлению ботов, который не используют классические антибот-системы.
KillBot действительно не похож на остальные решения ни по настройкам, ни по самой идее - именно в части выявления поведенческих ботов. KillBot не смотрит на IP, User-Agent, не генерирует классический fingerprint. KillBot смотрит на софт, которым бот сгенерирован. И именно этот софт в терминах KillBot называется «слепком браузера». Такой подход позволяет всех ботов, порождённых одной бот-программой, пометить одним числом, несмотря на то, что внешне они выглядят как совершенно разные пользователи - со своими параметрами, браузерами и IP.
Полное описание всех возможностей системы KillBot можно посмотреть здесь. Так же Килбот имеет свой уникальный функционал, который не был заимствован, это: загрузка CPU боту, смотреть как бот тапает поверх капчи, выпиливание бота из аналитики, UserID не зависящий от куки, сколько капч решено и сколько показано.
Плюс Килбот работает НЕ как черный ящик - Килбот открыто скажет почему именно этот визит помечен как бот и, в случае ошибки, это можно исправить. Так же настройку Килбот можно осуществлять с настройкой Яндекс Директ, об этом написано в другой статье на Хабре.
А функция выпиливания ботов из Метрики самая востребованная: это нужно, чтобы боты не топили сайт в поисковой выдаче.
Среднее время на сайте, глубина просмотра, общее количество посетителей - все это факторы поискового ранжирования и они, в том числе, берутся и из Метрики. Вот видео, со ссылкой на слив факторов поискового ранжирования там рассказывается какие именно поведенческие метрики участвуют в ранжировании.
Чтобы видеть всех современных поведенческих ботов Килбот не нужна информация о поведении пользователя в интернете - да и такой инфы у Килбота и нет (всё-таки не масштабы отечественного поисковика). Если на сайт налить трафик из любой бот программы, нагнать ПФ трафика - то все такие заходы Килбот схлопнет в один или несколько слепков (пометит одним числом) - т.е. все ПФ боты отсеиваются очень легко.
Важность собственной технологии раскрывает Питер Тиль, сооснователь PayPal, в книге «От нуля к единице. Как создать стартап, который изменит будущее» : очень интересная книга, так же рекомендую к прочтению.
Лучшее качество по наименьшей цене
Это формула Генри Форда, и она реально работает. Вот посмотрите на себя: когда вы сидите в маркетплейсе и выбираете товары, вы видите одно и то же и купите то, что дешевле, а не потому, что продавец круче, картинка красивее и т. п.
Сейчас 20$ в месяц - психологически понятная цена для массового цифрового сервиса, это та цифра, которую пользователи готовы платить. Поэтому вокруг стоимости в 20$ и крутятся подписки в KillBot. Цены плавают от 0$ до 50$ в зависимости от подписки.
Не каждый готов платить, поэтому тем, кто не хочет этого делать, нужно дать возможность бесплатного использования. Много сервисов дают часть функциональности бесплатно.
Например - Cloudflare: он позволяет полностью бесплатно подключить сайт к защите. Не вижу причин запрещать делать то же самое.
В KillBot, как и в Cloudflare, сайт можно подключить к DNS-защите бесплатно. Это даст защиту от DDoS L3/L4 + L7, базовую защиту от спама, защиту от парсинга простыми HTTP-ботами и защиту от сканирования на уязвимости. Плюс KillBot покажет ВСЕХ ботов на сайте - результат работы Килбота будет сразу видно. НО, если нужно выпилить ботов из Метрики, не пустить на сайт, заблокировать или написать правило, то тут уже нужна подписка. То есть KillBot, как и Cloudflare, позволяет подключить сайт к полноценной базовой защите абсолютно бесплатно.
Лучше всего этот под описывает сам Генри Форд в книге «Моя жизнь. Мои достижения». Он доказал: бизнес растет быстрее, если не выжимать максимум из цены, а снижать её ради миллионов. Бесплатный базовый тариф - это эволюция фордовского конвейера. Мы убираем барьер для входа, а за счет массовости и автоматизации даем лучшее качество.
Дизайн НЕ зависит от продаж
Пользователь покупает начинку, а не упаковку - иначе бы всё компьютерное железо продавалось в бантиках и рюшечках. Но нет, для успешной продажи достаточно куска железа, который выдаст нужную мощность.
Так же и я в 2024 году я достал сайт на устаревшем движке - и он взлетел, хотя когда движек сайта был относительно свежим (для своего времени) - сервис был никому не нужен.
Для функционирования сайта достаточно тёмных букв на белом фоне - это и GitHub, и YouTube, и другие технические сайты. Это очень удобно, так как нет ничего лишнего.
Дизайн - это не "красота", это интерфейс взаимодействия. Если черные буквы на белом фоне выполняют свою задачу передачи информации на 100%, то любые графические изыски и рюшечки становятся вредным шумом, который только мешает пользователю получить пользу. Это классно описано в книге Дональда Нормана «Дизайн привычных вещей».
А потом в Килбот пришёл DDoS
Рубеж 2025-2026 годов был сложным. К этому времени KillBot превратился в полноценный DNS-экран, который ставится перед сайтом. Весь трафик идёт на сервер KillBot и только потом - на сам сервер сайта.
Защищаемые сайты можно подключать к общим облачным серверам Килбота, НО с новыми сайтами пришёл и DDoS.
KillBot изначально не создавался как анти-DDoS. Но пришлось воплотить в жизнь и этот момент. Если общий сервер KillBot падает, то упадут и все сайты, которые к этому серверу подключены, - этого нельзя было допустить.
KillBot можно развернуть на своем сервере (VPS). Если ты используешь свой личный сервер Килбота, то проблемы общих облачных серверов тебя не коснутся. Так и делали и делают некоторые клиенты.
Но мало кто хочет разворачивать у себя ещё один VPS и поддерживать его. Поэтому облачное решение Килбота сейчас самое востребованное - нужно просто поменять ДНС А запись сайта на сервер Килбота и всё будет работать.
DDoS до сих пор окружён страхом. И вина в этом, в том числе, и на хостинг-провайдерах: если сайт на хостинге начинают DDoSить, то хостинг просто отрубит сайт и напишет: «ВАШ САЙТ ПОД DDoS». И именно факт блокировки сайта хостингами породил чувство страха, которого на самом деле быть не должно.
Например, один из хостинг-провайдеров тупо отрубает сайт, даже если на него просто пустить много запросов с одного IP. Заместо того, чтобы просто заблокировать один IP который жрет весь проц - он тупо отрубит сайт от хостинга - неадекватное поведение. Поэтому даже к таким элементарным рабочим ситуациям притягивают термин DDoS и заставляют пользователей бояться.
Все серверы KillBot сейчас держат DDoS и не падают как было на стадии активной разработки - это касается и общих серверов, и тех серверов, на которых KillBot будет развёрнут. Общие серверы KillBot - это как хостинг, но сайты подключаются к нему с целью защиты. При DDoS сайт клиента даже не заметит этого, а на обычном хостинге тебя отрубят, чтобы другие сайты не страдали.
НУЖНО давать сдачи
Как писал Никколо Макиавелли в Государе: "необходимые удары следует наносить сразу, чтобы не приходилось постоянно их повторять". Очень рекомендую почитать. Книге 500 лет, но ВСЕ её постулаты актуальны и сейчас.
Когда читаешь Макиавели или Цезаря, то понимаешь, что грамотные и умные люди - они не зависят от эпохи: и 500 лет назад и 2000 лет назад люди были очень грамотными. Homo sapiens мы, как никак.
По всем инцидентам DDoS атак на сервера Килбота были обращения в правоохранительные органы. Один из злоумышленников даже слил свои личные данные в момент атаки (но тут был не ДДоС - злоумышленник пытался взломать именно движек сайта и потенциально мог получить доступ к базе данных). Он выполнял свою противозаконную работу со своего домашнего компа в режиме инкогнито и даже без прокси (смелости много, так как не в РФ живет). Произошло это в первую ночь сразу после публикации моей статьи про ботов в контекстной рекламе - статья очень интересная, сразу добавьте в закладки чтобы не забыть прочитать.
Я не буду раскрывать, как именно он лажанулся и слил свою страницу ВКонтакте. Но маркетологи тут же смогут накидать варианты, как можно узнать контакты человека просто по факту захода на сайт, - можете сделать это в комментариях. В моём случае злоумышленник слажал по-другому (не через маркетинговые фишки), но направление примерно такое же. Подробнее об этом инценденте я написал в своем телеграм канале, вот этот пост.
Лажают все, поэтому главное - как ты на это реагируешь
Да-да, и ты тоже лажаешь. Просто наш мозг устроен так, что про свою лажу я забываю, а лажу оппонента буду помнить всю жизнь.
Мы предвзяты к чужим ошибкам и абсолютно слепы к своим (слепота к собственной слепоте), потому, что мозг экономит энергию и всегда считает себя правым по умолчанию. Именно про это написано в книге Даниэля Канемана: "Думай медленно... Решай быстро".
Был период, когда общие серверы от DDoS падали - это была наша лажа, и тут я мог только извиниться и объяснить, что сервис находится в активной разработке: этого типа DDoS на сервера еще не было, мы уже поняли как он работает и уже делаем защиту.
Если ты слажал, не нужно лукавить - твой собеседник грамотный, он всё поймёт. Нужно сказать как есть. Если ты скажешь как есть, то оппонент сможет выстроить с тобой рабочую стратегию, которая приведёт к успеху. А если ты прикрылся, то ничего планировать с тобой нельзя, так как фундамента для предсказания нет.
Провайдеры тоже лажают
И это косяк. Так как твой косяк + косяк провайдера = двойной косяк.
У всех у нас сайты и все мы зависим от оборудования на котором они хостятся.
И так, основные косяки провайдеров серверов:
Продают сервер без защиты от DDoS L3-L4 - хотя обещали.
Регулярные недоступности сервера (под регулярной недоступностью я понимаю что несколько раз за пол года сервер валяется по несколько часов не в ночное время)
ДОЛГИЙ ответ поддержки - это критическая инфраструктура - у меня к серверу 700 сайтов подключено - если что случилось нужен быстрый ответ. Ответ нужен быстрый вне зависимости от суммы денег которую я плачу.
Если за 12 часов не ответить на жалобу левых неудачников, то сервер блочат без предупреждения (т.е. предупреждение отсылают куда то, но 12 часов это отличный период чтобы его пропустить). Да, есть и такой неадекватный провайдер - даже позвонить не могут, и договориться с ними по этому моменту нельзя.
При ДДоС L7 арендованный VPS встаёт колом и на него не зайти - этим страдают очень многие.
Я перепробовал много крупных провайдеров, и из всех максимальную надежность показывает только тот, на котором большинство российских серверов Килбота (я бы имя провайдера написал тут, но, по правилам, боюсь, что нельзя). Из всех вышеописанных проблем с этим провайдером я не словил ни одну. Т.е. если встанете перед выбором, то рекомендую. НО это моя личная рекомендация исходя из моего опыта и моих задач. Ваши цели могут отличаться.
РКН научил KillBot жить сразу на нескольких IP
Помимо возможных твоих косяков и косяков партнёров есть ещё косяки, придуманные окружением: у тебя IP прекрасно пингуется, а у клиента - нет. Где-то фильтры операторов, глушилки, фильтрация РКН, где-то корпоративные firewall, где-то особенности маршрутизации, где-то ещё что-нибудь.
Проблема эта решилась путём подключения сайта к НЕСКОЛЬКИМ IP. Если у сайта несколько DNS A-записей, то браузер может использовать другой рабочий IP. Это очень хорошо работает в текущих условиях.
Допустим, у сайта прописано три DNS A-записи. Если браузер не может установить соединение с одним IP, то браузер может попробовать другой. Это хорошо решает локальные проблемы доступности и блокировок.
Входите в KillBot
Килбот сейчас - это мощный фундамент на котором можно построить ракету и улететь в космос. Килбот - это технология и подход к фильтрауции ботов, которые не используют остальные антибот системы.
Сервис открытый, потенциал - огромный. Проекту нужен рост, проекту нужен доступ к медийности, поэтому если у вас свой блог, портал, если вы имеете доступ к множеству пользователей, то входите в Килбот. Вместе мы сможем создать продукт мирового уровня, а не просто сидеть и думать куда пристроить свои уникальные способности (нейронные связи).
В одном только Яндекс Директ сейчас примерно 600 тысяч рекламодателей в год. В Килботе сейчас всего 3000 сайтов. Т.е. потенциальный рынок просто огромен - мы сможем вместе вырасти и забрать часть этого классного рынка.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.