На этот вопрос уже есть ответ здесь:
У меня есть сервер с несколькими веб-узлами (все управляются изнутри), который был предметом того, что выглядело как атака dos прошлой ночью. Я заблокировал атакующий IP в IPTABLES для входных и выходных цепочек. Это, казалось, решило проблему, и я пошел домой.
Сегодня утром сервер снова умер - на этот раз, судя по netstat, он посылал множество SYN'ов на атакующий IP. Очевидно, они были отброшены цепочкой IPTABLES OUTPUT, но их было так много в стеке, что он не справился.
Меня беспокоит, что сервер посылает syn'ы атакующему. Предположительно, он пытается установить новое исходящее соединение с IP-адресом злоумышленника на порту 80, но почему? Значит ли это, что сервер взломан? Как я могу найти причину этого? Я пробовал netstat -p, но он просто показывает владельца исходящих попыток как httpd.
В веб-каталоге есть несколько больших сайтов, поэтому моя попытка найти IP атакующего во всех веб-файлах займет несколько дней.
Что делать?
Большое спасибо заранее....
Сервер / виртуальный хост может быть скомпрометирован, и сайт может попытаться загрузить дополнительные оболочки / бэкдоры / инструкции. Трудно сказать, как узнать, что это за виртуальный хост.
Если вы не можете использовать grep на рабочем сервере, вы можете попытаться выполнить команду grep при резервном копировании. То же самое с журналами.
Или просто взгляните на файлы, измененные за последние 24-48 дней.
Если httpd = Apache, вы можете попытаться получить pid из netstat, а затем попытаться сопоставить в выводе состояния сервера (если IP-адрес отброшен, этот серверный поток может работать в течение длительного времени, пока не истечет время ожидания wget / curl / независимо от времени).
Вы также можете попытаться найти запросы с очень долгим временем ответа в журналах httpd (вам необходимо изменить формат журнала, поскольку обычно ни один веб-сервер не регистрирует время запроса)