Установка (D)DoS Deflate на Debian/Ubuntu
Есть много мануалов о том, как установить (DDoS Deflate на сервер с Linux (или VPS) и в большинстве случаев не должно быть с этим проблем, но я столкнулся некоторые небольшие проблемы с установкой (D) DoS Deflate на Debian 7/8 по этому, я хотел выложить статью «Установка (D)DoS Deflate на Debian/Ubuntu» по установке (D)DoS Deflate на Debian/Ubuntu на готовых примерах. Я думаю, данное руководство также будет работать на Ubuntu.

И так, для начала перейдем в нужную папку и создадим новый каталог для проекта:
| 1 | cd /usr/local/src/ && sudo mkdir ddos && cd ddos | 
Скачиваем скрипт:
| 1 | wget http://www.inetbase.com/scripts/ddos/install.sh | 
Запускаем установочный скрипт:
| 1 | sh install.sh | 
Настройка (D)DoS Deflate на Debian/Ubuntu
Когда установка будет выполнена, вы увидите что-то вроде этого:
| 1 2 3 4 5 6 7 8 9 10 | Installing DOS-Deflate 0.6 Downloading source files.........done Creating cron to run script every minute.....(Default setting).....done Installation has completed. Config file is at /usr/local/ddos/ddos.conf Please send in your comments and/or suggestions to zaf@vsnl.com | 
Сейчас приступаем к редактированию файла конфигурации, настройте в зависимости с вашими требованиями:
| 1 | nano /usr/local/ddos/ddos.conf | 
Я рекомендую ничего не править в данном конфиге. Выставляем количество соединений с 1 IP-адреса (после того как кто-то «потратил» лимит будет забанен на 10 минут, лучше выставить немалое значение, т.к вы рескуете быть забаненым за NAT транслятором (ipv6 ещё не пришол!):
| 1 | NO_OF_CONNECTIONS=64 | 
Включим бан через iptables, а не по APF:
| 1 | APF_BAN=0 | 
Идем далее, и следующим шагом будет настройка крон. Т.к я не особо люблю разные cron-файлы в папке /etc/cron.d/, то буду использовать свой личный кронтаб, а файл /etc/cron.d/ddos.cron я удалю:
| 1 | crontab -e */1 * * * * nice -n -5 /usr/local/ddos/ddos.sh | 
В этой строчке, я увеличиваю приоритет процесса для DDoS Deflate, чтобы когда система загибается от множества коннектов скрипт отработал и забанил кого надо, а у кого истекло время штрафа — разбанил.
По необходимости, вы можете установить APF, если не знаете как, вот руководство:
Установка APF (Advanced Policy Firewall) в Unix/Linux
Вы также можете внести в белый список IP-адрес вашего сервера:
| 1 | nano /usr/local/ddos/ignore.ip.list | 
Теперь пришло время запускать (D) DoS Deflate:
| 1 | /usr/local/ddos/ddos.sh -c | 
К сожалению, я получил это:
| 1 2 3 4 5 | /usr/local/ddos/ddos.sh: 13: [: /usr/local/ddos/ddos.conf: unexpected operator DDoS-Deflate version 0.6 Copyright (C) 2005, Zaf <zaf@vsnl.com> $CONF not found. | 
Для исправления, отредактируйте ddos.sh:
| 1 | nano /usr/local/ddos/ddos.sh | 
Нужно изменить первую строку файла с:
| 1 | !/bin/sh | 
На:
| 1 | !/bin/bash | 
Сохранить и закройте ddos.sh.
Запустите службу снова:
| 1 | /usr/local/ddos/ddos.sh -c | 
Если вы получаете сообщение об ошибке:
| 1 2 3 4 5 | crond: unrecognized service Failed to restart crond.service: Unit crond.service failed to load: No such file or directory. Failed to restart crond.service: Unit crond.service failed to load: No such file or directory. | 
Открываем ddos.sh снова:
| 1 | nano /usr/local/ddos/ddos.sh | 
| 1 | service crond restart | 
| 1 | service cron restart | 
Я нашел два экземпляра, которые должны быть изменены).
Сохраните и выйдите с текстового редактора, после чего снова запустить службу:
| 1 | /usr/local/ddos/ddos.sh -c | 
Если вы все сделали правильно, вы должны увидеть следующее сообщение:
| 1 | [ ok ] Restarting periodic command scheduler: cron [....] Stopping periodic command scheduler: cron. | 
Все сделали!
Примечание: Я читал в нескольких форумах и блога на которых есть ошибка с (Д) DoS-Deflate версии 6.0 и исправить ее можно следующим образом, необходимо открыть /usr/local/ddos/ddos.sh и заменить:
| 1 | netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | 
На:
| 1 | netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -nr > $BAD_IP_LIST | 
Можно попробовать еще и:
| 1 | netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -nr | 
У меня не было возможности протестировать так как все работало и без этого. На этом у меня все и моя статья «Установка (D)DoS Deflate на Debian/Ubuntu» завершена.

 Опубликовано в
 Опубликовано в  Метки:
 Метки: 