Как определить какой сайт отправляет спам.

Определить какой сайт отправляет почту достаточно легко.

Для того чтобы определить источник спама нам потребуется в php.ini каждого сайта внести директивы

mail.add_x_header = On
mail.log = /tmp/phpmail.log

Создаем файл:

 touch /tmp/phpmail.log

Выставляем права:

 chmod 777 /tmp/phpmail.log

И все что нам остается это перезапустить apache:

 tail -f /tmp/phpmail.log

На выводе:

 X-PHP-Originating-Script: :<имя скрипта>.php

mail() on [/var/www/vhosts/site.com/httpdocs/pages/modules/system/system.mail.inc:83]: To: smith@domain.co.uk -- Headers: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes Content-Transfer-Encoding: 8Bit X-Mail

Самое главное вы теперь знаете не только какой сайт, но и какой конкретно скрипт занимается рассылкой спама.

Все что остается это проверить данные скрипты.

Так же не забывайте удалить очередь почты.

 postsuper -d ALL 

Комментарии (3)

  1. around 02.05.2020 Ответить
    chmod 777 /tmp/phpmail.log зачем же? Вы собираетесь потом запускать что-то из лога?
    В такой ситуациии самым логичным будет 622, записать смогут все, а прочитать - только тот, кто дебажит почту.
  2. Виктор
    Виктор 04.05.2020 Ответить
    нет, не собираемся ;)
    Но у каждого сервера права на эти файлы разные в зависимости от конфигурации.
    Вдаваться в политику выставления правильных владельца и группы не относится к этой статье.
    Как следствие в некоторых системах лог просто не писался.
    Если же кто-то делает эти логи на постоянку, то рекомендую их делать так.

    mail.add_x_header = On
    mail.log = syslog
  3. around 06.05.2020 Ответить
    Согласен =))) Но хотя бы 666 тогда.
    Спасибо за ответ!

Оставить комментарий