在 Debian 系统上保障邮件安全,通常从 系统层、邮件服务层、身份验证、传输加密、反垃圾与防病毒、访问控制与审计 等多个层面综合考虑。下面给你一套较为完整、可落地的实践建议。
apt update && apt upgrade -y
unattended-upgrades 自动安全更新apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
仅开放必要端口:
25 / 465 / 587143 / 993110 / 995ufw allow 25
ufw allow 465
ufw allow 587
ufw allow 993
编辑 /etc/postfix/main.cf
# 禁止开放中继
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
# 限制可发信网段
mynetworks = 127.0.0.0/8
# 禁止 VRFY/EXPN
disable_vrfy_command = yes
# 限制命令大小
smtpd_restriction_classes = ...
编辑 /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login
限制 IMAP 登录失败次数(防暴力破解)。
apt install certbot
certbot certonly --standalone -d mail.example.com
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
✅ 强制使用 STARTTLS / TLS,禁止明文认证
apt install libsasl2-modules sasl2-bin
Postfix 使用 Dovecot SASL:
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
apt install fail2ban
监控:
/var/log/mail.log/var/log/auth.log示例 SPF:
v=spf1 mx -all
apt install spamassassin spamc
apt install clamav clamav-daemon
freshclam
chown -R vmail:vmail /var/mail
chmod -R 750 /var/mail
tail -f /var/log/mail.log
apt install logrotate
/etc/postfix/etc/dovecot/var/mail✅ 系统及时更新
✅ 禁用 root 远程登录
✅ 强制 TLS 加密
✅ 启用 SASL 认证
✅ 配置 SPF / DKIM / DMARC
✅ 部署 Fail2ban
✅ 安装 SpamAssassin + ClamAV
✅ 日志可审计
✅ 定期备份
如果你愿意,我可以:
你可以直接告诉我你的使用场景(个人 / 企业 / 内网 / 公网)。