DDoS Deflate - это облегченный сценарий оболочки bash, предназначенный для помощи в процессе блокировки атаки типа «отказ в обслуживании». Это одно из самых простых и простых решений на программном уровне.
Как это работает: он отслеживает и контролирует все IP-адреса, подключающиеся к серверу, с помощью команды netstat. Каждый раз, когда он обнаруживает, что количество подключений от одного узла превышает определенные предельные значения предварительного тестирования, которые определены в файле конфигурации, сценарий автоматически блокирует этот IP-адрес через таблицы IP или APF в соответствии с конфигурацией.
Он использует приведенную ниже команду для создания списка IP-адресов, подключенных к серверу, вместе с их общим количеством подключений.
netstat -an | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Особенности:
- IP-адреса можно занести в белый список через /etc/ddos/ignore.ip.list.
- Можно внести имена хостов в белый список через /etc/ddos/ignore.host.list.
- Простой файл конфигурации: /etc/ddos/ddos.conf
- IP-адреса автоматически разблокируются по истечении заданного времени (по умолчанию: 600 секунд).
- Скрипт может запускаться как задание cron с выбранной частотой через файл конфигурации (по умолчанию: 1 минута).
- Скрипт может запускаться как демон с выбранной частотой через файл конфигурации (по умолчанию: 5 секунд)
- Вы можете получать оповещения по электронной почте, когда IP-адреса заблокированы.
- Блокировка управления по состоянию соединения (см. Man netstat).
- Автоопределение межсетевого экрана.
- Поддержка APF, CSF, ipfw и iptables.
- Записывает события в /var/log/ddos.log
- Использует tcpkill, чтобы уменьшить количество процессов, открытых злоумышленниками.
Как установить DDoS Deflate
Как пользователь root выполните следующие команды:
Код:
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip
разархивировать master.zip
CD ddos-deflate-master
./install.sh
После установки DDoS Deflate измените файлы конфигурации в соответствии со своими потребностями.
/etc/ddos/ignore.host.list
В этот файл вы можете добавить список имен хостов для внесения в белый список, например:
Код:
googlebot.com
my-dynamic-ip.somehost.com
/etc/ddos/ignore.ip.list
В этот файл вы можете добавить список IP-адресов для внесения в белый список, например:
Код:
12.43.63.13
129.134.131.2
/etc/ddos/ddos.conf
Поведение сценария ddos изменяется этим файлом конфигурации.
После изменения файлов конфигурации вам необходимо перезапустить демон. Если работает на systemd:
systemctl restart ddos
При запуске как классический сценарий init.d:
/etc/init.d/ddos restart
или же
service ddos restart
Если вы запускаете сценарий как задание cron, перезапуск не требуется.
Применение:
ddos [OPTIONS] [N]
N : количество соединений TCP / UDP (по умолчанию 150)
ПАРАМЕТРЫ:
-h | --help: показать экран справки.
-c | --cron: создать задание cron для регулярного запуска скрипта (по умолчанию 1 минута).
-i | --ignore-list: вывести список IP-адресов из белого списка.
-b | --bans-list: список заблокированных в настоящее время IP-адресов.
-d | --start: Инициализировать демон для мониторинга соединений.
-s | --stop: остановить демон.
-t | --status: показать статус демона и pid, если он запущен.
-v | --view: отображать активные подключения к серверу.
-k | --kill: заблокировать все IP-адреса с более чем N подключениями.
СКАЧАТЬ DDOS DEFLATE