IP сервера постоянно попадает в SPAM-листы, как узнать, какие скрипты рассылают спам. Инструкция для Postfix. Подходы могут быть применены и к другим почтовикам.

Пути и названия файлов могут немного отличаться, зависит от версии ОС.

Узнаем в какой папке находится скрипт, который рассылает спам функцией mail() и аналогами.

  1. Создать скрипт /usr/sbin/sendmail.postfix-wrapper:
    touch /usr/sbin/sendmail.postfix-wrapper
    vi /usr/sbin/sendmail.postfix-wrapper
    

Добавить в файл эти две строчки:

#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/usr/sbin/sendmail.postfix-bin "$@"
  1. Создать лог-файл /var/tmp/mail.send, дать ему права a+rw. Сделать созданный враппер исполнимым файлом, переименовать старый sendmail и пирлинковать sendmail к созданному врапперу.
    touch /var/tmp/mail.send
    chmod a+rw /var/tmp/mail.send
    chmod a+x /usr/sbin/sendmail.postfix-wrapper
    mv /usr/sbin/sendmail.postfix /usr/sbin/sendmail.postfix-bin
    ln -s /usr/sbin/sendmail.postfix-wrapper /usr/sbin/sendmail.postfix
    

  2. Ждем час и возвращаем sendmail на место:

    rm -f /usr/sbin/sendmail.postfix
    mv /usr/sbin/sendmail.postfix-bin /usr/sbin/sendmail.postfix
    

Изучаем файл /var/tmp/mail.send. Должны быть записи, которые начинаются строчкой X-Additional-Header: где указана директория, в которой находится скрипт, рассылающий спам.

Если ни какой подозрительной активности в файле лога нет, значит спам рассылается через взломанный почтовый аккаунт.


Всё что далее, написано для Plesk 12 и мною не тестировалось. Источник: http://kb.odin.com/en/114845

zgrep -c 'sasl_method=LOGIN' /var/log/maillog*
/var/log/maillog:221000
/var/log/maillog.processed:362327
/var/log/maillog.processed.1.gz:308956

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

Можно использовать следующую команду для поиска таких аккаунтов:

zgrep 'sasl_method=LOGIN' /var/log/maillog* | awk '{print $9}' | sort | uniq -c | sort -nr | head
891574 sasl_username=admin@example.com

Чтобы остановить спам в этом случае, нужно установить устойчивые пароли на взломанные почтовые аккаунты.

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