我正在运行一个FreeBSD服务器,我收到一条警告,说我的服务器已发送垃圾邮件。我没有把它设置为开放中继,我已经定制了sendmail配置。我想知道是谁发送了什么电子邮件以及他们的用户名,电子邮件主题以及他们发送的邮件总数。我想在日志上运行一个类似于处理Apache服务器日志时的日志的报告。
我有什么选择?
答案 0 :(得分:3)
一个想法是将sendmail别名为一个自定义脚本,它只是在以常规方式调用sendmail之前将sendmail参数记录到日志末尾。
答案 1 :(得分:0)
你能提供一些样本日志吗?我认为你最好的选择是用grep或cut来查看它们以获得正在发送的源/目的地。此外,一旦你有正确的正则表达式,你可以编写一个Perl脚本来自动化它。这将是最好的选择。
答案 2 :(得分:0)
如果FreeBSD有默认配置,你只有一种方法来处理输出邮件,检查通过/etc/mail
发送邮件系统的内容。
所有输出邮件必须由/var/log/maillog
答案 3 :(得分:0)
您还可以通过执行以下操作来监控对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"
这会让你直接获取信息,我想你不能深入了解。