您的当前位置:首页正文

LDAP协议

2022-03-12 来源:客趣旅游网
LDAP协议与LDAP Server 目录服务

目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个组成部分是:数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。

目录服务和关系数据库不同,目录服务不支持批量更新事务处理能力,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。

X.500虽然是一个完整协议群组,但是其目录访问协议DAP这种应用层的协议是严格按照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,主要运行在unix机器上,在许多小系统上,如PC和Macintosh(苹果机)上无法使用,因此没有多少人按照DAP开发应用程序,TCP/IP 协议体系的普及,更使得这种协议越来越不适应需要。 LDAP协议

LDAP全称为Light Directory Access Protocol,轻量级目录访问协议,LDAP协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,使得LDAP协议不仅仅做为X.500的简化版,同时提供了LDAP协议许多自有功能特性,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下:

1,RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作;

2,RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema包括语法、匹配规则、属性类型和对象类;

RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式; 3,RFC2254-定义了LDAP V3中过滤器的表达方式; 4,RFC2255-定义了LDAP V3中统一资源地址格式;

5,RFC2256-定义了在LDAP V3中使用X.500的Schema列表; 6,RFC2829-定义了LDAP V3的认证方式;

7,RFC2830-定义了LDAP V3如何通过扩展使用TLS服务; 8,RFC1823-定义了C的关于LDAP V3客户端开发接口; 9,RFC2847-定义了LDAP数据导入、导出的文件接口LDIF;

在这些协议中,主要定义了LDAP的内容,同时定义了信息模型,确定了LDAP目录中所存储的信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式)。 一个命名空间:确定对信息进行的组织方式即就是目录信息树DIT,以DN和RDN为基础的命名方式,以及LDAP信息的Internet表示方式;

一个功能模型:确定可以在信息上执行的操作的通讯协议以及在客户端尽心这些操作的API接口;

一个安全框架:保证目录中信息的安全,匿名、用户名/密码、SASL等多种认证方式以及与TLS结合的通讯保护框架;

一个操作模型:分布式的操作模型,基于Referral方式的分布式操作框架; 一个LDAP扩展框架:基于控制和扩展操作的LDAP扩展框架 。 LDAP的基本模型

信息模型:用来描述LDAP中信息的表达方式。

在LDAP中信息以树状形式组织,在树状信息中基本的信息单元是条目,而每个条目有属性组

成,属性中存储有属性的值;LDAP中的信息模式,类似于面向对象的概念,在LDAP中每条目必有属于某个或者多个对象类(Object Class),每个Object Class由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。

在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema,在LDAP中有许多系统对象类、属性类型、语法和匹配规则,这些系统 Schema在LDAP标准中进行了规定,同时不同的应用领域也定义了自己的Schema,同时用户在应用时,也可以根据需要自定义 Schema。这有些类似于XML,除了XML标准中的XML定义外,每个行业都有自己标准的DTD或DOM定义,用户也可以自扩展;也如同XML,在 LDAP中也鼓励用户尽量使用标准的Schema,以增强信息的互联互通。

在Schema中最难理解的是匹配规则,这是LDAP中为了加快查询的速度,针对不同的数据类型,可以提供不同的匹配方法,如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。 命名模型:描述LDAP中的数据如何组织 LDAP中的命名模型,也即LDAP中的条目定位方式。 在LDAP中每个条目均有自己的DN和RDN。DN是该条目在整个树中的唯一名称标识,RDN是条目在父节点下的唯一名称标识,如同文件系统中,带路径的文件名就是DN,文件名就是RDN。

功能模型:描述LDAP中的数据操作访问

在LDAP中共有四类10种操作:查询类操作,如搜索、比较;更新类操作,如添加条目、删除条目、修改条目、修改条目名;认证类操作,如绑定、解绑定;其它操作,如放弃和扩展操作。除了扩展操作,另外9种是LDAP的标准操作;扩展操作是LDAP中为了增加新的功能,提供的一种标准的扩展框架,当前已经成为LDAP标准的扩展操作,有修改密码和StartTLS扩展,在新的RFC标准和草案中正在增加一些新的扩展操作,不同的 LDAP厂商也均定义了自己的扩展操作。

安全模型:描述LDAP中的安全机制

LDAP中的安全模型主要通过身份认证、安全通道和访问控制来实现。

身份认证在LDAP中提供三种认证机制,即匿名、基本认证和SASL(Simple Authentication and Secure Layer)认证。匿名认证即不对用户进行认证,该方法仅对完全公开的方式适用;基本认证均是通过用户名和密码进行身份识别,又分为简单密码和摘要密码认证;SASL认证即LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证。

通讯安全在LDAP中提供了基于SSL/TLS的通讯安全保障。SSL/TLS是基于PKI信息安全技术,是目前Internet上广泛采用的安全服务。LDAP 通过StartTLS方式启动TLS服务,可以提供通讯中的数据保密性、完整性保护;通过强制客户端证书认证的TLS服务,同时可以实现对客户端身份和服务器端身份的双向验证。

访问控制虽然LDAP目前并无访问控制的标准,但从一些草案中或是事实上LDAP产品的访问控制情况,我们不难看出:LDAP访问控制异常的灵活和丰富,在 LDAP中是基于访问控制策略语句来实现访问控制的,这不同于现有的关系型数据库系统和应用系统,它是通过基于访问控制列表来实现的,无论是基于组模式或角色模式,都摆脱不了这种限制。

在使用关系型数据库系统开发应用时,往往是通过几个固定的数据库用户名访问数据库。对于应用系统本身的访问控制,通常是需要建立专门的用户表,在应用系统内开发针对不同用户的访问控制授权代码,这样一旦访问控制策略变更时,往往需要代码进行变更。总之一句话,关系型数

据库的应用中用户数据管理和数据库访问标识是分离的,复杂的数据访问控制需要通过应用来实现。

而对于LDAP,用户数据管理和访问标识是一体的,应用不需要关心访问控制的实现。这是由于在LDAP中的访问控制语句是基于策略语句来实现的,无论是访问控制的数据对象,还是访问控制的主体对象,均是与这些对象在树中的位置和对象本身的数据特征相关。

在LDAP中,可以把整个目录、目录的子树、制定条目、特定条目属性集或符合某过滤条件的条目作为控制对象进行授权;可以把特定用户、属于特定组或所有目录用户作为授权主体进行授权;最后,还可以定义对特定位置(例如IP地址或DNS名称)的访问权。 常用LDAP Server 1,openldap 2.X:

OpenLDAP Project由一个志愿者小组组成,其下载地址是http://www.openldap.org/software/download/。

.(1). 支持LDAPv3 - OpenLDAP 2.0 除了其它改善外还支持SAS(SimpleAuthentication and Security Layer)、TLS(Transport Layer Security)以及SSL(Secure Sockets Layer)。LDAPv2 之后通讯协议很多的改变都是为了加强LDAP 的安全性。

(2). 支持IPv6 - OpenLDAP 支持新一代的因特网通讯协议第6 版。

(3). LDAP Over IPC - OpenLDAP 能够使用IPC 在系统内进行通讯。这可以避免使用网络通讯以增加安全性。

(4). 使用新的应用程序界面:改善程序设计人员联机及使用程序的方法。 2,openldap for win32

与openldap2.X的功能基本一样,只是安装在windows下面的,有关其文档介绍和下载地址请看:http://lucas.bergmans.us/hacks/openldap/。 3,IBM Directory Server 5.1

IBM Directory 实现了 Internet Engineering Task Force (IETF) LDAP V3 规范,在功能和性能方面做了改进。IBM Directory Server 5.1 使用 IBM DB2 作为存储支持,为每个 LDAP 操作提供了事务完整性、高性能操作以及在线备份和恢复功能。

IBM Directory Server 是作为独立式常驻程式执行的 (LDAP)目录。在 WebSphere Portal 环境中,此目录可存储、更新及获取与识别的使用者特定资料,例如使用者 ID 及密码。 4,iPlanet(SUN directory)

iPlanet适于实现外联网的全球目录服务器。iPlanet Directory Server 为管理大量用户信息的企业,提供用户管理基础服务。iPlanet Directory Server 能够与现存的系统集成,并发挥中央仓库的作用,以适应合并雇员、客户、供应商和伙伴的需要,适应保存信息,保存各种灵活的个性化用户概况和优先选择需要,适应外联网用户验证需要。在托管环境中,伙伴、客户和供应商能够管理他们自己的那部分目录,从而减少内部管理成本,并有利于保障提供精确的最新信息.并具有简化外联网应用开发;目录特性增强可用性;与企业系统相集成;减少管理成本;LDAP v2 和 v3 的实现;高性能服务器;灵活的复制模式;先进的安全特性;高可用性;可扩展体系结构。 5,微软活动目录(AD)

微软活动目录(AD)是Windows 2000操作系统平台的中心组件之一,是一种完善的、适应性强的目录服务,它允许用户进行很高程度上的修改以便满足特殊的商业和机构需求。

活动目录可以让企业有效地共享和管理网络资源和用户信息。此外,活动目录担当网络安全

的管理中枢,允许操作系统方便地验证用户身份并控制其对网络资源的访问。同样重要的是,活动目录还担当集中系统和合并管理任务的集成点。使用活动目录服务的好处:为网络管理员、开发者和用户提供了访问目录服务的能力;简化管理任务 ;加强网络安全性; 通过互操作使用现存网络 。

6,Novell eDirectory:

Novell eDirectory 与许多开放标准和新兴标准是兼容的。它得到了 Open Group 的 LDAP 认可表示符合轻量目录访问协议版本 3 (LDAP v3) 标准。eDirectory 还支持可扩展标记语言 (XML)、目录服务标记语言 (DSML)、简单对象访问协议 (SOAP) 和许多其它开放标准。这一特性可以帮助企业实现其技术投资的最大化并避免“受制”于任何特定提供商的产品。同样重要的是,eDirectory 真正支持多平台:它运行于 Linux、Windows、Solaris、AIX、NetWare 和 HP-UX 上,因此 eDirectory 是在异构网络中提供身份服务的理想方案。 Novell eDirectory 是一种支持 Lightweight Directory Access Protocol (LDAP)、基于目录的身份管理系统,它对用户身份、访问特权和其他网络资源实行集中管理。eDirectory 可帮助公司以领先于对手的速度将产品和服务推向市场,在因特网经济中占据竞争优势。 7,Sun ONE Directory Server 5.2

Sun\" ONE Directory Server 5.2 是功能强大且具伸缩性的分布式目录服务器,它基于符合工业标准的轻型目录访问协议 (LDAP)。

Sun ONE Directory Server 软件是 Sun Open Net Environment (Sun ONE) 的组成部分,后者是 Sun 推出的基于标准的软件界面、体系结构、平台和专门技术,用于构建和部署按需服务。Sun ONE Directory Server 是构建集中化与分布式数据库的基础,这样建立的数据库可用于内部网,也可跨越外联网从而实现与商业合作伙伴共享数据资源,或者可跨越公用 Internet 做到与客户进行交流。

因篇幅问题不能全部显示,请点此查看更多更全内容