温馨提示×

ubuntu邮件服务器如何防垃圾

小樊
38
2026-09-29 03:51:30
栏目: 云计算

在 Ubuntu 上搭建或运维邮件服务器时,防垃圾邮件通常需要“多层防御”。下面按实用、可落地的方式给你一套方案,适合 Postfix / Exim / Sendmail 等常见场景。


一、基础网络与身份校验(最重要)

1. 正确配置 DNS 记录

垃圾邮件过滤首先看“你是谁”。

  • A 记录:邮件服务器有固定公网 IP 和对应域名
  • PTR(反向解析):IP → 域名(很多邮箱直接拒收无 PTR 的邮件)
  • MX 记录:正确指向邮件服务器
  • SPF
    v=spf1 mx ip4:你的IP -all
    
  • DKIM:签名邮件内容
  • DMARC
    v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com
    

✅ 没有这三项,基本必进垃圾箱。


二、邮件服务器层防护(Postfix 示例)

2. 限制开放中继

smtpd_relay_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination

3. 拒绝非法发件人

smtpd_sender_restrictions =
  reject_unknown_sender_domain
  reject_unauthenticated_sender_login_mismatch

4. 限制连接频率(防爆破 & 群发)

anvil_rate_time_unit = 60s
anvil_rate_limit = 20

三、使用防垃圾邮件工具(强烈推荐)

5. SpamAssassin(内容打分)

sudo apt install spamassassin spamc

Postfix 中调用:

content_filter = spamassassin

常用规则:

  • 黑名单词
  • HTML 滥用
  • 伪造头
  • 中文垃圾特征

6. Postscreen(Postfix 自带,轻量高效)

postscreen_greet_action = enforce
postscreen_dnsbl_action = enforce
postscreen_dnsbl_sites =
  zen.spamhaus.org,
  bl.spamcop.net

✅ 可挡掉大量僵尸网络


7. 使用 RBL 黑名单

smtpd_recipient_restrictions =
  reject_rbl_client zen.spamhaus.org
  reject_rbl_client bl.spamcop.net

四、认证与安全

8. 强制 SMTP 认证

smtpd_sasl_auth_enable = yes

9. 使用 TLS

smtpd_tls_security_level = may

避免明文密码被抓。


五、用户与策略层

10. 限制单用户发信量

防止账号被盗群发:

  • 每天最多 200 封
  • 单 IP 登录异常告警

11. 黑名单 / 白名单

  • 域名白名单(合作方)
  • 用户级黑名单(Roundcube / Webmail)

六、监控与维护

  • 查看日志:
    tail -f /var/log/mail.log
    
  • 定期更新:
    sa-update
    
  • 观察队列:
    mailq
    

七、如果你只是“不想收垃圾”

最简组合: ✅ SPF + DKIM + DMARC
✅ Postscreen + SpamAssassin


如果你愿意,可以告诉我:

  • 用的是 Postfix / Exim / 其他
  • 是 发信防进垃圾箱 还是 收信防垃圾
  • 是否有 Webmail / 企业邮箱

我可以直接给你一份可复制的配置文件。

0 踩