Image

База знаний → Настройка DDOS Deflate для защиты от SYN атак

[Виртуальные сервера]
Дата публикации: 27.01.2023

Достаточно популярной и наиболее частой является атака 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 соединений.





Нет комментариев