Назад | Перейти на главную страницу

Как найти скрипт рассылки спама на сервере

В течение последних 3 месяцев я получаю письма от моих хостинг-провайдеров о том, что мой сервер рассылает спам, и сегодня я провел исследование и обнаружил, что это действительно так. Я использовал exim, чтобы проверить ситуацию, и он показал результат 28 с помощью команды exim -bcp, а затем я использовал exim -bp а также нашел идентификаторы и использовал exim Mvh id. Я проверил все идентификаторы, но источник скрипта не был указан. После этого я также попытался проверить exim/main.log но это не дало никаких результатов.

Я уже просканировал сервер антивирусом и ничего не нашел. Также я отформатировал сервер, но все равно не получил выгоды. Пожалуйста, дайте мне знать, если вы можете помочь в обнаружении скрипта, рассылающего спам.

Бегать exim -bP log_file_path получить шаблонный путь к лог-файлу; заменить %s с участием mainи используйте его как файл журнала для просмотра. (также %D на дату и т. д.). Если это действительно указывает на то же самое main.log файл, который вы просматривали, затем используйте lsof, посмотрите, не нарушили ли вы ротацию файлов журнала или что-то в этом роде. Если файл является текущим файлом журнала, файловая система не заполнена, сообщения идут, но журнал пуст, значит, у вас скомпрометированная система.

Посмотрите, откуда пришли сообщения. Если они пришли от локального пользователя, то этот пользователь вводит почту; Если это пользователь веб-хостинга, вам нужно выяснить, какое приложение PHP устарело и позволяет спамерам злоупотреблять вами. Коммерческое злоупотребление PHP-приложениями происходит как минимум 12 лет. Есть различные варианты, которые вы можете применить к своему веб-серверу и конфигурациям PHP, чтобы заблокировать адреса отправителей, если у вас много vhosts и вы не можете определить источник.

Если сообщения приходят с удаленных IP-адресов, выясните, что вы сделали, чтобы превратиться в открытый ретранслятор.

Если появляется аутентифицированный пользователь, значит, у него слабый пароль: не разрешать пользовательские пароли для SMTP. Используйте созданные вами надежные пароли, сообщите пользователям, что им разрешено их записывать. Подумайте о том, чтобы просмотреть вики Exim за примерами ограничения скорости, чтобы ограничить скорость злоупотреблений SMTP AUTH.

Если соединения не аутентифицированы и представляют собой просто удаленное открытое реле, тогда проблема зависит от того, насколько вы настроили файл конфигурации Exim (запустите exim -bV чтобы найти путь к активному файлу конфигурации). Если он достаточно близок к запасу, то у вас есть hostlist названный relay_from_hosts и у вас может быть слишком много хостов в этом. Заблокируйте это.

Как root вы можете использовать ps aux показать все процессы и поискать что-нибудь подозрительное. Вы также можете использовать find /path/to/cgi-bin -iname \*.php искать сценарии PHP, представленные злоумышленником.

Но это может не быть видно ни одной из этих вещей в зависимости от атаки. Если вы подозреваете, что злоумышленник контролирует ваш сервер, поиск сценария - это упражнение в области криминалистики, а не исправление. Следуйте инструкциям на Как мне поступить с взломанным сервером?.

У меня такая же проблема. Это даже привело к тому, что мой IP попал в черный список.

Мой хост порекомендовал мне добавить плагин pyxsoft для защиты от вредоносных программ на WHM.

Он обнаружил зараженные файлы в wordpress, спам прекратился, когда я удалил эти файлы, но они продолжали возвращаться каждый день. Поэтому мне приходилось каждый раз их удалять.

Затем я снова посоветовался со своим хозяином, и они порекомендовали использовать CSX. http://configserver.com/cp/cxs.html

Я еще не пробовал это, но надеюсь, что это лучше позаботится о скомпрометированных веб-хостах.

Как вы используете exim, вероятно, вы используете какой-то дистрибутив Linux. Если да, вы можете использовать iptables чтобы заблокировать исходящие соединения с портом 25. В вашем случае вы можете разорвать соединения, чтобы они оставались на некоторое время. Следите за системой с помощью netstat -antp | grep :25 чтобы определить, какой процесс пытается отправить сообщение. Затем вы можете проверить процесс, чтобы узнать, откуда он запущен. Ты можешь использовать kill -STOP чтобы предотвратить запуск процесса, чтобы дать вам еще больше времени на его изучение.

Если при этом вам все же нужно отправлять электронные письма, освободите пользователя от exim бежит как из iptables правило. Это позволит exim отправлять почту при блокировке других пользователей.

Если у вас запущен веб-сервер, возможно, у вас есть сценарий для отправки электронной почты. Некоторые из доступных скриптов позволяют спамерам отправлять электронную почту с вашего сервера. Существует ряд других способов отправить электронную почту с сервера, которую не обнаружит антивирусный сканер. Пока вы не определите, как отправляется электронное письмо, блокировка с помощью iptables может быть вашим лучшим выбором.