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,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
运维 监控 Linux
Linux上面查看服务器压力的一些思路
Linux上面查看服务器压力的一些思路
6 0
|
1天前
|
运维 监控 安全
构建高效稳定的Linux服务器:系统优化与安全策略
【5月更文挑战第29天】 在现代IT基础设施中,Linux服务器因其开源性、稳定性和高度可定制的特点而广泛被采用。然而,随着业务需求的不断增长,如何保证Linux服务器的高效稳定运行成为了运维人员必须面对的挑战。本文将深入探讨针对Linux服务器进行系统优化的策略,以及实施有效的安全措施,旨在帮助运维专业人员提升服务器性能,同时确保系统的安全稳定。
|
3天前
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。
|
10天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
14天前
|
Linux 网络安全
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
47 3
|
15天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
33 0
|
15天前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
27 3
|
15天前
|
Java Linux
Linux(服务器) 装JDK
Linux(服务器) 装JDK
32 1
|
15天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
40 3
|
15天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
19 6