参考地址: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
相关推荐
在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪费。该规则通常置于规则列表的最后面使规则更清晰。 拒绝动作默认不会在匹配了拒绝规则后就即时断开连接,而是在rcpt to指令处理完之后再断开...
postfix反垃圾邮件设置.docx
基于FreeBSD和Postfix的反垃圾邮件系统
基础邮件系统的安装(基于postfix)及反垃圾设置
本文介绍使用FreeBSD+Postfix+Cyrus-sasl+Courier-imap+Webmail+spamassassin+Clamav+mailscanner+maildrop来架构一个具有多域名,webmail、防病毒、防垃圾邮件、web管理界面的邮件系统。 Jacky, $Revision: 5.1...
Linux系统下postfix邮件系统反垃圾技术解析.pdf
postfix-dovecot postfix-dovecot 和防病毒/反垃圾邮件
第十章 邮件列表 简易的邮件列表 邮件列表管理系统 第十一章 反垃圾邮件 垃圾邮件的本质 垃圾邮件的问题 开放转发(Open Relay) 辨别垃圾邮件 反垃圾邮件的措施 Postfix的挡信机制 客户端判别规则 SMTP语法规范参数...
一款反垃圾、反病毒的邮件网关软件,部署在Exchange、Lotus、Imail、Mdaemon、qmail、postfix、Ksemail等邮件服务器的前端, 为邮件系统提供垃圾邮件过滤和病毒过滤功能,综合运用动态黑名单、 静态黑名单、IP阻断、...
4. 增加反垃圾邮件,病毒过滤设定 分别测试 spamassassin , dspam , clamav 使用软件: OS: centos 5.3 Smtp: postfix Imap/pop3: courier-imap/dovecot 垃圾邮件,病毒过滤: amavisd-new, spamassassin , dspam , ...
[反垃圾邮件] MailCleaner是一个反垃圾邮件/防病毒过滤器SMTP网关,具有用户和管理Web界面,隔离,多域,多模板,多语言。 使用贝叶斯,RBL,Spamassassin,MailScanner,ClamAV。 基于Debian。 企业准备就绪。 ...
•Scrollout F1专为Linux和Windows电子邮件系统管理员设计,是一种易于使用且已调整的电子邮件防火墙(网关),提供免费的反垃圾邮件和防病毒保护,旨在保护现有的旧的或新的电子邮件服务器(例如Microsoft Exchange...
该角色在Gentoo Linux *上安装Postfix(MTA),Dovecot(IMAP),DSPAM(反垃圾邮件),ClamAV(防病毒)和OpenDKIM。 如果您还需要一个Web界面(又称Webmail),请尝试来安装 。 去做 *稍加修改即可在其他Linux...
RadicalSpam是在GPL v2下分发的免费开源软件包,包括Postfix,SpamAssassin Amavisd-new,Clamav,Razor,DCC,Postgrey,Bind等产品; 提供安全的SMTP中继,可以在Linux和docker环境中使用。 详细信息:...
1.09更新说明 更新部分组件,兼容...Amavisd:反垃圾和反病毒 LNAMP:,nginx,mysql,php EwoMail-Admin:WEB邮箱管理后台 Rainloop:webmail 安装环境 centos6/7系统,服务器需要干净环境,全新安装的系统。
docker-mailserver:使用Docker的全栈但简单的邮件服务器(SMTP,IMAP,LDAP,反垃圾邮件,防病毒等)
ExtMail Solution 是一个基于优秀开源软件的电子...• 支持大量反垃圾邮件技术 • 图形化邮件日志分析 • 支持别名/多域/域管理员等 • 支持网络磁盘/POP3邮件 • 支持读/写HTML格式邮件 • 支持定制模板及多语言
本文档假定读者没有任何防病毒或反垃圾邮件技术的知识。 趋势科技邮件安全网关 (IMSA) 文档包括以下各项: • 《安装指南》 — 包含对 IMSA 功能和系统要求的说明,并提供如何在各种 网络环境中部署和升级 IMSA 的...