从上述定义不难看出LDAP是一个目录,那么该目录是如何出现,有什么用呢?
在当今的信息世界,网络为人们提供了丰富的资源。随着网络资源的日益丰富,迫切需要一种能有效管理资源信息并利于检索查询的服务技术。目录服务技术随之产生。
1.LDAP目录服务可以有效地解决众多网络服务的用户账户问题。
2.LDAP目录服务规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。
3.LDAP目录服务是以树状的层次结构来描述数据信息的,此种模型适应了众多行业应用的业务组织结构。
LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但是不是关系型数据库。不象被设计成每分钟需要处理成百上千条数据变化的数据库,例如:在电子商务中经常用到的在线交易处理(OLTP)系统,LDAP主要是优化数据读取的性能。
LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。
1 LDAP入门
1.1 定义
LDAP是轻量目录访问协议(LightweightDirectory Access Protocol)的缩写,LDAP标准实际上是在X.500标准基础上产生的一个简化版本。
1.2 目录结构
LDAP也可以说成是一种数据库,也有client端和server端。server端是用来存放数据,client端用于操作增删改查等操作,通常说的LDAP是指运行这个数据库的服务器。只不过,LDAP数据库结构为树结构,数据存储在叶子节点上。
因此,在LDAP中,位置可以描述如下
因此,苹果redApple的位置为
dn标识一条记录,描述了数据的详细路径。因此,LDAP树形数据库如下
因此,LDAP树形结构在存储大量数据时,查询效率更高,实现迅速查找,可以应用于域验证等。
1.3 命名格式
LDAP协议中采用的命名格式常用的有如下两种:LDAP URL 和X.500。
任何一个支持LDAP 的客户都可以利用LDAP名通过LDAP协议访问活动目录,LDAP名不像普通的Internet URL名字那么直观,但是LDAP名往往隐藏在应用系统的内部,最终用户很少直接使用LDAP 名。LDAP 名使用X.500 命名规 范,也称为属性化命名法,包括活动目录服务所在的服务器以及对象的属性信息。
2 AD入门
2.1 AD定义
AD是Active Directory的缩写,AD是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据来解决域控这个具体问题,只是AD顺便还提供了用户接口,也可以利用ActiveDirectory当做LDAP服务器存放一些自己的东西而已。比如LDAP是关系型数据库,微软自己在库中建立了几个表,每个表都定义好了字段。显然这些表和字段都是根据微软自己的需求定制的,而不是LDAP协议的规定。然后微软将LDAP做了一些封装接口,用户可以利用这些接口写程序操作LDAP,使得ActiveDirectory也成了一个LDAP服务器。
2.2 作用
2.2.1 用户服务
管理用户的域账号、用户信息、企业通信录(与电子邮箱系统集成)、用户组管理、用户身份认证、用户授权管理、按需实施组管理策略等。这里不单单指某些线上的应用更多的是指真实的计算机,服务器等。
2.2.2 计算机管理
管理服务器及客户端计算机账户、所有服务器及客户端计算机加入域管理并按需实施组策略。
2.2.3 资源管理
管理打印机、文件共享服务、网络资源等实施组策略。
2.2.4 应用系统的支持
对于电子邮件(Exchange)、在线及时通讯(Lync)、企业信息管理(SharePoint)、微软CRM&ERP等业务系统提供数据认证(身份认证、数据集成、组织规则等)。这里不单是微软产品的集成,其它的业务系统根据公用接口的方式一样可以嵌入进来。
2.2.5 客户端桌面管理
系统管理员可以集中的配置各种桌面配置策略,如:用户适用域中资源权限限制、界面功能的限制、应用程序执行特征的限制、网络连接限制、安全配置限制等。
2.3 AD域结构常用对象
2.3.1 域(Domain)
域是AD的根,是AD的管理单位。域中包含着大量的域对象,如:组织单位(Organizational Unit),组(Group),用户(User),计算机(Computer),联系人(Contact),打印机,安全策略等。
可简单理解为:公司总部。
2.3.2 组织单位(Organization Unit)
组织单位简称为OU是一个容器对象,可以把域中的对象组织成逻辑组,帮助网络管理员简化管理组。组织单位可以包含下列类型的对象:用户,计算机,工作组,打印机,安全策略,其他组织单位等。可以在组织单位基础上部署组策略,统一管理组织单位中的域对象。
可以简单理解为:分公司。
2.3.3 群组(Group)
群组是一批具有相同管理任务的用户账户,计算机账户或者其他域对象的一个集合。例如公司的开发组,产品组,运维组等等。可以简单理解为分公司的某事业部。
群组类型分为两类:
2.3.4 用户(User)
AD中域用户是最小的管理单位,域用户最容易管理又最难管理,如果赋予域用户的权限过大,将带来安全隐患,如果权限过小域用户无法正常工作。可简单理解成为某个工作人员。
域用户的类型,域中常见用户类型分为:
一个大致的AD如下所示:
总之:Active Directory =LDAP服务器 LDAP应用(Windows域控)。ActiveDirectory先实现一个LDAP服务器,然后自己先用这个LDAP服务器实现了自己的一个具体应用(域控)。
3 使用LDAP操作AD域
特别注意:Java操作查询域用户信息获取到的数据和域管理员在电脑上操作查询的数据可能会存在差异(同一个意思的表示字段,两者可能不同)。
连接ad域有两个地址:ldap://XXXXX.com:389 和 ldap://XXXXX.com:636(SSL)。
端口389用于一般的连接,例如登录,查询等非密码操作,端口636安全性较高,用户密码相关操作,例如修改密码等。
域控可能有多台服务器,之间数据同步不及时,可能会导致已经修改的数据被覆盖掉,这个要么域控缩短同步的时间差,要么同时修改每一台服务器的数据。
3.1 389登录
3.2 636登录验证(需要导入证书)
3.3 查询域用户信息
3.4 重置用户密码
3.5 域账号解锁
总结
前几篇我们讲了活动目录的基本原理和安装配置,着重讲了一些活动目录的优越性,但它并不是一个独立的服务,它是在结合以前的一些协议和服务之后才得以成功实现,如DNS、LDAP协议与活动目录的完美结合、站点概念的应用等都是非常突出的明证。下面我们就分别介绍一下这几个应用技术。
一、DNS在活动目录中的应用
WIN2K作为一个崭新的操作系统,它的最大特点就是引入了活动目录,而活动目录的一个最大的特点就是把DNS和活动目录紧密结合在了一起。活动目录使用域名服务DNS 作为它的定位服务,同时对标准的DNS作了扩充。由于DNS 是使用最为广泛的定位服务,所以不仅在Internet 上, 甚至在许多企业内部网络中也使用DNS 作为定位服务。在利用WINNT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名,系统是利用WINS服务、信息广播方式及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在内部网络系统中(也就是通常我们所说的局域网中),利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上对一台主机的唯一标识信息是它的FQDN格式的域名,在Internet是利用DNS标准来实现将域名解析为相应IP地址。如果WINNT4.0 构建的网络系统同Internet连通,则NT网络中的每一台主机也都有相应域名,其域名的解析是通过WINNT4.0 所支持的DNS 服务来实现的。在WINNT4.0 中配置和实现DNS完全由人为手工来规划、设计和实现,由上述可见,在WINNT4.0 网络系统中,每一台主机既有NetBIOS名又由域名,而实际意义基本相同,这在一定程度上增加了网管人员的管理负担,同时出使整个网络管理显得更加混乱。
在WIN2K的活动目录中,最基本的单位是域(Domain),通过父域和子域的模式将域组织起来形成树,父域和子域之间是完全双向的信任关系,且信任关系传递,其组织结构同DNS系统类似。在活动目录中命名策略基本按照Internet标准来实现,遵照DNS和LDAP3.0两种标准,活动目录中的域和DNS系统中的域采用完全相同的命名方式,即活动目录中的域名就是DNS域名。那么在活动目录中依赖于DNS作为定位服务,实现将名字解析为IP地址。所以当我们利用WIN2K 构建活动目录时,必须同时安装配置相应的DNS,无论用户实现IP地址解析还是登录验证,都利用DNS在活动目录中定位服务器。活动目录与DNS系统的这种紧密集成,意味着活动目录同时非常适合于Internet和Intranet环境,这也是微软创建适用于Internet的网络操作系统的思想的一种体现。企业可以把活动目录直接连接到Internet以简化与客户和合作伙伴之间的信息通讯。另外WIN2K中的DNS服务允许客户使用DNS动态更新协议(RFC 2136)来动态更新资源记录,通过缩短手工管理这些相同记录的时间,提高DNS管理的性能。运行WIN2K的计算机能动态地注册他们的DNS名称和IP地址。
由于活动目录与DNS已经集成在一起,因此在WIN2K中NetBIOS名已经逐渐失去意义,与此相对应的WINS服务也处于慢慢被淘汰的过程中。在WINNT中为了有效的发挥WINS的动态特性,我们通常将DNS与WINS 进行集成,这样能获得更准确的解析结果。但是,WINS并不是Internet标准协议,而DNS解决动态维护机器名与IP地址对照表的方案是动态DNS。动态DNS并不需要用到WINS,因为它允许动态分配IP地址的客户可以直接注册到DNS服务器上,即时更新DNS对照表。
WIN2K支持动态DNS,运行活动目录服务的机器可动态地更新DNS表。WIN2K网络中可以不再需要WINS服务,但是WIN2K仍然支持WINS,这是由于向后兼容的原因。那么如果网络系统不再使用WINS,用户登录到网络时,客户机如何找到域控制器呢?这是因为WIN2K在实现DNS时,对标准的DNS进行了扩展,在DNS表中增加了一种新的记录类型SRV记录,它指向活动目录的域控制器。所以如果网络系统已经全面升级到WIN2K,那么就可以不再使用WINS 服务 了。而在WIN2K中,由于支持动态更新协议(RFC 2136),这种集成也变得没有必要了。DNS这个由一系列解释请求(RFCs)标准组成的在Internet上广泛采用开放的协议,已经成为网络技术中的统一的标准化的规范。WIN2K的目标是在Internet和Intranet环境中得到广泛应用,那么它的名称解析模式就应该完全遵守单一的DNS标准。
上面主要讲了一下DNS在活动目录中的应用情况,但或许有人要问原来在WINNT4.0中没有用活动目录,只用DNS来解析域名,到底活动目录与DNS之间有什么区别,它们之间又是如何结合的呢?下面就来具体讲一下。
1、活动目录与DNS的区别
(1)、存储的对象不同
DNS和活动目录的结合是Windows2000服务器的最主要特点,DNS域和活动目录域对不同的名字空间使用同一样的域名。但它们各自存储不同的数据,因此管理不同的对象。DNS存储它的区域和资源记录,活动目录存储域和域中的对象。对DNS来说,域名是以DNS的层命名结构为基础的,是一种倒树型结构:一个根域,下面的域既是父域又是子域。每一个DNS域中的计算机可以通过完全合格域名(FQDN)进行识别。每一个与因特网连接的WIN2K域都有一个DNS名字,并且每一个WIN2K域中的计算机也都有一个DNS名字。因此,域和计算机即代表活动目录对象,又代表域节点。
(2)、解析所用的数据库不同
DNS是一种名字解析服务,DNS是通过DNS服务器接受请求查询DNS数据库来把域或计算机解析为IP地址的。DNS客户发送DNS名字查询到它们设定的DNS服务器,DNS服务器接受请求后或通过本地DNS数据库解析名字,或查询因特网上的DNS数据库,DNS不需要活动目录就可以起作用。
活动目录是一种目录服务,活动目录通过域控制器接受请求查询活动目录数据库来把域对象名字解析为对象记录。活动目录用户是通过LDAP协议(一种进入目录服务的协议)向活动目录服务器发送请求,为了定位活动目录数据库,需要借助于DNS,也就是说,活动目录把DNS作为定位服务,把活动目录服务器解析为IP地址,活动目录不能没有DNS的帮助。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。
除了要求WIN2K网络的DNS服务器支持SRV资源记录外,微软还建议DNS服务器提供对DNS的动态升级。DNS动态升级定义了一个DNS服务器在一定值内自动升级的协议,如果没有此协议,管理员不得不手动配置域控制器产生的新的记录。新的WIN2K的 DNS服务既支持SRV资源记录,又支持动态升级。如果你选择其它的非WIN2K为基础的DNS服务器,那么你必须证实它支持SRV资源记录。对于一个合法的支持SRV资源记录但是不支持动态升级的DNS服务器,在你把WIN2K服务器升级为域控制器时,必须使它的资源记录手动升级。这些可以用Netlogon.dns文件来完成,该文件是由活动目录智能安装向导创建的,存在于文件夹%systemroot%System32config中。
2.两者的结合方法
既然DNS和活动目录有如此大的区别,那么它们是怎样结合在一起的呢?主要有以下几种途径:
(1)、活动目录域和DNS域使用一样的层次结构,
虽然功能和目的不一样,一个组织的DNS名字空间和活动目录空间有着一样的结构。
(2)、DNS区可以存储在活动目录中
如果你使用WIN2K DNS服务,那么主域可以存储在活动目录中为其它活动目录域控制器提供复制服务,并且为DNS服务提供增强的安全措施。
(3)、活动目录客户使用DNS定位域控制器
对于一个特定的域,为了定位域控制器,活动目录客户向它们设定的DNS服务器请求资源记录。当一个公司使用WIN2K服务器版作为它们的网络操作系统时,活动目录被认为是注册的法定DNS名字根域下的一个或多个层次结构的WIN2K域。
根据DNS的命名规则,DNS名字的被句点(.)分开的每一部分代表DNS树型层次结构的一个节点,并且代表WIN2K域树型层次结构的一个潜在的活动目录域。DNS的根节点以空白表示(“”),活动目录名字空间的根节点没有父域,它提供活动目录的LDAP进入点。
二、站点(Site)在活动目录中的应用
我们在利用WINNT4.0来规划设计我们的企业网络系统时,要根据企业构建的具体情况设计相应的域模型,如单域、多主域或单主域模型等。我们可以利用这些种类的域模型来规划企业的网络环境,实现对企业网络的组织、管理和控制。当我们去实现这种网络规划时,常常要根据企业内部的组织结构形式,作出符合实际需求的规划设计。如果是一个集团性质的大公司,我们常常需要把某一部门或一些工作关联性较大的部门设计成一个域,以方便组织和管理。这就给我们设计人员提出了一个很棘手的问题,如果这样一个域是由地理上分布在不同位置的计算机通过慢速连接构成的,那么通过慢速连接的PDC和BDC的信息同步就会因占据大量网络流量,影响网络的整体性能,面对这样一个问题,我们只能束手无策,根本没有任何控制方法。
当我接触到WIN2K之后,活动目录的强大功能和人性化设计思想,令我们今后的网络规划设计更加方便和灵活。而WIN2K活动目录中Site概念的提出和实现,为管理和控制DC之间的信息同步提供强大工具,从而有效的解决了我们前面提出的.那个曾令我们束手无策的难题。
所谓Site,是指在物理上有较好的线路连接的能实现较快通讯速率的计算机的集合,一般是指一个LAN。而Site之间一般是通过慢速连接来实现信息通讯。可见Site 是对网络上计算机的实际的物理分布的一种客观反映。有了Site这个概念之后,我们就可以将一个域中的计算机根据地理位置的分布分装在几个Site之中。在一个Site当中,活动目录利用复制组件和KCC形成一个DC之间复制同步的双向的环形,每个DC都有两个复制伙伴,它们之间形成完全的信息同步。当一个DC中的目录数据库发生变化,它会等待一段时间间隔后向它的复制伙伴发送变更通知,复制伙伴接到变更通知后,会从发生变化的DC上拷贝目录数据的变化信息。同样复制伙伴还会把变更信息发送给它的复制伙伴,从而实现整个Site内的DC的同步。由于Site内采用快速而可靠的网络连接,因此Site内DC之间的复制数据是不压缩的,这虽然增加了复制信息的要求的带宽,但减少了DC的处理数据的负担。一般情况下Site内DC的信息同步采用RPC协议,使数据复制快速、统一,使DC之间保持了较高的数据一致性。
在Site之间一般是通过慢速连接,只有有限的可用带宽并且数据传输不可靠。为了不影响慢速连接线路上的其它数据通讯,以及确保DC间目录复制的可靠性,Site间的DC的复制不采用Site内DC间复制的变更通知方式,而是采用复制调度的方式。在Site之间可以设定一个时间表和时间间隔,时间表决定在哪些时间允许复制发生,时间间隔指定在允许复制的时间内DC多久检查一次数据变更。这样我们就可以将Site间DC复制同步的时间表设定在网络流量较少的时候(比如午夜)。这时网络不拥挤相对而言也较可靠。而且在Site间DC的目录复制采用压缩的方法,复制信息可以被压缩至10%到15%,这样可以有效地优化网络带宽。
可见,我们通过合理地规划活动目录上的Site,可以有效地控制活动目录中DC的同步,优化网络带宽,提高网络性能。由于在WIN2K的活动目录中,DC之间的同步不但涉及一个域内DC之间大量数据的同步,同时不同域的DC之间也有少量信息需要同步。当我们用Site来实现活动目录中DC之间的复制布局时可以借助于 Site link 和Site link Bridge两种设置来帮助我们实现,从而形成一个更合理、更有效、更可靠的活动目录中DC的复制布局,最大限度优化我们的网络系统。
三、LDAP在活动目录中的应用
LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP。它是基于X.500标准的,但是又比它简单许多,并且可以根据需要定制的一种目录服务协议。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
目录服务的工作模型是客户机/服务器模型。1988年,CCITT组织首先创建了X.500标准全面描述了这一模型,包括目录服务器的目录结构、命名方法、搜索机制以及用于客户机与服务器通信的协议DAP(Directory Access Protocol)。此标准很快被ISO组织引用,编号为ISO 9594。但是,在实际应用的过程中,X.500存在着不少障碍。由于DAP这种应用层的协议是严格遵照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,在许多小系统上无法使用,TCP/IP协议体系的普及更使这种协议越来越不适应需要。在这种情况下,DAP的简化版枣LDAP应运而生。早期设计的LDAP服务器不是独立的目录服务器,主要扮演LDAP客户机与X.500服务器间网关的角色,既是LDAP的服务器又是X.500的客户机。如今的LDAP服务器可取代X.500服务器而独立提供服务。
LDAP服务器的目录组织以“条目”为基本单位,结构类似树形,每一个条目即是树上的一个分枝节点或叶子。一个条目由多个“属性”组成,每个属性又由一个“类型”和一到多个“值”组成。LDAP协议直接基于面向连接的TCP协议实现,定义了LDAP客户机和LDAP服务器间的通信过程和信息格式。LDAP服务器在服务端口(缺省端口号为389)jian听,收到客户机的请求后,建立连接,开始会话。活动目录与DNS协议的结合的意义在于使内部网与外部网命名方式保持一致,这样便于整个网络的管理。LDAP协议是用于查询和检索活动目录信息的目录访问协议。由于它是基于工业标准的目录服务协议,使用 LDAP 的程序可以发展成与其他目录服务共享活动目录信息,这些目录服务同样支持LDAP。活动目录信息活 动目录使用LDAP 目录访问协议作为它与其他应用或者目录服务jiao换信息的手段。LDAP 已经成为 目录服务的标准,它比X.500 DAP 协议更为简单实用一些。Microsoft 已经在Exchange Server 系统中提供了LDAP v2 和LDAP v3 的支持, 在WIN2K 的活动目录服 务中将提供更为全面的支持。
值得一提的是LDAP 协议中采用的命名格式, 因为我们需要通过名字信息访问目录对象,所以名字格式对于用户或者应用程序非常重要。活动目录支持大多数的名字格式类型。较为常用的格式有以下两种:
(1) RFC822 命 名 法
形式非常类似于电子邮件地址,活动目录为所有的用户提供了这种式的好名字,所以用户可以直接使用该友好名字当作电子邮件地址,也可以用作登录系统时的账户名。
(2) LDAP URL 和X.500 名 字
任何一个支持LDAP 的客户都可以利用LDAP名通过LDAP 协议访问活动目录,LDAP 名不像普通的Internet URL 名字那么直观,但是LDAP 名往往隐藏在 应用系统的内部,最终用户很少直接使用LDAP 名。LDAP 名使用X.500 命名规 范,也称为属性化命名法,包括活动目录服务所在的服务器以及对象的属性信息。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)