Достаточно популярной и наиболее частой является атака SYN Flood, отправка большого количества запросов на веб сервер, данный тип атак создает большое количество соединений к веб серверу, что приводит к отказу от обслуживания если во время не заблокировать ip адреса ботов. Установка и настройка осуществляется на операционной системе CentOS 7. Оригинал программы находится по адресу https://github.com/jgmdev/ddos-deflate.
1. Нам необходимо скачать и установить ddos deflate
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip -O ddos.zip
unzip ddos.zip
cd ddos-deflate-master
./install.sh
2. Настройка
/etc/ddos/ignore.host.list
/etc/ddos/ignore.ip.list
/etc/ddos/ddos.conf
В файл ignore.ip.list необходимо внести ip адреса которые назначены серверу. Далее в файле конфигурации меняем настройки на свои:
/etc/ddos/ddos.conf
NO_OF_CONNECTIONS=390
ONLY_INCOMING=false
ENABLE_PORTS=false
EMAIL_TO="user@domain.tld"
BAN_PERIOD=5400
Обратите внимание значение NO_OF_CONNECTIONS=390 должно быть меньше чем у Вас задано в ограничениях фаервола. Укажите свой email и запустите службу.
service ddos start
Проверьте, что сервис работает командой
ps aux | grep ddos
Также мы рекомендуем добавить его запуск в cron на случай если служба завершится.
*/5 * * * * nice -n -5 /usr/local/ddos/ddos.sh -d >> /dev/null 2>&1
На случай зависания рекомендуем добавить ее в скрипт мониторинга нагрузки в виде команды
service ddos restart
3. Использование CLI
ddos [OPTIONS] [N]
OPTIONS
-h | --help:
Показывает окно помощи.
-c | --cron:
Добавить скрипт в cron (по умолчанию каждую 1 минуту).
-i | --ignore-list:
Белый список ip
-b | --bans-list:
Показать заблокированные на данный момент адреса.
-u | --unban:
Разблокировать определенный ip адрес.
-d | --start:
Запустить как службу в фоне.
-s | --stop:
Остановить службу.
-t | --status:
Показать статус службы и его pid если запущен.
-v[4|6] | --view [4|6]:
Показать активные соединения.
-y[4|6] | --view-port [4|6]:
Показать активные соединения включая порт.
-k | --kill:
Заблокировать все ip адреса, у которых больше N соединений.