红联Linux门户
Linux帮助

Linux邮件服务器的身份验证(sasl)

发布时间:2015-05-13 16:23:21来源:linux网站作者:wqianyniaimonly

SASL

SASL全称SimpleAuthenticationandSecurityLayer,是一种用来扩充C/S模式验证能力的机制。在Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器。

SASL提供了一个通用的方法为基于连接的协议增加验证支持,而XMPP使用了一个普通的XML名字空间来满足SASL的需要。

1.如果SASL协商发生在两台服务器之间,除非服务器宣称的DNS主机名得到解析,不能(MUSTNOT)进行通信。

2.如果初始化实体有能力使用SASL协商,它必须(MUST)在初始化流的头信息中包含一个值为"1.0"的属性'version'。

3.如果接收实体有能力使用SASL协商,它必须(MUST)在应答从初始化实体收到的打开流标签时(如果打开的流标签包含一个值为"1.0"的'version'属性),通过'urn:ietf:params:xml:ns:xmpp-sasl'名字空间中的元素声明一个或多个验证机制.

4.当SASL协商时,一个实体不能(MUSTNOT)在流的根元素中发送任何空格符号(匹配production[3]contentof[XML])作为元素之间的分隔符(在以下的SASL例子中任何空格符号的出现仅仅是为了增加可读性);这条禁令帮助确保安全层字节的精确度。

5.当SASL握手时,在XML元素中使用的任何XML字符数据必须被编码成base64,编码遵循RFC3548第三章的规定。

6.如果一个简单名字"simpleusername"规范被选定的SASL机制所支持,(比如,这被DIGEST-MD5和CRAM-MD5机制支持但不被EXTERNAL和GSSAPI机制支持),验证的时候初始化实体应该(SHOULD)在服务器间通信时提供简单名字自身的发送域(IP地址或包含在一个域标识符中的域名全称),在客户端与服务器之间通信时提供注册用户名(包含在一个XMPP节点标识符中的用户或节点名)。

7.如果初始化实体希望以另一个实体的身份出现并且SASL机制支持授权ID的传输,初始化实体在SASL握手时必须(MUST)提供一个授权ID。如果初始化实体不希望以另一个实体的身份出现,初始化实体在SASL握手时不能(MUSTNOT)提供一个授权ID。在[SASL]的定义中,除非授权ID不同于从验证ID(详见[SASL])中得到的缺省的授权ID,初始化实体不能(MUSTNOT)提供授权ID。如果提供了,这个授权ID的值必须(MUST)是的格式(对于服务器来说)或的格式(对于客户端来说).

8.在成功进行包括安全层的SASL握手之后,接收实体必须(MUST)丢弃任何从初始化实体得到的而不是从SASL协商本身获得的信息。

9.在成功进行包括安全层的SASL握手之后,初始化实体必须(MUST)丢弃任何从接收实体得到的而不是从SASL协商本身获得的信息。

10.参看强制执行的技术,了解关于必须(MUST)支持的机制.

身份验证

默认是不进行身份验证的

sendmail要借助sasl(简单认证层)进行身份验证

服务器saslauthd--------》提供这crysasl软件

而sasl依赖于软件包:cyrus-sasl,

可以检测相关包是否安装rpm-qa|grepsasl,并安装

cyrus-sasl-lib-2.1.22-5.el5

cyrus-sasl-2.1.22-5.el5

cyrus-sasl-devel-2.1.22-5.el5

cyrus-sasl-plain-2.1.22-5.el5

[root@mailsasl2]#vimSendmail.conf于smtp结合的文件

[root@mailsasl2]#chkconfig--list|grepsasl查看是否开机自动启动

[root@mailsasl2]#servicesaslauthdstart

[root@mailsasl2]#chkconfigsaslauthdon

Linux邮件服务器的身份验证(sasl)

强制进行身份验证

[root@mailsasl2]#vim/etc/mail/sendmail.mc

Linux邮件服务器的身份验证(sasl)

Linux邮件服务器的身份验证(sasl)

[root@mailsasl2]#servicesendmailrestart

通过telnet来测试

telnet验证的地址25(端口)

Linux邮件服务器的身份验证(sasl)

验证的时候通过来产生base64的编码

[root@mailsasl2]#echo-n"user3@sina.com.cn"|opensslbase64

[root@mailsasl2]#echo-n"123"|opensslbase64

客户端设置身份验证

Linux邮件服务器的身份验证(sasl)

Linux邮件服务器的身份验证(sasl)

Linux邮件服务器的身份验证(sasl)

Linux邮件服务器的身份验证(sasl)


Linux学习之邮件服务器:http://www.linuxdiyf.com/linux/10744.html

RHEL6.4下搭建Postfix+Dovecot邮件服务器:http://www.linuxdiyf.com/linux/10706.html

64位CentOS下安装Postfix+Dovecot配置邮件服务器笔记:http://www.linuxdiyf.com/linux/10485.html

从Linux telnet到Exchange邮件服务器来测试发送邮件:http://www.linuxdiyf.com/linux/10415.html