Как определить DDoS-атаку?

Для начала нужно проанализировать наличие атаки. Для этого посмотрим число процессов Apache:

Debian:

ps aux | grep apache2 | wc -l

CentOS:

ps aux | grep httpd | wc -l

Если процессов более чем 35, вероятно, на Вас производится атака.

Теперь нам нужно найти сайт, на который производится атака.

Переходим в директорию с access логами сайтов:

cd /var/www/httpd-logs

Обращаем внимание на файлы с большими размерами:

du -hs *

и анализируем на аномалии:

cat big_log.access.log | awk '{print $1}' | sort | uniq -c

Данная команда покажет число запрос к сайту с уникальных IP.

Для более детального определения нарушителя, очистим файл с логом:

echo "" > big_log.access.log

И повторно анализируем файл лог на аномалии, выполняя команду:

cat big_log.access.log | awk '{print $1}' | sort | uniq -c

Если у Вас используется iptables, блокируем нарушителей:

iptables -I INPUT -s 1.1.1.1 -j DROP