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

简介:

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'名字空间中的<mechanisms/>元素声明一个或多个验证机制.

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)是<domain>的格式(对于服务器来说)或<node@domain>的格式(对于客户端来说).

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

图20

123505731.png

强制进行身份验证

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

图21

123535462.png

图22

123553944.png

[root@mailsasl2]#servicesendmailrestart

通过telnet来测试

telnet验证的地址25(端口)

图23

123615436.png

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

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

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

客户端设置身份验证

24

123639892.png

25

123655357.png

26

123708972.png

27

123726315.png










本文转自 only223wym 51CTO博客,原文链接:http://blog.51cto.com/ymchaofeng/1303356,如需转载请自行联系原作者
目录
相关文章
|
20天前
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
20 0
|
8天前
|
存储 安全 Linux
|
22天前
|
Unix Linux 数据安全/隐私保护
Linux服务器如何远程连接?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。 今天驰网飞飞就给你们分享下Linux、Unix系统远程连接图文操作方法
24 4
Linux服务器如何远程连接?服务器远程连接图文教程
|
21小时前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
8 3
|
2天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
4天前
|
运维 监控 安全
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
|
6天前
|
Linux 网络安全 数据库
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
|
6天前
|
域名解析 存储 缓存
Linux中搭建DNS 域名解析服务器(详细版)
Linux中搭建DNS 域名解析服务器(详细版)
|
6天前
|
安全 Linux 网络安全
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
Linux _ apache服务器部署 不同域名—访问不同网站(多网站)
|
6天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)