• Привет !

    На форуме есть зеркало в ТОРе:rusfwz3cukdej7do.onion

    Обратная связь:info@ru-sfera.org

    Всего доброго !

Боремся с DDOS при помощи (D)DoS Deflate (1 Viewer)

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 409
Репутация
7 899
Telegram
Сегодня узнал про прикольную штуку, смысл в том, что крон дергает следующую
команду:
Код:
netstat -ntu 1 awk '{print $5}~ cut ~
-d: -fl 1 sort 1 uniq -с 1 sort -n
И айпи, число соединений с которых превышает заданное по конфигу, банятся файрволом.like it

Рассмотрим более подробно как юзать:

Принцип действия данного скрипта состоит в том, что им с некоторым интервалом (запуск осуществляется по cron) определяются IP, с которых превышен лимит на соединения к серверу.

Такие IP блокируются через iptables или apf на некоторое время и по истечению этого времени происходит их вынесение из запрещающих правил.

Разблокировка IP через некоторое время в таком случае дает два положительных момента:

1)При вынесении таблица правил не содержит очень большое количество записей, а только те, с которых недавно осуществлялась атака, это дает большую производительность фильтра пакетов (iptables или apf);

2)Снижается нагрузка на CPU путем предотвращения перебора большого количества правил для входящего пакета.

Установка (D)DoS Deflate:

Качаем установочный скрипт, даем ему права на выполнение и запускаем его
Код:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
В ходе установки в директорию /usr/local/ddos/ вносится сам скрипт, конфигурационные файлы и добавляется задание в cron.

В debian-подобных системах задание, внесенное в cron установочным скриптом не всегда выполняется (в данном случае именно так и произошло), поэтому нужно самостоятельно добавить выполнение скрипта с помощью команды:
Код:
crontab -e
Внести в редакторе заданий следующую строку:
Код:
*/1 * * * * nice -n -5 /usr/local/ddos/ddos.sh
Где */1 * * * * — указывает на выполнение скрипта с интервалом в 1 минуту.
Проверить, выполняется ли скрипт по cron можно с помощью просмотра /var/log/syslog. В нем должны содержаться строки вида
Код:
May 10 20:07:02 astreus /USR/SBIN/CRON[30284]: (root) CMD (nice -n -5 /usr/local/ddos/ddos.sh)
Далее проверяем вывод команды iptables-save и удостоверяемся, что в ее выводе содержатся запрещающие правила:

Код:
-A INPUT -s 41.72.34.212/32 -j DROP
...
-A INPUT -s 85.159.201.54/32 -j DROP
Общее количество запрещающих правил можно посмотреть с помощью команды
Код:
iptables-save | grep -c DROP
Файл конфигурации скрипта /usr/local/ddos/ddos.conf имеет следующую структуру:

Код:
##### Путь к основным составляющим работы скрипта
PROGDIR="/usr/local/ddos"
PROG="/usr/local/ddos/ddos.sh"
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" # список игнорируемых IP
CRON="/etc/cron.d/ddos.cron"
APF="/etc/apf/apf"
IPT="/sbin/iptables"
 
##### Интервал запуска скрипта в минутах
FREQ=1
 
##### Количество максимальных соединений с одного IP
NO_OF_CONNECTIONS=90
 
##### Если используем iptables - ставим 0
##### Если используем apf - устанавливаем его и ставим 1
APF_BAN=0
 
##### При запуске задания через cron,
##### разработчики рекомендуют значение этой опции 1
KILL=1
 
##### E-mail, на который отправляется уведомление о бане
##### Если отправка не нужна, ставим значение ""
EMAIL_TO="root"
 
##### Время бана в секундах
BAN_PERIOD=3600
Для отправки уведомлений на e-mail используется команда mail -s «IP addresses banned on …» $EMAIL_TO.

Стоит проверить с командной строки отправку письма с помощью этой команды. Возможно, понадобится установка пакета mailx (если он не установлен).

Если нужно исключить блокировку скриптом определенных IP, они вносятся в /usr/local/ddos/ignore.ip.list по одному в строку.

Например:
Код:
10.10.10.1
10.10.10.100
При настройке (D)DoS Deflate в дистрибутивах на базе RedHat нужно учесть такие особенности:

Задание по cron добавляется и выполняется корректно, поэтому вручную добавлять его не нужно !

После смены интервала запуска скрипта (параметр FREQ) нужно единоразово выполнить скрипт с опцией —cron (/usr/local/ddos/ddos.sh —cron), в самом скрипте для корректной работы в связи с отличием вывода команды netstat в Debian и RedHat нужно часть:
Код:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
заменить на
Код:
netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -nr > $BAD_IP_LIST
Параметр NO_OF_CONNECTIONS конфигурационного файла стоит определять опытным путем с учетом специфики проекта, на который осуществляется атака.

Источники:

http://10serv.com/borba-s-ddos-atakoy-s-pomoshhyu-d-dos-deflate/
Журнал "Хакер"
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 409
Репутация
7 899
Telegram
Поставил эту штуку, ибо какой-то бот или мудак, напрягает запросами...

Хочу прокомментировать эту статью, конфиг:

Нужно обязательно поставить APF_BAN=0 кто юзает Iptablets, у меня CentOS 6 и /usr/local/ddos/ddos.sh я ничего не правил вроде нормально отрабатывает, видно в статье про старые версии CentOS сказано...

В крон пришлось вручную вносить:

*/1 * * * * nice -n -5 /usr/local/ddos/ddos.sh

Это запуск с повышенным приорететом, смысл что если сервак зависнет, бОльшая вероятность что скрипт отработает !

И ещё нужно обязательно проверить /usr/local/ddos/ignore.ip.list что-бы там было в исключении айпишник сервера + должны-быть права на чтение этого файла, иначе будет как у меня файерволл забанит адрес сервака и в этоге ошибка 504...Отдыхай!!!

Пока тестирую, незнаю как будет работать, главное что-бы случайно никого не лочил и поисковых ботов тоже...

З.Ы. Никто нехочит поддидосить, попробовал прогу от Злодея с HH:http://happy-hack.ru/ddos/12612-site-killer-20-by-zodey-_.html

В этоге поймал зараженную длл Win32.Rmnet который немного не мало крадёт акки к фтп, от сюда вывод АВ никогда неповредит...WinkSmile

А так только запустил, и IP-адрес сразу заблокировался, кстати если кто решит таким образом ддосить, то айпишник залочится на 24 часа, потом вроде должен автоматически разблокироваться...Не въехал!!!
 
Автор темы Похожие темы Форум Ответы Дата
virt Защита от DDOS своими силами 1
Антоха Защита от DDOS своими силами 2
X-Shar Защита от DDOS своими силами 0
X-Shar Защита от DDOS своими силами 7
X-Shar Защита от DDOS своими силами 0
X-Shar Защита от DDOS своими силами 1
X-Shar Защита от DDOS своими силами 5
X-Shar Защита от DDOS своими силами 7
X-Shar Защита от DDOS своими силами 8
X-Shar Защита от DDOS своими силами 2
X-Shar Защита от DDOS своими силами 3