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

简介:

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


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

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,如需转载请自行联系原作者


相关文章
|
关系型数据库 MySQL 数据库
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
1667 0
|
存储 监控 NoSQL
Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
本文讨论了在C/C++中实现服务器处理多个客户端的技术,重点介绍了事件循环和非阻塞IO的概念,以及如何在Linux上使用epoll来高效地监控和管理多个文件描述符。
186 1
|
网络协议 Go API
php-websocket hyperf/websocket-server/client 客户端和服务器实时双向数据传输
php-websocket hyperf/websocket-server/client 客户端和服务器实时双向数据传输
570 0
|
存储 网络协议 Java
编写UDP版本的客户-服务器程序(echo server 和 echo client)
编写UDP版本的客户-服务器程序(echo server 和 echo client)
263 0
|
网络协议 Linux 文件存储
Postfix 邮件服务器的配置
Postfix是一种功能强大且功能多样的邮件传输代理。在本文中,我们已经了解了如何使用postfix 和 dovecot为基于系统用户帐户的单个域实现基本电子邮件服务器。我们几乎没有涉及基于 postfix 的系统的真正功能,但希望能为新用户构建提供坚实的工作基础。
2166 0
|
Oracle 关系型数据库 数据库
远程连接服务器,出现身份验证错误,要求的函数不受支持。
远程连接服务器,出现身份验证错误,要求的函数不受支持。
355 0
|
Oracle 关系型数据库 数据安全/隐私保护
【已解决】身份验证错误,要求的函数不正确或登录windows2008服务器提示账号密码错误的解决方案
【已解决】身份验证错误,要求的函数不正确或登录windows2008服务器提示账号密码错误的解决方案
1029 0
|
关系型数据库 MySQL 数据库连接
【数据库报错系列】不建议不使用服务器身份验证建立SSL连接,必须默认建立SSL连接。
【数据库报错系列】不建议不使用服务器身份验证建立SSL连接,必须默认建立SSL连接。
|
关系型数据库 MySQL 数据安全/隐私保护
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
1025 0
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
|
C++ Python
【古月21讲】ROS入门系列(3)——客户端Client、服务器Server的编程实现+自定义服务数据编程实现
【古月21讲】ROS入门系列(3)——客户端Client、服务器Server的编程实现+自定义服务数据编程实现
407 0
【古月21讲】ROS入门系列(3)——客户端Client、服务器Server的编程实现+自定义服务数据编程实现