Всем привет. Представляю вам скрипт "DDos-deflate" для защиты от DDos - атак.
Страница разработчика -== jgmdev/ddos-deflate
Разработчик -== jgmdev
Это улучшенный скрипт. Вот старая версия -== Amet13/ddos-deflate
PS. Если перевод отличный , то это хорошо , а если нет , то земля мне пухом.
DoS Deflate - это легкий сценарий оболочки bash, предназначенный для помощи в блокировании атаки на отказ в обслуживании. Он использует приведенную ниже команду для создания списка IP-адресов, подключенных к серверу, вместе с их общим количеством подключений. Это один из самых простых и простых в установке решений на уровне программного обеспечения.
Код:
netstat -an | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
IP-адреса с предварительно настроенным количеством подключений автоматически блокируются в брандмауэре сервера, который может быть прямым ipfw, iptables или брандмауэром расширенной политики (APF). (Мы настоятельно рекомендуем использовать APF на вашем сервере в целом, но спуск будет работать без него.)
Известные функции:
Можно переадресовать 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, чтобы уменьшить количество процессов, открытых злоумышленниками.
Установка и запуск.
Код:
wget https://github.com/jgmdev/ddos-deflate/archive/master.zip
unzip master.zip
cd ddos-deflate-master
./install.sh
Код:
#cd src
# ./ddos.sh
# ./ddos.sh --start
#./ddos.sh --status
Справка:
-h | --help: Show this help screen
-c | --cron: Create cron job to run this script regularly (default 1 mins)
-i | --ignore-list: List whitelisted ip addresses
-b | --bans-list: List currently banned ip addresses.
-u | --unban: Unbans a given ip address.
-d | --start: Initialize a daemon to monitor connections
-s | --stop: Stop the daemon
-t | --status: Show status of daemon and pid if currently running
-v | --view: Display active connections to the server
-k | --kill: Block all ip addresses making more than N connections
Установщик автоматически обнаружит, поддерживает ли ваша система скрипты init.d, системные службы.
В случае init.d и systemd скрипт ddos запускается как демон, интервал мониторинга которого устанавливается по умолчанию в 5 секунд. Демон гораздо быстрее обнаруживает атаки.
Код:
Настраиваем конфиг.
# /etc/ddos/ignore.host.list
Настраиваем под себя.
[ATTACH]20612[/ATTACH]
В этом файле вы можете добавить список имен хостов для белого списка, например:
googlebot.com
my-dynamic-ip.somehost.com
codeby.net
# /etc/ddos/ignore.ip.list
Настраиваем под себя.
[ATTACH]20611[/ATTACH]
В этом файле вы можете добавить список ip-адресов для белого списка, например:
12.43.63.13
129.134.131.2
# /etc/ddos/ddos.conf
Настраиваем под себя.
Этот сценарий изменяет поведение сценария ddos. Для получения дополнительной информации Man ddos, в котором есть документация по различным параметрам конфигурации.
После изменения конфигурационных файлов вам необходимо перезапустить демон. Если работает на systemd:
# systemctl restart ddos
Если вы выполняете классический скрипт init.d:
# /etc/init.d/ddos restart
или
# service ddos restart
Вложения
Последнее редактирование модератором: