Brendan
Специалист
CentOS - Защита оборудования от DoS атак(флуда)
Дополнение:
На этом мануал/урок подходит к концу. Надеюсь многим пригодится. Защитите свои проекты от плохих людей.
Данный мануал/урок пригодится, у кого проекты на виртуальных машинах (VPS/VDS)
Пригодилось, ставь +
Оказывается можно попытаться защитить свой сервер от 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="user@server.domain"
- так же можно создать список "белых" 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
PHP:
Поддерживается и на Ubuntu OC 12.04
Данный мануал/урок пригодится, у кого проекты на виртуальных машинах (VPS/VDS)
Пригодилось, ставь +
Последнее редактирование:
