Если вы хотите развернуть KillBot на своем сервере, потребуется:
-
Свой VPS - рекомендую 2CPU, 2GB оперативной памяти и 10 Gb диск. Если трафика много, то диск можно взять больше - чтобы логи память не забили.
-
Операционная система: Ubuntu 22.04
-
Скачать установочный шел скрипт и запустить его на своем сервере (https://data.kill-bot.net/killbot_dns/kb_install.sh).
Для начальной установки в терминале ubuntu выполните эти команды:
sudo apt update
apt-get install wget
wget https://msk.killbot.ru/killbot_dns/kb_install.sh -O kb_install.sh
chmod +x kb_install.sh
yes '' | sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a ./kb_install.sh
Все, после этого будут скачаны файлы нужные для работы KillBot и создадутся конфигурационные файлы apache2.
Чтобы обновить Килбот нужно просто зайти на сервер килбота выполнить эту команду:
sudo /opt/killbot/UpdateAll.sh
После установки килбота дальнейшая конфигурация на сайте killbot.ru
Т.е. Килбот достаточно только установить на сервер, дальше сервер можно закрыть и забыть про него. Далее просто в личном кабинете килбот нужно прописать IP своего сервера килбота и сайт сам будет к нему цепляться:
Если вы хотите интегрировать килбота в свои алгоритмы, что-то доработать
То ниже инструкции о структуре файлов, командная строка для работы с килботом - все это читайте ниже.
Размещение файлов KillBot
Шел скрипт килбота kb_install.sh конфигурирует nginx+apache2 для работы в режиме реверс-прокси и установит letsencript сертификаты для поддержания закрытого https соединения. Т.е. А запись вашего сайта должна указывать на ваш сервер KillBot, а KillBot будет проксировать запросы на сервер вашего сайта, только если страница верификации пройдена.
KillBot размещает свои вспомогательные файлы в каталоге /opt/killbot.
Основные файлы:
-
Страница верификации:
/opt/killbot/html/verification.php(можно изменять, но важно ничего не сломать). -
Антиддос L7:
/opt/killbot/f2b/subnet-monitor.sh(мониторит лог nginx и автоматически добавляет диапазоны IP адресов в бан, если в минуту с одного диапазона более 1500 запросов). Работает очень хорошо, валидными http запросами с этим скриптом завалить сайт сложно. Конфигурацию можно редактировать здесь:/opt/killbot/f2b/subnet-monitor.sh, белый список IP (какие не банить) здесь:/opt/killbot/f2b/subnet-monitor-whitelist.conf -
Блокировка всех стран кроме разрешенных:
/opt/killbot/f2b/block_all_countries_exept.sh.Конфигурацию можно редактировать здесь:/opt/killbot/f2b/block_all_countries_exept.config
Если нужно на свой сервер поместить свой SSL сертифкат:
- В настройках домена нужно выставить "Выпустить Let's encrypt сертифкат"="нет"
- Свои файлы сертификата нужно поместить в директорию:
/opt/killbot/ssl/domain.com/.Тут domain.com замените на имя вашего домена и эту папку нужно создать -
В папку нужно поместить два файла сертификата: цепочка сертификатов и приватный ключ. При этом файлы сертификатов должны называться фиксировано:
/opt/killbot/ssl/domain.ru/privkey.pem
/opt/killbot/ssl/domain.ru/fullchain.pem

-
После загрузки своих сертификатов на сервер нужно нажать Reload DNS в настройках проекта на killbot.ru чтобы изменения применились.
Перед подключением экрана KillBot к вашему домену нужно:
- Изменить А запись домена на IP вашего сервера KillBot
- Удалить АААА запись, так как KillBot на текущий момент не работает с ipv6
Подключение сайта к экрану KillBot
Подключать сайты к серверу нужно только через интерфейс сайта KillBot.ru. Так нужно прописать IP сервера на каком развернут килбот. Далее, когда сайт подключен Килбот создает конфигурационные файлы Nginx и Apache которые подключат экран килбот и будут проксировать трафик на ваш сайт:
-
/etc/apache2/sites-available/domain-killbot.conf— конфигурация с подключенным экраном KillBot - весь трафик сайта проходит и анализируется сервером KillBot. -
/etc/apache2/sites-available/domain.conf— конфигурация реверс-прокси без KillBot - трафик полностью пропускается через сервер KillBot, но без проверки. Это если экран килбот нужно отключить.
ВНИМАНИЕ!!!
Экран KillBot можно подключить к сайту только после того, как IP-адрес подключаемого домена уже разрешается (резолвится) на сервер KillBot. До этого момента выпуск SSL-сертификата от Let's Encrypt невозможен.
Поэтому после изменения A-записи домена на IP-адрес сервера KillBot необходимо подождать, пока обновление DNS вступит в силу. Обычно это занимает от 5 до 30 минут.
Управление экраном KillBot
Командами ниже можно включать и отключать экран килбот прямо на сервере для каждого подключенного домена. Domain.com замените на домен вашего сайта:
-
Включить экран KillBot:
sudo kb ensite domain.com -
Отключить KillBot (трафик просто будет проходить через сервер KillBot без проверки):
sudo kb dissite domain.com -
Перезапустить сервер apache2 c экраном KillBot
sudo kb reload