С сайта рассылается спам. Как найти источник спам-рассылки на сервере?
Чтобы найти источник спам-рассылки на сайте, нужно в файле php.ini включить логирование рассылаемой почты директивами:
mail.add_x_header = On
mail.log = <путь до вашего пользовательского каталога>/phpmail.log
(Если php.ini не доступен, попросите это сделать техподдержку хостинга)
После включения данных опций в заголовок каждого письма, отправленного функцией mail(), будет добавляться строка вида
X-PHP-Originating-Script: <UID>:<имя скрипта>.php
Например,
X-PHP-Originating-Script: 33k.php
В случае спам-рассылки необходимо анализировать служебные заголовки рассылаемых писем и лог phpmail.log, в котором будут записи вида
Так вы сможете легко найти скрипт, рассылающий спам, и удалить его.
Если ваш сайт или эккаунт на хостинге уже заблокировали за рассылку спама, запросите в техподдержке хостинга для анализа
логи почтового сервера за день рассылки
логи веб-сервера (access_log) за день рассылки
образцы писем из спам-рассылки (нужны служебные заголовки писем)
Далее в ходе анализа возможны два варианта:
В заголовке спам-письма будет строка X-PHP-Originating-Script. В этом случае вы знаете, через какой скрипт была выполнена рассылка.
Строка X-PHP-Originating-Script в служебном заголовке отсутствует. В этом случае нужно сопоставить дату и время отправки писем (ее можно узнать из служебного заголовка письма) с логами веб-сервера (access_log). Скорее всего в access_log в то же самое время будет обращение к скрипту методом POST. Этот скрипт будет источником спама.
После удаления спам-рассыльщика рекомендуем просканировать сайт на наличие других вредоносных скриптов (бэкдоров или хакерских шеллов), так как обычно взлом сайта не ограничивается размещением только одного скрипта, рассылающего спам. Сайт можно проверить бесплатным сканером AI-BOLIT. Если у вас не получается сделать это самостоятельно,обратитесь к профессионалам.
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.