Для начала нужно проанализировать наличие атаки. Для этого посмотрим число процессов 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