Методы борьбы с рассылкой спама с выделенного сервера или VPS

25.04.2020

В случае признаков рассылки спама с выделенного сверера или VPS требуется как можно скорее произвести диагностику и предотвратить почтовую отправку во избежании блокировки порта и/или IP-адреса.

Порядок команды выполняемых в терминале (требуется доступ по SSH):

Посмотреть последние исходящие письма:
exim -bp

Узнать количество писем в очереди:
exim -bpc

Посмотреть список отправляемых писем с ID:
mailq

После вывода результатов команды mailq требуется просмотреть список и обратить внимание не подозрительные адреса. У каждого письма в списке есть уникальный ID по которому можно посмотреть подробную информацию с помощью следующей команды:

postcat -vq ID_письма |more

В информации письма нужно найти строку X-PHP-Originating-Script в которой будет указан скрипт рассылающий спам. Скрипт нужно заблокировать (выставить права 000) и проверить на заражение вирусом или полностью удалить, если в нем нет ничего кроме вредоносного кода.

Если строка X-PHP-Originating-Script не найдена, то нужно проверить администраторские учетные записи в почтовом веб-клиенте (например в roundcube). Для этого необходимо авторизоваться под root на mysql-сервере (это можно сделать через интерфейс phpMyAdmin)  и в базе данных roundcube в таблице users удалить все подозрительные учетные записи.

Также не забудьте изменить пароли к активным почтовым ящикам во избежании прямых спам-рассылок с имеющихся на сервере email-адресов.

 

Далее необходимо очистить очередь писем:

Очистить все freezed сообщения из очереди:
exipick -zi | xargs exim -Mrm

Очистить стандартные сообщения из очереди:
exipick -i | xargs exim -Mrm

После изменений рекомендуется перезагрузить сервер для их вступления в силу.

Затем снова проверьте наличие писем в очереди следующей командой:

Узнать количество писем в очереди:
exim -bpc

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