`

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反垃圾邮件设置.docx

    以下是对 Postfix 反垃圾邮件设置的详细解释: 1. **防止发件人身份伪造**: - `smtpd_recipient_restrictions` 配置:这一配置项定义了 SMTP 会话中接收邮件的限制条件。`permit_mynetworks` 允许内部网络发送...

    基础邮件系统的安装(基于postfix)及反垃圾设置

    【邮件系统基础知识】 邮件系统是互联网通信的重要组成...Postfix的灵活性和强大的反垃圾邮件特性使其成为许多组织的理想选择。正确配置这些设置可以有效地保护网络不受垃圾邮件的侵扰,同时确保合法邮件的正常传递。

    基于FreeBSD和Postfix的反垃圾邮件系统5.1(PowerUP补充版V2.0).doc

    基于FreeBSD和Postfix的反垃圾邮件系统

    Linux系统下postfix邮件系统反垃圾技术解析.pdf

    本文主要解析了在Linux系统下,Postfix如何实现反垃圾邮件的技术。 Postfix的反垃圾邮件策略主要体现在两个阶段:数据发送前过滤和数据发送后过滤。 1. 数据发送前过滤 这一阶段的过滤发生在SMTP会话中,在DATA...

    树莓派安装postfix邮件服务1

    通过在树莓派上安装Postfix、Dovecot、Squirrelmail、SpamAssassin和Sieve,你可以构建一个低成本、高性能的家庭邮件服务器,提供个性化邮件地址、多设备访问、安全的IMAP和Webmail服务,以及强大的反垃圾邮件和邮件...

    基于FreeBSD和Postfix的反垃圾邮件系统5.1(PowerUP补充版V2.0)

    本文介绍使用FreeBSD+Postfix+Cyrus-sasl+Courier-imap+Webmail+spamassassin+Clamav+mailscanner+maildrop来架构一个具有多域名,webmail、防病毒、防垃圾邮件、web管理界面的邮件系统。 Jacky, $Revision: 5.1...

    RBL技术全面构建反垃圾邮件网络

    RBL(Realtime Blackhole List)技术是一种反垃圾邮件策略,它通过构建黑名单来阻止已知的垃圾邮件来源IP地址的连接,以此来减少垃圾邮件的传播。这种技术基于DNS查询,通过检查发送邮件的IP地址是否存在于RBL服务器...

    postfix-dovecot:postfix-dovecot 和反病毒反垃圾邮件

    本教程将深入探讨如何结合Postfix和Dovecot来搭建一个高效且安全的邮件服务器,并集成反病毒和反垃圾邮件功能。 Postfix是一个强大的MTA(邮件传输代理),负责处理邮件的接收、转发和投递。它的设计目标是高效、...

    postfix 权威指南

    第十章 邮件列表 简易的邮件列表 邮件列表管理系统 第十一章 反垃圾邮件 垃圾邮件的本质 垃圾邮件的问题 开放转发(Open Relay) 辨别垃圾邮件 反垃圾邮件的措施 Postfix的挡信机制 客户端判别规则 SMTP语法规范参数...

    postfix搭建邮件系统

    **SpamAssassin** 是一个开源的垃圾邮件过滤器,利用各种规则和特征来识别垃圾邮件。与amavisd-new结合使用,SpamAssassin可以在邮件传递到用户收件箱之前进行过滤。 **amavisd-new** 是一个接口程序,它连接了...

    CentOS5.3安装postfix+extmail邮件系统

    **Extmail**则是一款基于Web的邮件系统,它集成了Postfix、Cyrus SASL、MySQL等组件,提供了完整的邮件解决方案,包括邮件收发、Web管理、反垃圾邮件、病毒扫描等功能。Extmail的用户界面友好,支持多语言,非常适合...

    postfix+extmail邮件系统搭建文档[归纳].pdf

    * Amavisd-new:反病毒和反垃圾邮件过滤 * ClamAV:反病毒扫描 * ExtMail:WebMail系统 * ExtMan:Web账户管理后台 * Courier系列软件:邮件投递代理 邮件解决方案的软件组成: * 操作系统:RedHat Enterprise ...

    postfix post 邮件系统

    在实际应用中,Postfix通常会与其它邮件相关组件结合使用,例如Dovecot用于提供POP3/IMAP服务,Amavis或SpamAssassin用于反垃圾邮件和病毒扫描,以及OpenDKIM或SPF用于邮件签名和验证,以提高邮件系统的安全性和信誉...

    Postfix邮件书籍

    Postfix支持多种反垃圾邮件和防病毒策略,比如通过RBL(Real-time Blackhole List)检查发件人IP地址是否被列入黑名单,或者利用SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)和DMARC...

    快速邮(Ksemail)反垃圾反病毒邮件监控过滤安全网关 v6.0 build 060630

    一款反垃圾、反病毒的邮件网关软件,部署在Exchange、Lotus、Imail、Mdaemon、qmail、postfix、Ksemail等邮件服务器的前端, 为邮件系统提供垃圾邮件过滤和病毒过滤功能,综合运用动态黑名单、 静态黑名单、IP阻断、...

    postfix dovecot建立邮件服务器,已经配置好可以跑通的

    同时,设置反垃圾邮件和防病毒策略,可以使用Amavis、SpamAssassin等工具。 在完成所有配置并测试无误后,一个基于Postfix和Dovecot的邮件服务器就建立起来了。这个服务器可以处理邮件的接收、转发和存储,为用户...

    postfix:使用Golang通过Postfix发送电子邮件

    在IT行业中,Postfix是一款广泛使用的开源邮件传输代理(MTA),它负责处理电子邮件的接收、传递和投递。...在进行邮件发送时,请确保遵守反垃圾邮件政策,尊重用户的隐私,以保持良好的网络礼仪。

Global site tag (gtag.js) - Google Analytics