Инструменты пользователя

Инструменты сайта


Боковая панель

playground:postcat

Как определить какой скрипт рассылает спам через postfix

Если вы обнаружили, что ваш postfix сервер рассылает спам (spam), сами понимает - вас ломанули. Довольно противное состояние.

Как правило спам рассылка запускается каким-то скриптом.

Не расстраивайтесь. Определить какой именно скрипт инициализирует рассылку можно.

Для этого переключитесь в учетную запись суперпользователя:

sudo su

Проверьте очередь рассылки:

mailq |less

less позволит вам просмотреть всю очередь, если вывод команды не вмещается на экран. Для выхода нажмите q.

Первая колонка будет содержать ID сообщений в очереди на отправку.

Посмотреть содержимое письма можно с помощью:

postcat -q <ID>

Ищем что-то похожее на X-PHP-Originating-Script или X-Originating-Script.

Остается удалить скрипты и очистить очередь рассылки:

for m in $(/usr/bin/mailq 2&gt;&1 |grep -v postqueue |grep -i "^[1-9]\|^[A-Z]\|^0" |awk '{print $1}');
do
  if (/usr/sbin/postcat -q $m |grep X-PHP-Originating-Script |grep -q eval); then
		/usr/sbin/postsuper -d $m;
  fi;
done

Кстати этот скрипт является очень хорошим костылем если запланировать его выполнение каждую минуту. В таком случае очередь отправки будет постоянно мониториться и очищаться.

Полностью очистить очередь можно следующей командой:

postsuper -d ALL

К сожалению, на этом беды не заканчиваются. Осталось определить как же бяка попала на сервер. Для этого просмотрите логи apache и системные логи. Пересмотреть запланированые задачи (cron jobs).

playground/postcat.txt · Последние изменения: 2022/07/17 21:01 — vvp