postfix反垃圾邮件说明
参考地址:http://guailele.blog.51cto.com/1156442/780223
1、打开 smtp 的认证模块
在/etc/postfix/main.cf文件最后加上:
smtpd_sasl_auth_enable = yes
smtpd_delay_reject=yes
smtpd_recipient_restrictions = permit_mynetworkspermit_sasl_authenticated permit_auth_destination reject
smtpd_client_restrictions = permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
这样用户的postfix就支持smtp认证了
#1、postfix配置说明(强烈建议参看“postfix权威指南 第十一章 反垃圾邮件”)
#fqdn格式:完全限定域名格式,即用点分隔开的包括域名和主机名的主机全名
# smtpd related config
smtpd_recipient_restrictions =
permit_mynetworks, #检测客户端是否来自mynetworks或者mynetworks_style的网络,是的话返回OK,否则返回DUNNO状态码。
permit_sasl_authenticated, #检测用户认证是否通过的,认证通过的返回状态OK,否则返回DUNNO状态码。
reject_non_fqdn_hostname, #HELO/EHLO时:客户端提供的主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_non_fqdn_sender, #MAIL FROM时:客户端提供的主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_non_fqdn_recipient, #RCPT TO时:客户端提供的主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_unauth_destination, #RCPT TO时:收件人不在postfix管辖的区域(由mydestination定义),返回REJECT,否则返回DUNNO状态码。
reject_unauth_pipelining, #禁止非授权客户端使用pipelining
reject_invalid_hostname #HELO/EHLO时:客户端提供的主机名不是有效的主机名时,返回REJECT,否则返回DUNNO状态码。
# SMTP sender login matching config
smtpd_sender_restrictions =
permit_mynetworks, #检测客户端是否来自mynetworks或者mynetworks_style的网络,是的话返回OK,否则返回DUNNO状态码。
reject_sender_login_mismatch, #拒绝发送者在$smtpd_sender_owner_maps中所匹配的用户名和sasl登录名不一致的连接。
reject_authenticated_sender_login_mismatch, #拒绝认证成功的发送者在$smtpd_sender_owner_maps中所匹配的用户名和sasl登录名不一致的连接。
reject_unauthenticated_sender_login_mismatch #拒绝认证失败的发送者在$smtpd_sender_owner_maps中所匹配的用户名和sasl登录名不一致的连接。
smtpd_sender_login_maps =
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
#2、smtp会话过程的各个限制条件参数:详看图片“stmp对话过程以及各个阶段对于的限制条件.png”,共分为7个顺序过程的参数限制:
1、smtpd_client_restrictions
2、smtpd_helo_restrictions
3、smtpd_sender_restrictions
4、smtpd_recipient_restrictions
5、smtpd_data_restrictions
6、header_checks
7、body_checks
#3、会话过程对比:
#---------------------------------------------------------------------------
root@mail:/etc/postfix# telnet mail.jmail.com 25
Trying 192.168.0.234...
Connected to mail.jmail.com.
Escape character is '^]'.
220 ESMTP #smtpd_client_restrictions
#---------------------------------------------------------------------------
ehlo mail.zmail.com #smtpd_helo_restrictions
250-mail.jmail.com
250-PIPELINING
250-SIZE 5242880
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
#---------------------------------------------------------------------------
MAIL FROM:<zyq@zmail.com> #smtpd_sender_restrictions
250 2.1.0 Ok
#---------------------------------------------------------------------------
RCPT TO:<jj@extmail.org> #smtpd_recipient_restrictions
250 2.1.5 Ok
#---------------------------------------------------------------------------
DATA #smtpd_data_restrictions
354 End data with <CR><LF>.<CR><LF>
#---------------------------------------------------------------------------
Client: To: jingjing<jj@extmail.org> #header_checks
From:<zyq@zmail.com>
Subject:SMTP Test!
#---------------------------------------------------------------------------
this is a test message body! #body_checks
.
250 2.0.0 Ok: queued as 959FDE03CA
#---------------------------------------------------------------------------
#4、限制条件与对应的受检信息
限制条件 客户端提供的受检信息
#RBL:实时黑名单
reject_rbl_client 客户端提供的IP地址或则主机名称 #smtpd_client_restrictions
reject_rhsbl_client
reject_unknown_client
check_client_access type:mapname helo提供的主机名称 #smtpd_helo_restrictions
permit_naked_ip_address
reject_invalid_hostname
reject_non_fqdn_hosname
reject_unknown_hosname
check_helo_access type:mapname MAIL FROM提供的寄件人邮件地址 #smtpd_sender_restrictions
reject_non_fqdn_sender
reject_rhsbl_sender
reject_unknown_sender_domain
check_sender_access type:mapname RCPT TO提供的收件人的地址 #smtpd_recipient_restrictions
permit_auth_destination
permit_mx_backup
reject_non_fqdn_recipient
reject_unauth_destination
reject_unkownn_recipient_domain
check_recipient_access type:mapname
reject_unauth_pipeling DATA命令
permint 无条件批准
reject 无条件拒绝
defer 无条件延迟
warn_if_reject 将原本的REJECT动作改为WARN(eg:warn_if_reject reject_unauth_destination 注意此命令必须放在其他条件之前,不能单独调用)
reject_unauth_pipelining 禁止非授权客户端使用pipelining
#参数详细说明
reject_rbl_client #拒绝来自属于rbl和rhsbl列表中的地址进行连接。通过检查一个ip地址或域名是否存在于domain.tld的rbl或rhsbl中,可以判断该客户端是否被列入了domain.tld的实时黑名单,从而决定是否接受连接。
reject_rhsbl_client #拒绝来自属于rbl和rhsbl列表中的地址进行连接。通过检查一个ip地址或域名是否存在于domain.tld的rbl或rhsbl中,可以判断该客户端是否被列入了domain.tld的实时黑名单,从而决定是否接受连接。
reject_unknown_client #拒绝客户的地址没有对应的dns的a记录或ptr记录的连接。通常有些机器,尤其是个人拨号用户的机器没有对应的a记录或ptr记录,所以要注意漫游用户的使用(漫游用户是指不在$mynetworks中,比如在别的isp拨号上网的用户。通常用smtp认证来解决这个问题)。
check_client_access type:mapname
permit_naked_ip_address #允许直接使用ip地址的连接。通常在helo/ehlo中使用主机名而不是ip地址。
reject_invalid_hostname #拒绝无效格式的主机名的连接。
reject_non_fqdn_hosname #HELO/EHLO时:客户端提供的主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_unknown_hosname #HELO/EHLO时:客户端提供的主机名未知时,返回REJECT,否则返回DUNNO状态码。
check_helo_access type:mapname
reject_non_fqdn_sender #MAIL FROM时:客户端提供的服务器主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_rhsbl_sender #MAIL FROM时:拒绝来自实时黑名单的用户主机
reject_unknown_sender_domain #MAIL FROM时:提供的网域无效时(DNS查询),返回REJECT,否则返回DUNNO状态码。
check_sender_access type:mapname
permit_auth_destination #RCPT TO时:
#允许发往默认转发和默认接收的连接。
#postfix默认转发以下的邮件:
#来自$mynetworks中地址发送的邮件
#发往$relay_domains中的域或其子域的邮件。但是不能包含邮件路由(如user@elsewhere@domain.tld)。
#postfix默认接收最终投递目标符合如下条件的邮件:
#目标在$inet_interfaces
#目标在$mydestinations
#目标在$virtual_alias_domains
#目标在$virtual_mailbox_domains
permit_mx_backup #RCPT TO时:允许接收本地主机是邮件投递目标的mx地址的邮件。但是不能包含邮件路由(如user@elsewhere@domain.tld)
reject_non_fqdn_recipient #RCPT TO时:客户端提供的服务器主机名不是RFC要求的完整形式(FQND),返回REJECT,否则返回DUNNO状态码。
reject_unauth_destination #RCPT TO时:拒绝不是发往默认转发和默认接收的连接。(防止成为垃圾邮件服务器)。
reject_unkownn_recipient_domain #RCPT TO时:拒绝发往未知域名的连接。
check_recipient_access type:mapname
reject_unauth_pipeling #DATA命令
permint #无条件批准
reject #无条件拒绝
defer #无条件延迟
warn_if_reject #将原本的REJECT动作改为WARN(eg:warn_if_reject reject_unauth_destination 注意此命令必须放在其他条件之前,不能单独调用)
reject_unauth_pipelining #禁止非授权客户端使用pipelining
postfix反垃圾邮件说明的更多相关文章
- Postfix上的反垃圾邮件的四个方法
在介绍如何配置Postfix的smtp配置之前有必要首先介绍一下它的背景和特点.Postfix是一个由IBM资助下由WietseVenema 负责开发的自由软件工程的一个产物,其目的是为用户提供除se ...
- 在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)
这是06年写的,不知道现在RBL改了没,不过恢复过来做记录,以后可能需要. 实时黑名单(RBL)实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的A记录是否存在来判断其是否被 ...
- 如何让企业邮箱更安全之gmail yahoo hotmail 反垃圾邮件机制
一.雅虎.Gmail Domainkeys 是由雅虎公司推出的一项确保电子邮件来源的真实性和内容的完整性的技术,它能让电子邮件服务商确定某封信是否真实的来自某个域和帮助他们的用户免受“钓鱼欺诈邮件“的 ...
- exchange 2003配置ASSP 反垃圾邮件
Exchange上第三方反垃圾邮件用得比较多的是ORF,它直接运行在虚拟SMTP服务上,配置非常的方便.ASSP(https://sourceforge.net/projects/assp/) 是一个 ...
- Exchange2010启用反垃圾邮件功能
今天邮箱服务器发现有大量发件人为空的邮件等待执行,也就是说空邮件堵塞了队列. 一般来说,空邮件就是别人发送垃圾邮件给你,你的服务上不存在这个收件人,那么系统会产生一封退信告诉你这封邮件已经被退.而ex ...
- 检查邮箱IP是否在国际反垃圾邮件组织的黑名单中
有时候邮件发不出去,很有可能就是邮件服务器的IP被国际上一些反垃圾组织列入黑名单了,这时你可以通过返回的邮件判断是否进入黑名单,或者通过以下查询地址看是否被列入,然后一个个申请移除: http://m ...
- 温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫/反垃圾邮件
背景 一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫. ...
- 启用EXCHANGE反垃圾邮件功能和重建EXCHANGE邮件系统帐号
How to recreate System Mailbox , FederatedEmail & DiscoverySearchMailbox in Exchange 2010 http:/ ...
- postfix防垃圾邮件
Postfix 2.x 打开/etc/postfix/main.cf文件,在其中增加如下的几行(如果相关的配置存在,就替换之): vi /etc/postfix/main.cf [...] smtpd ...
随机推荐
- 如何保存ISE综合后的RTL schematic为pdf
如何保存ISE综合后的RTL schematic为pdf 2013-06-23 20:50:10 代码进行综合后,可以得到一个ngr文件,在ISE中打开该文件可以打开RTL schematic,这样每 ...
- EL表达式 JSTL中的常用EL函数 动态数据的国际化
ELppt: EL 全名为Expression Language.EL主要作用: 获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.( ...
- 关于web会话中的session过期时间的设置
关于web会话中的session过期时间的设置 1.操作系统: 步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉右键“属性”——〉主目录——〉配置— ...
- 【HDOJ】4317 Unfair Nim
基本的状态压缩,想明白怎么dp还是挺简单的.显然对n个数字进行状态压缩,dp[i][j]表示第i位状态j表示的位向高位产生了进位. /* 4317 */ #include <iostream&g ...
- The Material Sourcing Process Failed To Create Picking Suggestions in INVTOTRX (文档 ID 2003806.1)
In this Document Symptoms Cause Solution References Applies to: Oracle Inventory Management - Versio ...
- 三个入侵的必备小工具-lcx.exe、nc.exe、sc.exe
lcx.exe的使用方法 以前抓肉鸡都是通过1433弱口令,然后.. 但是发现很多服务器开了1433,3389,但是终端是连不上的,因为服务器本身是在内网,只对外开放了1433端口,幸好有lcx. ...
- 宏ut_2pow_remainder
求余数 12%8=4 n%m也能计算出余数,但效率可能比位操作要低一些 /*************************************************************// ...
- MySql命令的基本操作
MySQL的基本命令: 登录:mysql -h -u root -p password:*****; 例如:mysql -h127.0.0.1 -uroot -p 增加一个用户: grant all ...
- 将archlinux 2013-06-01版,安装配置为个人工作站
本文安装所使用的镜像为:archlinux-2013.06.01-dual.iso.首先请看看我安装完成之后的效果.图一,是第一个虚拟桌面及右键菜单图: 图二,是第二个虚拟桌面效果图.后几个虚拟桌面图 ...
- oracle 字段上下两条记录的相减
SELECT T.ID ,BALANCE,nvl(lag (BALANCE,1) over (order by T.ID ) ,0) FROM AN T ORDER BY T.ID [转]orac ...