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