通过前面的介绍,相信大家对邮件系统的运作原理以及如何使用Postfix搭建简单的邮件服务器有个比较清楚的了解。再看接下来要讲解的内容前,请再次重温一下前面的原理部分。
在实际的互联网环境中,邮件交流作为互联网上最主要的应用,经常会受到各种各样的攻击问题。最常见的就是广告信、垃圾邮件、病毒邮件、木马邮件、DDOS等。而作为管理员来说,上述的问题是不可避免的。所以,我也就这些问题,提供一些解决方法供参考。
一、基本原理
在postfix来说,要解决垃圾邮件等问题,关键是在选择过滤软件及方法上。而根据邮件传递的原理,我们可以从下面三个部分对邮件进行过滤:
也就是说,在postfix收到邮件的时候,就进行如FQDN检查、DNS检查等分析,以判断邮件是否来自可信任的邮件提供商,其中也包括对已知邮件标题、内容等的过滤;
2、MDA部分,主要指smtp转发到maildir前;
在postfix收到邮件后,可以通过一些插件对邮件进行分析,例如垃圾邮件匹配、病毒扫描等,把有害的邮件根据规则而修改;
3、MUA部分,也就是客户端收到邮件时;
可以由客户端对邮件再次进行扫描,例如在使用Foxmail收信的时候,自动调用nod32等杀毒软件,这主要是为了防止有漏网之鱼。
对于服务器来说,就是处理前面的两部分。以下是我们最终要实现的效果图:
二、MTA部分
在MTA部分能够把有害邮件清除是最简单、而且不太耗费资源的。但由于现在发送垃圾邮件的广告商已经很聪明,所以效果有些折扣。
postfix自带有黑白名单抵挡机制,也可以支持第三方的插件,这里举常见的三种:
2、procmail过滤;
3、Spam Locker过滤;
三、postfix黑白名单过滤
postfix自带黑白名单过滤方式,而且也可以使用第三方的黑白名单。
1、使用第三方黑白名单
可以先从网络上寻找提供黑白名单的服务地址,然后根据情况修改/etc/postfix/main.cf,增加:
permit_mynetworks
reject_unauth_destination
reject_rbl_client cbl.abuseat.org
reject_rbl_client bl.spamcop.net
reject_rbl_client cblless.anti-spam.org.cn
reject_rbl_client sbl-xbl.spamhaus.org
红色标记的就是第三方黑白名单提供商的地址。
2、自定义黑白名单
postfix自带可以根据标题头、内容的过滤机制,但默认是关闭的,需要修改/etc/postfix/main.cf打开:
header_checks = regexp:/etc/postfix/header_checks
#打开内容检测
body_checks = regexp:/etc/postfix/body_checks
#限制对一定大小范围内的邮件才进行内容检测
body_checks_size_limit = 51200
其中,regexp表示使用正规表达式形式,后面跟的是自定义的文件。
以header_checks为例,在/etc/postfix/header_checks中,可用下面的方式定义规则:
常见动作有:
WARN 警告,但邮件可以收下来
DISCARD 直接丢弃
例如:
测试:
日志记录:
可以看到,过滤成功。
◎检查
使用postconf可以检查修改后的配置
body_checks = regexp:/etc/postfix/body_checks
body_checks_size_limit = 51200
header_checks = regexp:/etc/postfix/header_checks
使用postmap检查规则
[解]处理auxpropfunc error no mechanism available错误
Postfix进阶管理-MDA部分
Postfix进阶管理-procmail部分
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/linux/112722.html