在 Debian 上做邮件服务器审计,通常要从 日志、配置、访问控制、传输安全、用户行为、合规 等多个层面入手。下面给你一套可落地的审计思路,适用于常见的 Debian + Postfix / Exim + Dovecot 架构。
先想清楚你要审计什么:
Debian 默认路径:
/var/log/mail.log
/var/log/mail.err
常用审计点:
示例审计命令:
# 查看外发邮件
grep "status=sent" /var/log/mail.log
# 查看被拒绝的邮件
grep "reject" /var/log/mail.log
# 查看某用户发信记录
grep "from=<user@domain>" /var/log/mail.log
✅ 建议:日志长期保留(≥6 个月或按合规要求)
/var/log/mail.log
/var/log/dovecot.log
重点审计:
示例:
grep "imap-login" /var/log/mail.log
grep "pop3-login" /var/log/mail.log
last
lastlog
结合邮件日志判断是否异常登录。
grep "from=" /var/log/mail.log | awk '{print $7}' | sort | uniq -c | sort -nr
用于发现:
postconf | grep relay
❌ 禁止:
mynetworks = 0.0.0.0/0
✅ 正确:
mynetworks = 127.0.0.0/8
postconf smtpd_relay_restrictions
应包含:
permit_sasl_authenticated
reject_unauth_destination
postconf smtpd_tls_security_level
✅ 应为:
encrypt
IMAP:
doveconf | grep ssl
postconf -n | grep tls
检查:
⚠️ 注意法律与隐私风险
方式:
cat /etc/passwd
cat /etc/shadow
查看:
ls -l /var/mail/
grep "Failed password" /var/log/auth.log
或使用:
apt install aide
aideinit
✅ 建议实施:
#!/bin/bash
echo "=== 外发邮件 TOP 10 ==="
grep "status=sent" /var/log/mail.log | awk '{print $7}' | sort | uniq -c | sort -nr | head
你可以直接告诉我:
“我用的是 Postfix + Dovecot,想做等保审计”