前言

用ewomail搭建了一个邮箱服务器,邮箱用的时间长了,各种各样的垃圾邮件接踵而来,防不胜防,默认的反垃圾规则已经失去该有的效果,只能采取暴力的屏蔽手段,手动把一些邮箱和IP拉入黑名单

具体实施

在ewomail中,main.cf中注释掉了amavisd的10024过滤器,因此邮件不经过amavisd的黑白名单

解决方案,根据自己实际情况选择

  1. IP黑名单
  2. 发件人黑名单
  3. 收件人黑名单

IP黑名单

vi /etc/postfix/main.cf
#在文件末尾添加访问表限制:
smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access #限制客户端IP地址
#创建访问表
vi /etc/postfix/client_access #IP黑名单
#增加规则
10.188.1.172  REJECT  "这里填写拒收消息,比如,因为收到大量垃圾邮件,暂时将此IP的邮件拒收,如果误伤,请联系"
#写入数据库
postmap /etc/postfix/client_access
#加载配置文件
systemctl restart postfix dovecot amavisd

IP黑名单 进阶选项

如果你被垃圾邮件盯上,可能每天的IP不一样,给你邮件轰炸,但是IP网段相同。
最近在翻阅国外的网站,发现使用CIDR方式,是最佳选择,详细设置如下:

vi /etc/postfix/main.cf
#末尾添加
smtpd_client_restrictions = check_client_access cidr:/etc/postfix/client_access

使用CIDR方式,编辑完client_access以后,不需要执行postmap即可被POSTFIX读取,支持掩码方式,可以直接写IP也可以写IP段

vi /etc/postfix/client_access
183.11.20.2 REJECT  "这里填写拒收消息"
183.13.20.0/24 REJECT  "这里填写拒收消息"

这样相对的方便了很多了。通过掩码方式,我们可以很容易的屏蔽IP段。

发件人和收件人黑名单

vi /etc/postfix/main.cf
#末尾添加
smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_checks #限制发件人地址
smtpd_recipien_restrictions = check_recipien_access hash:/etc/postfix/recipien_access #限制收件人地址
 
#编辑sender_checks
vi /etc/postfix/sender_checks #发件人黑名单
[email protected]  REJECT
marketing@  REJECT
abc.example.com REJECT
 
#编辑recipien_access
vi /etc/postfix/recipien_access #收件人黑名单
[email protected] REJECT
 
#分别写入数据
postmap /etc/postfix/sender_checks
postmap /etc/postfix/recipien_access 
 
#重启服务
systemctl restart postfix dovecot amavisd

附查看邮件列队

#查看邮件列队 如果有天邮件发不出去了,查一下是否有邮箱密码简单被人利用中转。
postqueue -p
#查看邮件列队结束。如果有强制修改弱密码。
清空队列中的邮件
postsuper -d ALL
最后修改:2021 年 04 月 19 日
如果觉得我的文章对你有用,请随意赞赏