Exim самый распространённый сервис для работы с почтой на сервере, настолько же он имеет высокие риски того, что ваш сервер могут использовать для рассылки спама. Как с этим бороться и как найти источник спама на вашем сервере, сегодня мы подробно рассмотрим. Главное с чем мы будем работать, это логи, которые мы для начала выведем в том виде, который нам подскажет больше данных об отправке почты с сервера.
Часть первая, добавляем в конфиг данные
Первый шаг, это редактирование конфигурации exim. Находим папку с exim конфигом exim.conf, обычно он находится в папке etc/exim/ дальше будет либо папка exim с этим файлом, либо он будет лежать в корне. Открываем файл и находим в нем блок «log_selector =», он будет выглядеть примерно так:
log_selector =
+all_parents
+lost_incoming_connection
+received_sender
+received_recipients
+tls_cipher +tls_peerdn +tls_sni
+smtp_confirmation
+smtp_syntax_error
+smtp_protocol_error
Изменяем его добавление строчки, после которой он должен выглядеть уже так
log_selector =
+all_parents
+lost_incoming_connection
+received_sender
+received_recipients
+tls_cipher +tls_peerdn +tls_sni
+smtp_confirmation
+smtp_syntax_error
+arguments
+smtp_protocol_error
Таким образом мы добавили отображение в логах директории, из которой происходит отправка писем. То есть, если спамеры внедрили к вам скрипт в одну из папок, то вы сможете увидеть папку, в которой этой файл вредный находится.
Теперь необходимо обязательно сделать перезапуск сервиса exim
Часть вторая, отслеживание по логам exim
Дальше надо отследить отправку писем с помощью ssh команды. Если вы не владеете работой по SSH то можете просто скачать файл exim.log из папки /var/log/ или /var/log/exim/ и после этого с помощью notepad +++ просмотреть данные по cwd аналогично описанному ниже в образце команд по SSH.
Для работы по SSH мы вводим команды
# cat /var/log/exim/main.log | grep cwd=
# cat /var/log/exim/main.log | grep cwd= | grep username
# cat /var/log/exim/main.log | grep cwd= | grep superdomain.com
Получаем данные об отправке почты и папке из которой она отправляется, если вы видите что указано нестандартное место для отправки писем, то соответственно вы нашли источник спама. Но тут надо тоже подойти детально. Первая команда позволяет получить все данные сервера. Вторая команда выделяет конкретного пользователя. Третья команда выделяет указанный домен.
После вывода команды вы увидите что то такое
2018-01-08 08:07:56 cwd=/var/www/user/data/www/domen.ru 5 args: /usr/sbin/sendmail -t -i -f info@domen.ru
2018-01-08 13:15:33 cwd=/var/www/user/data/www/domen.ru 5 args: /usr/sbin/sendmail -t -i -f info@domen.ru
2018-01-08 14:44:45 cwd=/var/www/user/data/www/domen.ru 5 args: /usr/sbin/sendmail -t -i -f info@domen.ru
Дальше, если у вас видна папка, из которой не должна уходить почта, переходите в журналы сайта и просматриваете access.log нужного вам домена. Ищете POST запросы и смотрите какой файл отсылает почту. После этого его удаляете и таким образом избавляетесь от спама.
какого файла нужно открыть для редактирования конфигурации exim?
Как редактировать конфигурацию exim для отображения директории в логах отправки почты с сервера?