Диагностика DDos атак

Если есть возможность зайдите на сервер по ssh. Командами ps и top отметьте большое количество процессов httpd. Если на сервер по ssh войти не удается, то воспользуйтесь VDSmanager (ссылка на него есть в клиентской зоне)

Посмотрите меню Запущенные процессы и Текущая нагрузка. Перезагрузите сервер через VDSmanager, попробуйте зайти по ssh, если падает, из-за apache, то остановите его, как вариант, можете убить все процессы httpd через него же.)

netstat -na | grep ':80 '
netstat -na

Эти команды покажут вывод, направление и состояние всех установленных на 80 порту или на всех портах соединений.

ps aux | grep httpd | wc -l
netstat -na | grep ":80 " | wc -l

Эти команды считают количество процессов httpd и количество подключений на 80 порт. Если количество соединение превышает среднестатистическое, вероятно, это DoS/DDoS-атака. Также http-флуд можно выявить по косвенным признакам:

watch 'ls -laS /home/httpd-logs/' (для FreeBSD)
watch 'ls -laS /var/www/httpd-logs/' (для Linux)

Эти команды каждые 2 секунды будут выводить список логов apache, если размер верхнего access файла быстро растет, почти наверняка атака идет на этот сайт. Примечание: во FreeBSD пакет watch выполняет другие функции. Следует использовать пакет cmdwatch.

tcpdump -n port 80 -c 200 -w ddos.log

данная команда также поможет в выявлении DoS/DDoS. Tcpdump запишет в файл ddos.log первые 200 пакетов на 80 порту.

tcpdump -nr ddos.log | awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn

а так лог-файл можно прочитать и отсортировать по ip и количеству подключений.