Защита сервера от (D)DoS атак - флуда
Оказывается можно попытаться защитить свой сервер от DoS посредством (D)DoS Deflate, это сценарий, который на периодичной основе проверяет кол-во используемых подключений с одного IP адреса, проверить наличие таких подключений можно командой:
PHP код:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
При наличии подключений более чем обозначили Вы, данный IP блокируется, благодаря созданному автоматически скриптом правилу в iptables.
Установка (D)DoS Deflate:
Происходит посредством загрузки установочного скрипта, указанием разрешений на запуск и собственно запуск установки
PHP код:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
Удаление (D)DoS Deflate:
Происходит в аналогичном порядке, за исключением загружаемого скрипта:
PHP код:
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
Настройка (D)DoS Deflate:
Конфиг расположен в каталоге - /usr/local/ddos/, имя конфига - ddos.conf, основные настройки:
- указание возможного количества соединений - NO_OF_CONNECTIONS=100
- указание блокировки посредством iptables - APF_BAN=0
- период блокирования в секундах - BAN_PERIOD=600
- настрйоку - KILL=1 оставляем по умолчанию
- указать email для отправки почтовых уведомлений - EMAIL_TO="[email protected]"
- так же можно создать список "белых" IP в файле - IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"
Запуск самого скрипта можно можно осуществить так:
PHP код:
sh /usr/local/ddos/ddos.sh
Дополнительно:
Просмотр общего количества соединений:
PHP код:
netstat -n -p | awk '{print $6}'|awk -F: '{print $1}' | sort -n | uniq -c | sort -nr | head -n10
Далее можно просмотреть рейтинг количества подключений:
PHP код:
netstat -n -p | awk '{print $5}'|awk -F: '{print $1}' | sort -n | uniq -c | sort -nr | head -n10
И далее можно просмотреть по каким портам:
PHP код:
sudo netstat -nput | awk '{print $4}'|awk -F: '{print $2}' | sort -n | uniq -c | sort -nr | head -n10
Дополнение:
Код HTML:
Поддерживается и на Ubuntu OC 12.04
На этом мануал/урок подходит к концу. Надеюсь многим пригодится. Защитите свои проекты от плохих людей.
Данный мануал/урок пригодится, у кого проекты на виртуальных машинах (VPS/VDS)
P.s Данный мануал/урок я писал для портала Гавно-Info, сейчас я в бане, который получил не за что. Выкладываю свои работы теперь на этот портал. Тут тоже уже давно сижу, и люди здесь намного адекватнее!