Во-первых, посомтрим число процессов Апача:
ps aux | grep apache | wc -l
Либо в случае ОС CentOS5/RHEL:
ps aux | grep httpd | wc -l
Если их более 20-30, то это уже повод для беспокойства.
Далее обязательно просмотреть глобальные логи Апача на предмет наличия аномалий (например, запросов без указания вихоста):
/var/log/apache2/error.log
/var/log/apache2/access.log
И для CentOS:
/var/log/httpd/error.log
/var/log/httpd/access.log
Далее, стоит просмотреть логи всех сайтов (например, в случае использования панели ISPManager они лежат в папке /var/www/httpd-logs) и обратить особое внимание на самые большие из них.
Если "большой" лог найден, то его стоить проанализировать на предмет аномалий следующим образом:
cat log_type.log | awk '{print $1}' | sort | uniq -c
Эта команда укажет число запросов до сайта с уникальных айпи, вывод ее будет в виде:
14 95.67.xx.xx
21 95.68.xx.xx
25 95.68.xx.xx
15 95.68.xx.xx
15 95.68.xx.xx
1 95.69.xx.xx
15 95.70.xx.xx
1 95.70.xx.xx
21 95.70.xx.xx
24 95.70.xx.xx
22 95.70.xx.xx
15 95.70.xx.xx
17 95.70.xx.xx
1 95.70.xx.xx
Таким образом, если какой-то IP / блок айпи заваливает сайт запросами, это будет видно по резко уходящим в верх значениям запросов для IP злоумышленников.
Если же используется Nginx, то также обязательно просматривать логи:
/var/log/nginx/error.log
/var/log/nginx/access.log
Продолжение следует :)
лучше
ReplyDeletenetstat -n -t | grep SYN_RECV | wc -l
если больше 500 то это ddos
Ну скорее син флуд :)
ReplyDeleteа где эти команды вводить?
ReplyDeleteВ консоли ssh на сервере.
Delete