Защита Apache от DDoS атак

DDoS атака - атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён. для того что бы apache умел блокировать атаки нужно установить модуль защиты

sudo apt-get install libapache2-mod-evasive

Создадим конфигурационный файл mod-evasive.conf

sudo nano /etc/apache2/mods-available/mod-evasive.conf

Со следующим содержимым:

<IfModule mod_evasive20.c>
DOSHashTableSize 4096
DOSPageCount 50
DOSSiteCount 150
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
</IfModule>

Перезапускаем Apache

sudo service apache2 restart

Команды для проверки нагрузки на сервер

Число процессов Apache:

ps aux | grep httpd |wc -l

Число коннектов на 80 порт:

netstat -na | grep :80 | wc -l

То же, в статусе SYN

netstat -na | grep :80 | grep syn

Пример SYN-флуда:

netstat -na | grep :80 | grep SYN | wc -l 767

Посмотреть много ли разных IP:

netstat -na | grep :80 | grep SYN | sort -u | more

На какой домен чаще всего идут запросы:

tcpdump -npi eth0 port domain

Статус Apache:

apache2ctl status

Посмотреть откуда IP или Domain:

whois xxx.xxx.xxx.xxx

или

jwhois xxx.xxx.xxx.xxx

С какого IP сколько запросов:

netstat -na | grep :80 | sort | uniq -c | sort -nr | more

Количество соединений с сервером:

cat /proc/net/ip_conntrack | wc -l

Вывод информации в реальном времени, IP которые соединены с сервером и какое количество соединений по каждому IP

netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Оцените блог: 
Средняя: 2.7 (204 оценки)