一、基础环境准备
在配置反垃圾策略前,确保Debian邮件服务器已安装Postfix(邮件传输代理),并更新系统软件包:
sudo apt-get update && sudo apt-get upgrade -y
二、灰名单过滤(Postgrey)
灰名单通过暂时拒绝首次发送的邮件(延迟约60秒),迫使垃圾邮件发送者因无法承受延迟而放弃,有效过滤批量垃圾邮件。
sudo apt-get install -y postgrey
/etc/default/postgrey,修改POSTGREY_OPTS参数,设置延迟时间(单位:秒,默认5分钟,可根据需求调整):POSTGREY_OPTS="-inet=127.0.0.1:10023 -delay=60"
sudo systemctl start postgrey && sudo systemctl enable postgrey
编辑Postfix主配置文件/etc/postfix/main.cf,在smtpd_recipient_restrictions参数中添加灰名单检查:smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023
重新加载Postfix使配置生效:sudo postfix reload
三、内容过滤(SpamAssassin)
SpamAssassin通过贝叶斯算法、关键词匹配、HTML结构分析等技术,对邮件内容进行评分,超过阈值的标记为垃圾邮件。
sudo apt-get install -y spamassassin
/etc/spamassassin/local.cf,启用HTML邮件验证(防止恶意代码),并设置垃圾邮件评分阈值(默认5.0,可根据实际情况调整):enable_html_validation = 1
score spam 5.0
/etc/postfix/main.cf,添加内容过滤管道:content_filter = spamassassin:127.0.0.1:1000
重启Postfix和SpamAssassin服务:sudo postfix reload && sudo systemctl restart spamassassin
四、黑名单/白名单控制
通过黑白名单直接拦截或放行特定IP、域名或邮箱地址,减少误判或漏判。
/etc/postfix/main.cf,添加公共黑名单(如Spamhaus的zen列表),拦截来自黑名单IP的邮件:smtpd_recipient_restrictions = ... reject_rbl_client zen.spamhaus.org
smtpd_recipient_restrictions = ... permit_mynetworks
/etc/postfix/access文件,添加允许的IP或域名(每行一个,格式为IP/域名 REJECT或IP/域名 OK),然后生成哈希库:sudo postmap /etc/postfix/access
在main.cf中添加自定义白名单检查:smtpd_recipient_restrictions = ... check_client_access hash:/etc/postfix/access
五、身份验证与加密(SPF/DKIM/DMARC)
通过身份验证技术防止邮件伪造,提升邮件可信度,间接减少垃圾邮件投诉。
example.com为例):v=spf1 ip4:192.0.2.1 include:_spf.google.com ~all
opendkim工具生成密钥对,在DNS中添加TXT记录(密钥选择default),并在Postfix中配置DKIM签名:sudo apt-get install -y opendkim opendkim-tools
(具体配置步骤可参考Debian官方文档或opendkim手册)reject或quarantine),并接收验证报告:v=DMARC1; p=reject; rua=mailto:admin@example.com
六、辅助策略
header_checks功能,过滤包含特定关键词(如“免费”、“中奖”)的邮件主题,编辑/etc/postfix/header_checks,添加规则:/^Subject:.*(免费|中奖)/ REJECT
然后在main.cf中启用:header_checks = regexp:/etc/postfix/header_checks
sudo apt-get update && sudo apt-get upgrade -y(每周执行一次);/var/log/mail.log,分析垃圾邮件拦截情况,调整策略参数(如SpamAssassin阈值、Postgrey延迟时间);注意事项