Как я могу отслеживать исходящую почту от Unix и Sendmail? - PullRequest
6 голосов
/ 13 июля 2009

Я использую сервер FreeBSD, и мне было отправлено предупреждение о том, что спам был отправлен с моего сервера. Я не настроил его как открытый ретранслятор, и я настроил конфигурацию sendmail. Я хотел бы знать, кто отправляет какую электронную почту вместе с их именем пользователя, темой письма, а также краткой информацией о том, сколько почты они отправили Я хотел бы запустить отчет в журнале, аналогично тому, как это делается при обработке журналов сервера Apache.

Какие у меня варианты?

Ответы [ 4 ]

3 голосов
/ 13 июля 2009

Одна идея состоит в том, чтобы использовать псевдоним sendmail в качестве пользовательского сценария, который просто передает аргументы sendmail в конец журнала перед тем, как вызывать sendmail обычным способом.

1 голос
/ 09 февраля 2016

Вы также можете отслеживать все системные вызовы функций write и read, выполнив:

ps auxw | grep sendmail | awk '{print"-p " $2}' | xargs strace -s 256 -f 2>&1 | grep -E $'@|(([0-9]+\.){3}[0-9]+)' | tee -a "/var/log/sendmail-logs.log"

Это даст вам прямой доступ к информации, я думаю, вы не сможете углубиться.

0 голосов
/ 30 января 2011

Если FreeBSD имеет конфигурацию по умолчанию, у вас есть только один способ обработки выходной почты, проверьте, что отправляет через вашу систему sendmail в /etc/mail.

Вся выходная почта должна быть зарегистрирована /var/log/maillog

0 голосов
/ 13 июля 2009

Можете ли вы привести примеры журналов? Я думаю, что вам лучше всего было бы просмотреть их с помощью grep или cut, чтобы получить источник / пункты назначения, которые также отправляются. Кроме того, вы можете написать скрипт на Perl для его автоматизации, если у вас есть правильное регулярное выражение. Это был бы лучший вариант.

...