邮件服务器_SMTP认证控制和Webmail系统


本文来自Linux网络服务_邮件服务器-Redhat Enterprise 5.9的扩展:

基本配置地址:http://murongqingqqq.blog.51cto.com/2902694/1372049


第一部分:SMTP认证控制

邮件服务器_SMTP认证控制

   白话说来:如果没有SMTP认证控制,所有人都可以通过你的邮件服务器向其他域发送邮件,这时就会被其他邮件服务器视为垃圾邮件,那么你所搭建的邮件服务器很可能会变成一个垃圾邮件服务器,有了SMTP认证控制,只有进行了身份验证的账号才能向其他域发送邮件!!!


第一步:启动saslauthd服务

配置文件为/etc/sasl2/smtpd.conf

配置可参考/usr/lib64/sasl2/smtpd.conf

[root@server1 ~]# service saslauthd start

启动 saslauthd:                                           [确定]

[root@server1 ~]# vim /etc/sasl2/smtpd.conf     //本身不存在,需要创建

[root@server1 ~]# cat /etc/sasl2/smtpd.conf

pwcheck_method:saslauthd

[root@server1 ~]# service saslauthd restart

停止 saslauthd:                                           [确定]

启动 saslauthd:                                           [确定]

[root@server1 ~]# chkconfig --list saslauthd

saslauthd       0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

[root@server1 ~]# chkconfig saslauthd on

[root@server1 ~]# testsaslauthd -u hunter -p 123 -s smtp

0: OK"Success."

[root@server1 ~]#


第二步:调整postfix配置,启用认证

只需在main.cf文件的末尾添加下面内容即可:

[root@server1 ~]# vim /etc/postfix/main.cf

[root@server1 ~]# tail -6 /etc/postfix/main.cf  //添加下面内容即可

mynetworks= 127.0.0.1      //设置本地网络

smtpd_sasl_auth_enable= yes        //启用SASL认证

smtpd_sasl_security_options= noanonymous       //阻止匿名发信

smtpd_recipient_restrictions= permit_mynetworks,   //设置收件人过滤

permit_sasl_authenticated,

reject_unauth_destination  //后面这三行是一行的内容,分开写需要另一起行加空格

[root@server1 ~]# service postfix restart

关闭 postfix:                                             [确定]

启动 postfix:                                             [确定]

[root@server1 ~]#


第三步:测试SMTP认证

使用telnet工具:连接到25,执行认证发信指令

在使用SMTP认证的时候,需要获得BASE64编码的认证字串

发件人用户名、密码:

   [root@server1 ~]# printf"nick" | openssl base64

bmljaw==            //获得BASE64的用户编码

   [root@server1 ~]# printf"123" | openssl base64

MTIz        //获得的密码123的BASE64编码

   [root@server1 ~]#

示例1:启动了SMTP认证后,没有进行认证,不允许向外域发送邮件:

[root@server1 ~]# telnet mail.tarena.com 25

Trying192.168.1.100...

Connected tomail.tarena.com (192.168.1.100).

Escape character is'^]'.

220 mail.tarena.comESMTP Postfix

mailfrom:nick@tarena.com

250 2.1.0 Ok

rcptto:test@qq.com

554 5.7.1 <test@qq.com>: Relayaccess denied     //被拒绝发送外域邮件

quit

221 2.0.0 Bye

Connection closed byforeign host.

[root@server1 ~]#


示例2:认证通过后,允许向外域发送:

[root@server1 ~]# telnet mail.tarena.com 25

Trying192.168.1.100...

Connected tomail.tarena.com (192.168.1.100).

Escape character is'^]'.

220 mail.tarena.comESMTP Postfix

helomail.tarena.com        //向邮件服务器打招呼

250 mail.tarena.com

auth login      //进行认证登录

334 VXNlcm5hbWU6

bmljaw==            //通过BASE64获得的认证用户名

334 UGFzc3dvcmQ6

MTIz        //这个就是通过BASE64编码获得的认证用户密码

235 2.0.0Authentication successful

mailfrom:hunter@tarena.com

250 2.1.0 Ok

rcpt to:test@qq.com

250 2.1.5 Ok        //返回这个结果,证明了认证通过之后,允许向外域发送邮件

...     //因为test@qq.com是随便写的,根本不存在,下面输入的为未连接等错误信息。



第二部分:搭建Webmail系统

Linux下常见网站邮箱程序

   SquirrelMail(小松鼠)

   ExtMail

   OpenWebmail

   OpenWebmail

   RoundCube


第一步:部署squirrelmail套件

在httpd服务器上安装:

   yum安装squirrelmail软件包

确认添加的httpd配置


安装squirrelmail软件包的时候,会有关于httpd和php的软件包依赖,所以在安装squirrelmail之前最好安装apache服务器。


[root@server1 ~]# yum install squirrelmail -y

[root@server1 ~]# grep "^Include" /etc/httpd/conf/httpd.conf

Includeconf.d/*.conf       //确保httpd.conf配置文件包含conf.d的配置

[root@server1 ~]# tail -1 /etc/httpd/conf.d/squirrelmail.conf

Alias/webmail /usr/share/squirrelmail  //该文件中其实就这一行配置


第二步:配置squirrelmail

指定发信、授信服务器地址;

将config.php一下内容加以修改即可:

[root@server1 ~]#cat /etc/squirrelmail/config.php

....

$squirrelmail_default_language= 'zh_CN';       //改为中文

$domain                 = 'tarena.com';         //域名

$imapServerAddress      = '192.168.1.100';      //收信服务器

$imapPort               = 143;

$useSendmail            = true;

$smtpServerAddress      = '192.168.1.100';      //发信服务器

$smtpPort               = 25;

$sendmail_path          = '/usr/sbin/sendmail';

.......


第三步:通过浏览器访问Webmail系统

如下图所示,访问mail.tarena.com/webmail即可!

贴个图展示一下,小松鼠挺好看,哈哈!

邮件服务器_SMTP认证控制和Webmail系统_SMTP Webmail 邮件服务器安全

邮件服务器_SMTP认证控制和Webmail系统_SMTP Webmail 邮件服务器安全_02