postfix client 端强制勾选“SMTP发送服务器需身份验证”

本文介绍如何通过配置Postfix的SMTP认证防止未授权邮件发送。通过启用Cyrus-sasl并设置相关参数,确保客户端必须进行身份验证才能发送邮件,从而避免垃圾邮件的风险。

使用postfix搭建好邮件服务端以后,使用foxmail 作为客户端的时候,默认情况下都是会勾选“发送服务器需要身份认证”,如果这个选项没有勾选的话,一些程序员可以利用这个漏洞,使用你邮件服务器端下的用户名,无需你用户名的 密码就可以肆意发送邮件,如图就是我这边的同事利用这个为勾选的漏洞,发送N多的邮件:

190143565.png


垃圾邮件的危害性不言而喻哈!下面就大致的说一下这个问题的解决办法:

Postfix SMTP认证需要通过Cyrus-sasl

通过在postfixmain.cf文件中,通过对相关CYRUS-SASL的配置,令每一个用户必须在客户端勾上“发送服务器需要身份验证”选项,否则无法发送邮件;

smtpd_sasl_auth_enable = yes  启用sasl认证

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination,permit    

设置收件人过滤规则,permit是最重要的,

smtpd_sasl_local_domain = $myhostname  

smtpd_sasl_security_options = noanonymous

smtpd_sender_restrictions = permit_sasl_authenticated,reject

smtpd_sasl_application_name = smtpd

重新加载postfix文件,postfix程序在你postfix安装的目录下

/usr/local/postfix/sbin/postfix reload

此时,客户端用户如果没有勾选“SMTP发送服务器需要身份验证选项的话”,在发送邮件时会提示:

错误信息:Please check the email <xxxxx@xxxxxx.com>, server reply: 504 5.5.2

勾选上后,就可以正常发送邮件






      本文转自天真花语  51CTO博客,原文链接:http://blog.51cto.com/caibird/1228510,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值