设为首页 收藏本站
查看: 1080|回复: 0

[经验分享] linux as3.0 sendmail SMTP 验证 成功总结

[复制链接]

尚未签到

发表于 2015-9-15 07:05:54 | 显示全部楼层 |阅读模式
一、检查所需的包是否已经安装好
要在Quick Linux AS3里使用SMTP认证,需要安装sendmail和cyrus-sasl,这两个包在Quick AS3安装时默认应该都是安装好了的,如果你在使用Redhat或其他的Linux版本,请检查这两个包是否已经装好
二、我们来改一下几个配置文件
1。先来看一下/usr/lib/sasl2/Sendmail.conf文件,里面的内容应该是pwcheck_method:saslauthd,将这个文件复制成smtpd.conf,即cp Sendmail.conf smtpd.conf,这个文件也要在/usr/lib/sasl2/目录下;
2.然后/etc/init.d/saslauthd start来启动sasl的密码认证(要每次开机自动启动这项服务,就运行ntsysv选中saslauthd,再存盘退出ntsysv)。注意:我把这里添加就 OK
3。修改/etc/mail/sendmail.mc文件,有3个地方要改:
第42行和43行,把最前面的dnl删除,变成:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
第84行DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl注释掉
这是让sendmail监听在全部网络端口上,而不是只监听在本机上,有很多人抱怨sendmail没办法收信,这是最基本要修改的地方,最简单就事注释 掉
DAEMON_OPTIONS(`Port=587, Name=MSA, M=Ea')dnl 改为
DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
根据这样的配置,sendmail只有在587端口才对用户强制进行身份认证,而在smtp服务默认用的端口25(OutlookExpress上默认用的就是25)上则用户认不认证都无所谓,我在OutlookExpress上选择“我的服务器要求身份认证”sendmail就进行认证,若不选该选项, sendmail服务器不加任何认证就会转发任何邮件。这种策略显然是不合理的,安全的策略是只在默认的25端口强制进行身份认证,否则不予转发邮件,在其他端口根本不打开。在这种配置下,邮件服务器仅在收发双方都是本地用户的时候才不强制进行身份认证,其他情况的时候都要进行认证。
注意千万不要写成 这样
DAEMON_OPTIONS(`Port=25, Name=MTA')dnl
DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
两句同时存在 ,这样 25端口不能打开
好了,都改完了,我们存盘退出。
4.把mc文件编译成sendmail的配置,运行m4 sendmail.mc >sendmail.cf;
5./etc/init.d/sendmail restart(重新启动sendmail)
大功告成,重新测试OUTLOOK吧。注意在OUTLOOK里“邮件发送服务器”选中"我的服务器要求身份验证“,设置里只要选择”使用与邮件接受服务器相同的设置“即可。否则的话出现邮件服务发送的错误。
在access文件中不要设置拒绝转发任何邮件,我是将access文件清空在重新生成access.db,让sendmail完全按照sendmail.cf中的配置去做
大部分都像楼主所说的那样,只不过我的telnet localhost 25后虽然出现:

250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
但是认证后总是提示“535 5.7.0 authentication failed”。后来查看日志文件发现提示“May 24 16: 11:42 DGIT01 saslauthd[1546]: do_auth : auth failure: [user=zj ] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]”
于是我在/etc/pam.d/目录下参照其它文件建立一个“smtp”文件(postfix的是smtp.postfix),内容如下:
#%PAM-1.0
auth required pam_stack.so service=system-auth
account required pam_stack.so service=system-auth
上面几行是什么意思,可以参考PAM 方面的文档,从此认证成功。
还有,要防止本地用户利用 Sendmail 服务器上的漏洞,最好是让邮件用户只使用电子邮件程序来访问 Sendmail 服务器。邮件服务器上的 Shell 帐号不应该被允许,/etc/passwd 文件中的所有用户 shell 都应该被设置为 /sbin/nologin,在添加系统用户时可以useradd -s /sbin/nologin 用户名,这样添加的用户名就没有了shell,只能收发信而不能登陆到服务器运行其他程序,安全一点。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-113642-1-1.html 上篇帖子: 在Sendmail中添加RBL功能 下篇帖子: sendmail configuration on HP-UX
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表