6

我正在运行一个 FreeBSD 服务器,我收到了一条警告,说我的服务器已经发送了垃圾邮件。我没有将它设置为开放中继,并且我已经自定义了 sendmail 配置。我想知道谁在发送什么电子邮件以及他们的用户名、电子邮件主题行以及他们发送了多少邮件的摘要。我想在类似于处理 Apache 服务器日志时完成的日志上运行报告。

我有哪些选择?

4

4 回答 4

3

一个想法是将 sendmail 别名为自定义脚本,它只是在以通常方式调用 sendmail 之前将 sendmail 参数放在日志末尾。

于 2009-07-13T01:02:55.303 回答
2

您还可以通过执行以下命令来监视对所有系统调用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"

这将使您可以直接访问信息,我认为您不能更深入。

于 2016-02-09T11:14:15.600 回答
0

你能提供一些示例日志吗?我认为你最好的选择是使用 grep 或 cut 来查看它们,以获取正在发送的源/目标。此外,一旦您拥有正确的正则表达式,您就可以编写一个 Perl 脚本来自动化它。这将是最好的选择。

于 2009-07-13T00:51:21.040 回答
0

如果 FreeBSD 有默认配置,您只有一种方式来处理输出邮件,请检查通过您的 sendmail 系统发送的内容/etc/mail

所有输出邮件必须由/var/log/maillog

于 2011-01-30T03:52:25.317 回答