Как быстро посмотреть от какого авторизованного пользователя идет спам

Бывает так, что в отлаженной системе происходит сбой. На работе лег шлюз из-за кучи спама, который с него рассылался. Все работало замечательно и в работе почтовика я был уверен. Однако спам шел тоннами. Обычно я такое обнаруживал по ненормальной статистике в ежедневной рассылке logwatch. Но в этот раз отчет от него я не получил, так как шлюз не справлялся со спамом, не то что с генерацией отчета. По быстрому поглядеть кто виновник всех бед можно так:

Сначала остановил почтовый сервер.

#service postfix stop

Очистил очередь сообщений, запустил почтовый сервер.

#postsuper -d ALL
#service postfix start

Дождался первого письма со спамом.

#mailq

Остановил почтовый сервер.

#service postfix stop

По ID спам-письма посмотрел информацию о нем и выяснил кто из SASL-авторизованных пользователей шлет спам.

#postcat -q ID_письма
//И смотрим кто произвел SASL авторизацию.

Сменил пользователю пароль, почистил очередь, запустил почтовый сервер.

#passwd username
#postsuper -d ALL
#service postfix start

Всё нормализовалось. Проблема была только в том, чтобы определить кто из пользователей шлет спам именно как пользователь SASL, так как pflogsumm отработав 10 минут выдал к примеру что шлет спам пользователь xxxx_000@outlook.com — хотя такого у меня не водится в принципе и первоначально о чем я подумал это о том, что каким-то образом у меня открыли релей. Однако тестирование на релей результата не принесло. С недосыпу у меня уже начали появляться мысли о том что эксплуатруется какая-то уязвимость postfix при которой можно рассылать письма от имени совершенно левых пользователей, но всё оказалось тривиальнее :-D

Автор: Mirivlad

Скромный труженик консоли и окошек.

Комментарии: