Как найти php скрипт — mail спамер?


Утро понедельника не задалось — при прочтении утренней почты обнаруживаю абузу с датацентра на один из моих серверов 🙁
При ознакомлении выясняется, что мне закинули какой то «сифак», который благополучно спамит добропорядочных граждан «via sendmail with smtp»

Предположив, что сиё действо выполняется с какого-то php скриптика сразу же встал вопрос о методе его поиска! Собственно — как?
Через мои защиты он уже каким то образом пролез, значит моими регулярками его не выцепить!
В идеале фукнцию отправки почты логировать — а там то я бы его по факту обнаружил!

Оказывается, начиная с PHP 5.3 такая возможность присутствует! и имея ей MAILHEAD

Пересобираем php с указанным выше патчем:

(инструкция для FreeBSD):
смотрим какая версия PHP
#php -v

у меня 5.3
#cd /usr/ports/lang/php53
#make config
отмечаем [X] MAILHEAD Enable mail header patch
#make
как все соберется без ошибок
#make deinstall
#make install clean

Далее в php.ini указываем куда писать лог
mail.log = /var/log/php-mail.log

рестартим веб сервер и делаем тестовую отправку

проверяем лог — если скрипт попал в лог — всё окей

Далее ловим гада.

Добавлю ещё выдержку со статьи:
Чтобы найти источник спам-рассылки на сайте, нужно в файле php.ini включить логирование рассылаемой почты директивами:

mail.add_x_header = On
mail.log = <путь до вашего пользовательского каталога>/php-mail.log

В моей ситуации я прикручивал эту фишку к виртуальной машине Битрика, с несколькими хостами на одной виртуалке.
На каждый хостинг была включена openbasedir соответственно путь для почтовых логов нужно определять внутри openbasedir и задавать отдельно для каждого сайта,
поэтому выставлять значения нужных параметров я решил не в php.ini а в конфиге аппача для каждого сайта

php_admin_value mail.add_x_header On
php_admin_value mail.log <путь до вашего пользовательского каталога>/php-mail.log

PS
Быстро удалить спам письма из очереди

find /var/spool/clientmqueue/ -type f -delete
find /var/spool/mqueue/ -type f -delete

там же наблюдаем за новыми отправками


Один комментарий на «“Как найти php скрипт — mail спамер?”»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *