要理解网络目录如何工作,很大程度上意味着必须理解用于设计目录的X.500建议标准。X.500不规定网络目录的实现方法,和OSI(Open Systems Interconnection)一样,它只是一种模型,在此之上,各厂商建造自已的产品。X.500的技术规范目的是提供一种机制,以保证不同厂商的产品可以相互访问信息的通用方法————也就是说,规定了目录技术用以实现互操作性而采用的模式。
X.500季员会设想了目录的三种基本用途,人与人之间的通信(Interpersonal Communication)、系统间通信(Intersystem communication)、认证服务(Authentication Services)。任何网络目录结构的设计都有两个主要目的:对象识别和对象组织!对象识别保证结构内的每个对象都有某种惟一识别符。每个惟一识别符都对应某个资源。惟一识别符允许读者在目录数库中指定特定的对象。对象组织允许目录中的数据被分成子集。X.500结构规定了给对象进行惟一命令的通用办法,还提供了一旦对象创建后组织这些对象可使用的框架。它还提供其他必要的服务:在多台服务器上分布数据,复制数据库部分到多台服务器,以及访问目录时使用的多种协议。它采用和DOS类似的“树”型结构。在X.500树中,对象被称做叶。叶对象就是不包含其他对象的任何对象。定义如下类型的容器:Country(国家),用C对象表示;Organization(组织)用O 对象表示;Location(位置)用L表示;Organization Unit(组织单位)用OU表示。
轻量协议就是任何一类针对在高速互联网中使用而设计的协议。 高速传输协议 (HSTP)、Xpress 传输协议 (XTP)、以及轻量目录访问协议 (LDAP) 都是这类协议。
轻量协议采用比传统的网络和传输层协议更简单而有效的方式将路由和传输服务集成起来。 这样就使以更高的效率在 ATM 或 FDDI 等高速网络和光缆等媒体上进行传输成为可能。
轻量协议采用多种措施和改进方法使传输简化和加速,例如采用 TCP/IP 等面向连接的传输以及固定报头和报尾大小,进而能节省随每个数据包传输目的地地址的开销。
轻量目录访问协议 (LDAP) 是 X.500 协议中DAP协议的一个子集。 LDAP 独立于厂家,并可与 X.500 配合使用,但非一定要求与 DAP 配合使用。 DAP(目录访问协议)被专门设计为通过将大量功能转移到客户计算机以减少目录服务器的工作量。另一项功能是限制服务器的资源使用,可以从时间、容量、范围和搜索的优先级主面限制用户的查询。LDAP提供DAP的多数功能,对客户设备的要求较低,其次,通过使LDAP成为更以服务器为中心的服务,可以使用这个标准与厂商特定的目录通信。所以,LDAP 客户机与 DAP客户机相比,规模更小、速度更快、实现更简单。
与 X.500 相反,LDAP 支持进行任何类型的 Internet 访问所必须的 TCP/IP。 LDAP 是一种开放式协议,而应用程序则独立于主持目录的服务器平台。 LDAP的一些特定服务,其基本过过程:1.客户向网络服务器的LDAP服务发出读取请求。2.如有必要,LDAP服务器可以向操作系统进行用户识别。3.然后,LDAP服务将请求转换成被访问目录适合的格式。4.LDAP服务将请求提交目录服务器的DUA。5.目录服务器将请求的信息传回LDAP服务。6.LDAP服务将请求的信息返回给客户。
Active Directory 不是一种 X.500 目录。 相反,它采用 LDAP 作为访问协议,且支持 X.500 信息模式,而不要求系统承担所有的 X.500 开销。 这样做就可以提供较高的互操作性,而这种互操作性恰恰是管理现实生活中的异机种网络所必须的。
Active Directory 可支持从任何使用 LDAP 的客户端通过 LDAP 协议进行的访问。 LDAP 名称不如 Internet 名称那样直观,但是 LDAP 命名的复杂性通常被应用程序所掩盖。 LDAP 名称采用被称作“属性命名”的 X.500 命名规则。
LDAP URL 给主持 Active Directory 服务的服务器以及对象的属性名称命名。 例如: ,
OU=Division,O=myco,C=US
LDAP C API (RFC 1823) 是一种指导性的 RFC,是编写 LDAP 应用程序 C 语言编程的事实上的标准。
通过将 DNS 和 X.500 命名标准、LDAP、其他关键协议以及丰富的 API 的最佳功能结合起来,Active Directory 可对所有资源进行集中管理,这些资源包括: 文件、外围设备、主机连接、数据库、Web 访问、用户、以及其它对象、服务、和网络资源。
在NT网络中的三种服务器类型:1.主域控制器(PDC)2.备份域控制器(BDC)3.成员服务器
成员服务器(member server)是采用NT服务器作为操作计算机,但些操作系统不包含域账户数据的复本。PDC和BDC的工作方式:NT域的域账户数据库复本在单主域环境(sing-master environment)中组织。数据库的改动只在其中一个复本进行——PDC保存复本。PDC和BDC数据库的同步过程:数据库中每个目标都有一个属性,称做版本ID。每次数据库发生变化,版本ID就会增加,PDC创建了一份日志文件,记录数据库每次变化时的版本ID。每5分钟,PDC会检查数据库,看看是否有更新,如果有,它会对上次更新检查每台BDC版本ID的值。
域间的委托:Microsoft将域定义为“出于管理需要进行的用户和计算机逻辑分组”。在域中,用户账户是在中心数据库中被存储和管理,该数据库被称做安全账户管理器(Security Accounts Manager)SAM.因此,我们更好的域定义为:通过单一数据库定义和管理的用户和计算机的管理分组!
数据库的分区:把用户和资源分成多个域的做法称为数据库分区(Partitioning the Datebase)。
建立委托关系:默认每个域都只是一个单独的实体,即域之间不共享信息。委托关系可以定义为两个域之间的通信联系,只涉及两个域:一个域中包含需要访问资源的用户账户;另一个域包含访问的资源!有用户账户的域称为受托域(trustea domain),有资源的域称为委托域(trusting domain)。委托关系并不总是双向的,一个双向委托实际上是两个单向委托。
A(Accounts)--G(Golbal Groups)--L(Local Groups)--P(Permissions)说明了通过委托关系授权资源访问权限的基本过程。
四种域模型
一。单域模型:为四种域模型中最便于实现的一种,所有用户和计算机和资源都在一个域中定义
二。单主域模型:包含至少两个域,其中所有用户账户都在主域主定义,其它域用于管理物理资源。该模型中,每个域资源与主域建立了一个单向委托关系。
三。多主域模型:这是四程模型中缩放性最好的模型。它看似单主域模型。在WAN环境中,可能需要多域来减少跨广域链接的网络通信量。说明:主域之间有双向委托关系。而每个资源域和每个含有需要访问其资源的用户的主域之间是单向委托关系。可以用M*(M-1)+(R*M)这个公式来计算机多主域结构中委托的数目。M是主域的个数,R是资源的个数。分配权限,用AGLP方法,但可能在每个主域中都要创建全局组。
四。完全委托模型:在此模型中,每个域既有用户账户,也有资源。每个域必须委托所有其他的域。说明:事实上,完全委托环境是偶然发生的。每个部门都安装了NT,使用过程中,他们发现如可以共享资源就更好了。这时只有两个选择:所有域控制器中备份所有数据,用其它域模型从0开始;或者实现完全委托模型,管理大量的委托关系。在该模型中,所有域委托所有其它域。用D*(D-1),D表示网络中域的个数。分配权限,必须在每个域创建本地组和全局组。
穿过式认证:一种叫做穿过式认证(Pass-Through Anthentication)的过程保持用户可以从没有账户的计算机或域上登录。当一位用户使用一台在域中定义并被委托成“主”域的计算机。他可以从一份下拉列表中选择自己的域。
发生的过程如下:
1.当Windows NT启动时,它的Netlogon服务会找到域2中的一个域控制器。此过程中,计算机会收到一份列有所有受托域的清单,显示在登陆屏幕上。
2.当用户证明自己是域1的BOB时,Netlogon程序将请求会心给域2中的一个域控制器。
3.域2中的域控制器识别出该请求是来自受托域定义的用户,因此,将请求传给域1中的域控制器。
4.域1中的域控制器检查它的数据库账户,以保证用户名合法,并且输入的口令正确。
5.如果登陆请求合法,域1的域控制器将用户的SID和组信息会心给域2的域控制器。
6.域2中的域控制器相信认证已正确完成,因此,将有关用户BOB的信息传给BOB想的登陆NT机器,登陆过程结束。
全局组、域本地组、通用组到底有什么区别?它们之间的关系如何 [转贴 2005-10-18 11:20:04 | 发表者: yuan615]
问:全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
答:很多初级网管员对全局组、域本地组、通用组之间区别、关系比较模糊。对于这个问题我们首先要明确全局组、域本地组、通用组的的作用范围。
全局组:可以全局使用。即:可在本域和有信任关系的其它域中使用,体现的是全局性。MS建议的规则:基于组织结构、行政结构规划。
域本地组:只能在本域的域控制器DC上使用。MS建议的规则:基于资源(夹、打印机……)规划。
在域的混合模式下,只能把全局组加入到域本地组,即AGDLP原则。
注意:2000/03域的默认模式为:混合模式。则域本地组:只能在本域的域控制器DC上使用。若域功能级别转成本机模式(或称2000纯模式),甚至03模式,域本地组可在全域范围内使用。
说明:全局组和域本地组的关系,非常类似于域用户帐号和本地帐号的关系。域用户帐号,可以全局使用,即在本域和其它关系的其它域中都可以使用,而本地帐号只能在本地机上使用。下面我来举两个例子来进一步说明(以混合模式下为例):
例1:将用户张三(域帐号Z3)加入到域本地组administrators中,并不能使Z3对非DC的域成员计算机有任何特权,但若加入到全局组Domain Admins中,张三就是域管理员了,可以在全局使用,对域成员计算机是有特权的。
例2:只有在域的DC上,对资源(如:文件/夹)设置权限,你可以指派域本地组administrators;但在非DC的域成员计算机上,你是无法设置域本地组administrators的权限的。因为它是域本地组,只能在DC上使用。
通用组:组的成员情况,记录在全局目录GC中,非常适于林中跨域访问使用。集成了全局组和域本地组的长处。
使用AD最基本的好处:对所有网络资源的单次登陆;对态映射网络资源;网络上一组一致的服务,通过一个中心数据库来存储所有用户的参数信息。策略和其他惟一的配置信息。AD可以重新创建一个用户环境,无论他在哪里登陆网络。
而AD对管理员来说有以下好处:对每个用户实现单点管理;管理多厂商的单一界面。由于AD可以扩展存储任何类型对象的配置信息,因此可以使用一套工具管理任何在数据库中表现为一个对象的资源。能够为一级类似的资源提供统一的配置;能够为整个网络提供一个标准策略;在树型结构中对象位置的基础上,能够选择性分配管理职责;在对象属性的基础上,能够选择性分配管理职责;能够从中心位置发布打印驱动程序。
活动目录数据库的主要性能之一是可以扩展成包含在特定环境中需要的任何信息。在WIN2K/WIN2K3中,DHCP服务与AD集成。首先,IP地址的DHCP数据库被 移至活动目录数据库中。这样允许对所有DHCP服务的集中控制,更重要的是,这样消除了实现DHCP中继代理的必要,也不必配置路由器来传递BOOTP包。
与DNS集成:DNS最大缺陷是它的静态性质,每个资源或服务的各条目必须手工建立。但该限制对于电子邮件服务器和WEB服务器来说是很棒的,但是作为全面的资源定位符就不那么棒了。AD与DNS集成后,资源就可以在DNS数据库中动态注册。这将DNS变成了一个活动资源的动态维护数据库。
全局目录服务器(Global Catalog Server)
为了减轻网络通信的负荷,WIN2K/WIN2K3包含了一种部件称为全局目录。该服务默认安装在环境中的第一个域控制器上。全局目录包含林中每个域定义的每个对象的部分复本,即,有一个清单列出环境中的任何事物,但只是实际数据的一部分。全局目录只存储每个对象的选定属性,尤其是那些可能经常被搜索的属性。
基于策略的属性
在WIN2K/WIN2K3中,策略被扩展以用于从活动目录数据库中定义的站点,域或组织单位。控制也被扩展,管理员现在几乎可以控制用户环境的各个方面。
在AD目录中,每个对象在结构中都有一个惟一的名字。根据执行的功能,有三种不同类型的名字:识别名(Distinguished Names);关联名(Relative Names);用户主名(User Principal Names)
识别名:对象的识别名(DN)表明AD结构中找到该对象的完整路径。如katie 。katie king是AD数据库中指定的真正的名字,Sales是Reno容器中的一个OU;reno是kingtech容器中的一个OU;Kingtech是结构顶部的组织;COM代表Kingtech名字空间在因特网上定义的容器
关联名:由对象的部分DN构成,也是对象属性的一部分。对于Katie,她的RN是Katie king,因为这是惟一显示她的DN的部分。名字的其他部分是由组成DN的容器的RN构成。
用户主名(UPN):是用户用来登陆网络的名字。
WIN2K/WIN2K3结构中的活动目录
活动目录子系统存在于NT的安全子系统中,更具体地讲,是在安全环境的本地安全授权机构(Local Security Authority,LSA)子系统中。在LSA中包含活动目录的具体模块是目录服务模块(Directory Service module)。WIN2K/WIN2K3的模块设计意味着每个部件是单独和特别的部分,负责特定功能的完成。这些部件一起工作,执行操作系统任务。活动目录是安全子系统部件的一部分,在用户模式下运行。用户模式是执行应用程序的内存的单独部分。使用用户模式运行的应用程序不能直接访问操作系统或硬件;每 个访问资源的请求必须通过不同部件传送,以确定请求是否合法,基中部件之一就是安全子系统。访问控制清单(Access Control Lists,ACL)将保护活动目录结构中的对象。ACL中列明谁或什么有权访问该资源。任何访问AD对象或属性的企图都须通过ACL由WINDOWS2000/WIN 2003访问确认功能。Windows 2000/Windows 2003安全基础结构包括四个主要功能:存储安全策略和账户信息;为所有对象实施和加强安全模型;认证对AD对象的访问请求;存储委托关系信息
说明:WIN2K/WIN2K3的NT总体结构有了一些改变:增加了即插即用和电源管理模块,还增加服务质量(Quality of Service,QOS),异步传输模式和其他一些I/O管理器驱动程序;还有一些针对操作系统内核的低级别更改。
安全子系统
活动目录是LSA的子部件,而LSA是安全子系统的子部件。LSA是受保护的模块,它维护本地计算机的安全,保证用户享有系统访问的权限。LSA有四个主要功能:生成包含用户和工作级信息的令牌,并为特别用户授予安全特权;管理本地安全策略;为用户登陆提供互动过程;管理系统审计。LSA本身由不同部件构成,每个部件负责不同的功能
Netlogon.dll维护与域控制器的安全连接。它将用户机密信息传给一个域控制器,并把域安全识别符和用户权限返回给该用户。在win2k/win2k3中,Netlogon服务使用DNS定位域控制器,如果是在NT4.0的混合环境中,Netlogon服务还控制PDC和BDC之间的复制过程。
Msv1_0.dll Windows NT LAN Manager(NTLM)认证协议
Schannel.dll Secure Sockets Layer(SSL)认证协议
Kerberos.dll Kerberos v5认证协议
Lsasrv.dll LSA服务器服务,加强安全策略
Samsrv.dll Security Accounts Manager(SAM),加强存储的策略
Ntdsa.dll Directory Service module,支持LDAP查询和管理数据分区
Secur32.dll 多种认证提供都,管理其余部件
目录服务模块
目录服务模块本身由多部件构成,这些部件一起工作,提供目录服务。这些模块分布在三层中:代理层(Agents layer);目录系统代理层(Diectory System Agent layer);数据库层(Datebase layer)这三层控制对数据库的访问,称为可扩充存储引擎(Extensible Storage Engine,ESE)
代理层:有五个接口代理,通过内部功能获得对目录的访问:LDAP; REPL(Intersite and Intrasite Replication)站点间和站点内复制,对AD数据库的更新必须在整个环境中复制; Name Service Provider Interface该接口为给对象命名提供统一方法; Exchange Directory Service交换目录服务(XDS)该接口直接连接Exchange Email系统; Security Accounts Manager(SAM)该接口访问AD数据库,仿佛它是NT环境中的账户数据库
目录代理层:DSA负责在已有的平面名字空间的基础上创建一个分层树型名字空间,使得可以用更逻辑化的方式查看对象,而不是在平面列表中列出。DSA有如下职责:执行所有目录服务语义;进程处理;执行普通方案;支持AD服务器间的复制;提供全局目录服务;传播安全描述符。
数据库层:数据库层提供访问和搜索目录数据库所需的功能。所有数据库访问都通过数据层选择路径。它控制数据被查阅的方式。
可扩充存储引擎:ESE是用于存储活动目录数据库的实际数据库。它是用于MICROSOFT EXCHANGE版本4和版本5的JET数据库的修改版本。ESE允许创建一个17TB的数据库,理论上可存储将近1000万个对象。
活动目录模块的内部结构
RootDSA对象位于目录服务模块中的DSA内部,在AD数据库定义的逻辑名字空间的顶端,因此,也在LDAP搜索树的顶部。RootDSA对象包含一个配置容器,该容器存储着整个AD网络的数据。配置容器中存储的信息提供了复制目录数据库所需的数据,服务器如何联系总体名字空间的数据和数据库如何分区的数据。该信息被称做不同类型信息的名字环境(name context)。配置容器一有四个名字环境:Schema(方案)包所有对象类及其属性的定义;Sites(站点)包含企业网络所有站点信息,站点中域控制器信息和复制拓扑信息;Partitions(分区)包含目录数据库所有分区的指针;Service(服务)存储整个网络范围服务的配置信息,如远程访问服务、系统文件卷和DNS
第五篇AD笔记-设计活动目录环境- -
AD结构是从一些最基本的组件开始:AD域。然后AD域可以被组合创建更复杂的环境,叫做AD树。AD树可以连在一起,形成AD林。NT早期对域的定义:通过一个中央安全账户数据库管理的计算机和用户的逻辑分组。根据此定义,域是:逻辑上,资源的结构分组,允许对资源的集中管理;物理上,是一个数据库,含有这些资源的信息。将逻辑性和物理性组合起来,就有了一个管理或安全界限。
DNS和AD域的不同:DNS域是为了寻找资源;AD域是为了组织资源。DNS在活动目录中最重要的用途之一就是定位域控制器。记住,采用基于DNS名字解析方式的目这一就是减低或消除对NetBios广播技术的依赖。寻找域控制器的登陆过程:1.首先,客户运行一个叫做“Locator(定位器)”的程序,在本地NetLogon服务开始一次DsGetDcName查询。该查询由Remote Procedure Call (RPC)完成,将客户的配置信息(域成员关系和IP配置)传给Netlogon服务。2.Netlogon服务利用这些信息查找一个特定域的域控制器。这一步可以用几种不同的方法完成,取决于所提交的名字的类型是DNS还是NetBIOS:如果是NetBIOS名字,就采用老式的名字解析方式,在没有升级到水运目录的环境中允许向后兼容的能力。记住,我们是要努力抛弃基于NetBIOS的程序;如果是一个DNS主机名,那么,Netlogon服务向DNS服务器查询SRV,并且为相应的域查询A记录。查询格式如下:_service._protocol.DnsDomainName;因为活动目录服务在TCP上使用轻便目录访问协议LDAP,查询识别该服务和协议:_ldap._tcp.DnsDomainName. 3.从DNS服务器上收到域控制器的清单后,Netlogon服务向每个域控制器发送一个数据报。4.域控制器通过向客户计算机上的Netlogon服务发送操作状态来做出回复。该信息由Netlogon服务缓存,使得后续请求不再需要执行该过程。这有助于保证相同域控制器的一致使用。5.客户与域控制器建立一个LDAP对话。作为该 过程的一部分,域控制器要识别计算机属于哪 个AD站点(以客户的IP子网为基础)。如果域控制器与客户在同一个站点,那么谁就开始了。如果不是,客户再一次查询DNS,目的是查找该站点的一个域控制吕。该查询的格式如下:_ldap._tcp.dc.msdcs.domainname
那么我们更好的域可以定义为:域代表一个数据库。该数据库存有网络资源的记录,资源包括计算机、用户、工作组、和其他网络上存在或被 使用、被支持的事物。在WIN2K/WIN2K3和以后的版本中,域数据库其实就是活动目录
与域相关必须考虑的某些关键概念。包括:对象数目、复制通信量、域作为安全边界、语言、安全策略。域作为安全边界(Domains As Sercurty Boundaries)既名域代表一个单独的数据库,域边界通常被 看做是一个内部安全边界。
如果读者的环境中有多个区域需要不同的策略要素,那么可能不得不创建多个域。
活动目录树:有一些特定的情况必须要求多个域的存在。X.500建议确定了将数据库拆分成小部分的方法,叫做分区,并在多个服务器上分布。从逻辑上讲,我们仍可以将数据库看成是一个相连的整体,存有整个网络资源的信息。但是从物理上讲,每个域都是作为总体“逻辑”数据库的一个分区。将数据库拆分成较小的部分,这样就减轻了每台活动目录服务器上的工作量。同时还允许管理员能够更多地控制数据库复制过程产生的通信量和路由。需要记住的是,在域中的所有对数据库的更改都必须复制到所有域控制器。相反,不同域中的域控制器之间没有复制过程。限制域的范围将限制所发生的更改的影响。
域间的委托关系 域不仅可以作为数据库的分区边界,它们还是不同管理职能的边界。简单地讲,委托关系是两个域之间的安全联系。没有某种委托关系,域间无法通信,也不能共享资源。委托关系的创建并不意味着任何特殊权限,而只是授权的能力。委托本身并不授权任何权利。它所做的就是允许委托域的管理员访问受托域的域账户数据库。在NT4和早期版本中,委托关系是不可传递的。
WIN2K/WIN2K3中的委托关系,树中的每个域与其父域之间都可以建立一个双向的委托关系,并且都成为可传递的委托关系。换言之,如果A委托B,并且B委托C,那么A委托C。
直接委托只应创建于某个域的资源定期被 其他域的用户访问的情况下。外部委托的主要用途有两个:用于在新AD和老式NT域之间创建委托;另一个就是授权外部环境对AD资源的访问。
Win2k/win2k3可以增长到含有100万个对象,或者直到数据库需要17TB的存储空间。创建附加域的可能原因:1.在管理员不想共享域的控制处,读者需要分散对用户和资源的管理。2.当读者想在多样化环境中使授权更容易时。3.如果惟一,域级安全策略是必须的。特定的安全策略作为整体适用于域:口令、账户锁定和Kerberos策略必须适用于整个域,而不是域的子集。4.当想控制目录复制通信量时。复制通信量只发生在同一个域的域控制器之间。如果想限制通过一条链路的复制通信量,需让各站点的服务器成为不同域的成员。5.如果数据库中对象超过100万时,需要附加域。6.当从配置成多域环境的早期NT版本进行升级时。7.如果默认委托关系不符合需要时。
活动目录林:两个单独的AD树之间可以建立某种关系,从而形成一个AD林。林是分享共同的方案和全局目录服务器的树的集合。树的根域之间建立了双向可传递的委托关系。一旦建立了这样的关系,就形成了一个林。林可以:通过共同的全局目录服务器搜索所有域;维护现有的DNS名字
全局目录服务器:全局目录服务器就是在整个树的部分复本的AD服务器。复本保存了林中每个对象的一定数量的信息,通常是网络功能必要的属性,或是经常被 查询或搜索的属性。当用户在域外查找对象时,会参照全局目录,从而避免调用目的地域的域控制器。全局目录是用于执行活动目录数据库的搜索。可以更改全局目录中的属性,可以加速搜索查询。但是,在Win2k中,会造成一次所有对象属性的完全同步,这种一次同步过程会造成大量的网络通信量!在Win2k3中只会复制新的信息。从长远来看,静态数据比经常更新的数据产生的同步能信量要少。全局目录的内容由MMC的活动目录方案(Active Directory Schema)插件管理,从%systemroot%\system32下运行Adminpak.msi来安装此插件。打开此界面,会注意到Index This Attribute in Active Directory,对于多数数据库,AD能够为特定“字段”做索引,这样增加了查询的效率。如果将属性添加到全局目录中,那么选择的属性是会被经常查询的属性,可以通过该选项增加查询的效率。WIN2K和Win2k3中的全局目录最重要的不同点之一就大影响了登陆过程中全局目录服务器的使用。在Win2k环境中,全局对登陆过程十分关键。当用户登陆网络时,就为他创建了安全令牌。该令牌包含了用户成员关系所属的工作组的信息。如果在登陆过程中,全局目录器不可用,则用户不能登陆网络,他们被限于只能登陆本地计算机。但在WIN2K3中联系全局目录的需要被去掉了。离用户最近的域控制器缓存用户完整的组成员关系。缓存发生在第一次登陆时,而后续的登陆使用经缓存的信息。缓存信息定期从全局刷新。
有一台服务器被指定作为操作主服务器。所有更新或改变都在操作主服务器上出现,该服务器负责将变化都同步到所有其他服务器上。因为这些责任可以从一台服务器移至另一台服务,Microsoft把它们称做灵活的单主操作(flexible single-master operations,FSMO).
有两种林范围的操作主角色:方案主(Schema master);域命名主(Domain maning master)。方案主控制AD数据库的结构。任何对数据库结构的更新或修改都必须先在这台服务器上执行。它会复制这些理性到林中其他AD服务器上,保证所有AD服务器的内容保持一致。默认情况下,在活动目录林中安装的第一台域控制器被 认定为方案主。要更换正在执行该角色的服务器,使用MMC的活动目录方案插件。
域特定的功能:有三种域范围的操作主角色:1.相关ID主(Relative ID master)2.主域控制器(Primary domain controller,PDC)仿真器。3.基础设施主(Infrastructure master)。相关ID主为域中新建的对象控制其安全ID的建立。每 个对象都有一个安全ID,由域识别符和惟一相关ID组成。为保证这些ID真正惟一,域中只有一台服务器产生该ID。PDC仿真器主能够在非WIN2K/WIN2K3客户和NT版本BDC中作为PDC。当用户更改口令时,接受更改的域控制器会先将更改传给PDC仿真器操作主,然后,服务器使用高优先权功能将更改复制到域中所有其他域控制器上。基础设施主负责在工作组成员的重新命名或定位时更新组到用户的引用(Group-to-user references)它更新了组对象以知晓成员的新名字和位置。在管理工具组中的活动目录用户和计算机应用程序可确认和更改所有域特定功能操作的主服务器。如查原来的主服务器不可以,其角色并不自动转给备用服务器,读者必须手动更改。
操作主的简要指导:Microsoft进行以下推荐:1.将相关ID和PDC仿真器角色设置在同一个域控制器上。2.如果由于工作量的关系,需要将相关ID和PDC仿真器角色放置于不同的域控制器上,那么必须保证两台计算机都在同一AD站点,并且二者之间的连接可靠。3.总体来说,基础设施主角色不应被置于全局目录服务器上。4.在单域林中,所有域控制器将通过AD复制程序更新的,所以,在何处放置该角色没有关系。5.在所有域控制器都是全局目录服务器的多域林中,该角色可以任意放置。6.方案主和域命名主角色应放置 在同一服务器上。
AD组织单位:OU用于组织实际资源。OU的用途:OU形成逻辑管理单位,用于在域中分配管理优先权。和在现有结构中添加另一个域相比 ,创建另一个OU来组织对象更有优越性。为域设计OU结构时,必须提前做出计划。如果准备使用它们作为管理边界(便于管理优先权的分配),那么在创建该结构之前,读者必须知道谁将负责什么资源。如果读者设计的OU结构要便于GPO分配,同样,在创建OU并装入对象之前,必须知道计划使用什么GPO,以及谁会受影响。创建容器便于为分配管理控制权,允许某个人能添加,删除或修改树中有限部分的对象;将对象分组以便于管理;控制对象的可见性;使管理更简单,为各对象一次分配权限到OU,而不用多次进行;限制一个大容器中的对象数量;为了控制策略的应用。;作为其他OU的存储容器使用;了为替代NT域。基于目录的网络需要管理员在设计系统前了解公司的商业动作和工作流程就可以建造好的OU模型。Microsoft建议了OU结构的七个基本模型:1.地理模型。2.对象模型。3.成本中心模型 4.项目模型。5.分公司或商业实体模型。6.管理模型。7.混合模型。
如何用定位器查找域控制器
下面介绍如何用定位器查找域控制器:
• 在客户机(搜索域控制器的计算机)上,定位器的启动是以对本地 Netlogon 服务执行远程过程调用 (RPC) 的形式执行的。定位器 DsGetDcName 应用程序编程接口 (API) 调用是通过 Netlogon 服务实现的。
• 客户机收集在选择一个域控制器时所需的信息,并使用 DsGetDcName 调用将这些信息传递到 Netlogon 服务。
• 客户机上的 Netlogon 服务使用收集的这些信息从一个域控制器中查找指定的域,采用的是下面两种方法之一:
• 对于 DNS 名称,Netlogon 通过使用 IP/DNS 兼容定位器查询 DNS--即在 DNS 将域名附加到指定 SRV 记录的适当的字符串后,DsGetDcName 调用 DnsQuery 调用从 DNS 读取“服务资源”(SRV) 记录和“A”记录。
登录到基于 Windows 的域的工作站向 DNS 查询一般形式的 SRV 记录:
_service._protocol.DnsDomainName
Active Directory 服务器通过 TCP 协议提供“轻量目录访问协议”(LDAP) 服务。因此,客户机通过向 DNS 查询以下形式的一条记录找到一个 LDAP 服务器:
_ldap._tcp.DnsDomainName
• 对于 NetBIOS 名称,Netlogon 通过使用 Microsoft Windows NT 4.0 版兼容定位器来执行域控制器发现(即通过使用特定于传输的机制,例如 WINS)。
在 Windows NT 4.0 及更早版本中,“discovery”是在主域或受信域中用于定位一个用于身份验证的域控制器的过程。
• Netlogon 服务将一个数据报发送到注册该名称的计算机。对于 NetBIOS 域名,数据报是作为一个mailslot消息实现的。对于 DNS 域名,数据报是作为一个 LDAP 用户数据报协议 (UDP) 搜索实现的。(UDP 是无连接数据报传输协议,它是 TCP/IP 协议组的一部分。TCP 是一个面向连接的传输协议。)
• 每个可用的域控制器都响应此数据报,表明它当前处于运行状态,并将该信息返回到 DsGetDcName。
• Netlogon 服务缓存域控制器信息,以便后续请求不必重复此发现过程。缓存此信息有利于保证使用同一域控制器时的一致性和 Active Directory 视图的一致性。
当一个客户机登录或加入网络时,它必须能够找到一个域控制器。此客户机向 DNS 发送一个“DNS 查找”查询以搜索域控制器,并优先在当前子网内查询。因此,客户机通过向 DNS 查询以下形式的一条记录找到一个域控制器:
_LDAP._TCP.dc._msdcs.domainname
在客户机找到一个域控制器后,它将使用 LDAP 建立通讯,以获得对 Active Directory 的访问权。作为此协商的一部分,域控制器根据客户机的 IP 子网来确定此客户机所在的站点。如果此客户机正在与一个不在最近(最佳)站点的域控制器通讯,此域控制器将返回此客户机的站点名称。
如果此客户机已经尝试在此站点中查找域控制器(例如,当客户机向 DNS 发送“DNS 查找”查询以在此客户机的子网内查找域控制器时),则此客户机将使用这个并非最佳的域控制器。否则,此客户机将使用此新的最佳站点名称重新执行一个特定于站点的 DNS 查找。域控制器使用一些目录服务信息来标识站点和子网。
在客户机找到一个域控制器后,此域控制器的条目将被缓存。如果此域控制器不在最佳站点,此客户机在十五分钟后将刷新缓存并丢弃缓存条目。然后它将尝试在它自己所在的站点内查找一个最佳的域控制器。
在客户机建立到域控制器的通讯路径之后,它就可以建立登录和身份验证凭证,而且,对于基于 Windows 的计算机,在必要时还可以建立一个安全通道。然后此客户机就可以在目录中执行常规查询和搜索信息了。
客户机建立一个到域控制器的 LDAP 连接以便登录。此登录过程要使用“安全帐户管理器”。因为通讯路径使用了 LDAP 接口,且此客户机是由一个域控制器进行身份验证的,所以此客户帐户在得到验证后通过“安全帐户管理器”传递到目录服务代理,然后到数据库层,最后到“可扩展存储引擎”(ESE) 中的数据库。
以上内容译自kb314861 http://support.microsoft.com/kb/314861
下面介绍如何用定位器查找域控制器:
• 在客户机(搜索域控制器的计算机)上,定位器的启动是以对本地 Netlogon 服务执行远程过程调用 (RPC) 的形式执行的。定位器 DsGetDcName 应用程序编程接口 (API) 调用是通过 Netlogon 服务实现的。
• 客户机收集在选择一个域控制器时所需的信息,并使用 DsGetDcName 调用将这些信息传递到 Netlogon 服务。
• 客户机上的 Netlogon 服务使用收集的这些信息从一个域控制器中查找指定的域,采用的是下面两种方法之一:
• 对于 DNS 名称,Netlogon 通过使用 IP/DNS 兼容定位器查询 DNS--即在 DNS 将域名附加到指定 SRV 记录的适当的字符串后,DsGetDcName 调用 DnsQuery 调用从 DNS 读取“服务资源”(SRV) 记录和“A”记录。
登录到基于 Windows 的域的工作站向 DNS 查询一般形式的 SRV 记录:
_service._protocol.DnsDomainName
Active Directory 服务器通过 TCP 协议提供“轻量目录访问协议”(LDAP) 服务。因此,客户机通过向 DNS 查询以下形式的一条记录找到一个 LDAP 服务器:
_ldap._tcp.DnsDomainName
• 对于 NetBIOS 名称,Netlogon 通过使用 Microsoft Windows NT 4.0 版兼容定位器来执行域控制器发现(即通过使用特定于传输的机制,例如 WINS)。
在 Windows NT 4.0 及更早版本中,“discovery”是在主域或受信域中用于定位一个用于身份验证的域控制器的过程。
• Netlogon 服务将一个数据报发送到注册该名称的计算机。对于 NetBIOS 域名,数据报是作为一个mailslot消息实现的。对于 DNS 域名,数据报是作为一个 LDAP 用户数据报协议 (UDP) 搜索实现的。(UDP 是无连接数据报传输协议,它是 TCP/IP 协议组的一部分。TCP 是一个面向连接的传输协议。)
• 每个可用的域控制器都响应此数据报,表明它当前处于运行状态,并将该信息返回到 DsGetDcName。
• Netlogon 服务缓存域控制器信息,以便后续请求不必重复此发现过程。缓存此信息有利于保证使用同一域控制器时的一致性和 Active Directory 视图的一致性。
当一个客户机登录或加入网络时,它必须能够找到一个域控制器。此客户机向 DNS 发送一个“DNS 查找”查询以搜索域控制器,并优先在当前子网内查询。因此,客户机通过向 DNS 查询以下形式的一条记录找到一个域控制器:
_LDAP._TCP.dc._msdcs.domainname
在客户机找到一个域控制器后,它将使用 LDAP 建立通讯,以获得对 Active Directory 的访问权。作为此协商的一部分,域控制器根据客户机的 IP 子网来确定此客户机所在的站点。如果此客户机正在与一个不在最近(最佳)站点的域控制器通讯,此域控制器将返回此客户机的站点名称。
如果此客户机已经尝试在此站点中查找域控制器(例如,当客户机向 DNS 发送“DNS 查找”查询以在此客户机的子网内查找域控制器时),则此客户机将使用这个并非最佳的域控制器。否则,此客户机将使用此新的最佳站点名称重新执行一个特定于站点的 DNS 查找。域控制器使用一些目录服务信息来标识站点和子网。
在客户机找到一个域控制器后,此域控制器的条目将被缓存。如果此域控制器不在最佳站点,此客户机在十五分钟后将刷新缓存并丢弃缓存条目。然后它将尝试在它自己所在的站点内查找一个最佳的域控制器。
在客户机建立到域控制器的通讯路径之后,它就可以建立登录和身份验证凭证,而且,对于基于 Windows 的计算机,在必要时还可以建立一个安全通道。然后此客户机就可以在目录中执行常规查询和搜索信息了。
客户机建立一个到域控制器的 LDAP 连接以便登录。此登录过程要使用“安全帐户管理器”。因为通讯路径使用了 LDAP 接口,且此客户机是由一个域控制器进行身份验证的,所以此客户帐户在得到验证后通过“安全帐户管理器”传递到目录服务代理,然后到数据库层,最后到“可扩展存储引擎”(ESE) 中的数据库。
活动目录的日常管理之听课笔记- -
主讲人:微软mvp 胡义 时间:2005年1月10日
一、活动目录的安装
1、活动目录的基本逻辑单元
森林(一个或多个域树,边界概念)、域树(domain tree)、域(domain):一个数据库、组织单元(ou)、对象(object)
2、规划活动目录安装
(1)是否已经部署?
(2)是否满足您的业务需求?
a.可靠性/可用性需求(存放域数据库的服务器dc,单dc,服务器宕机,通过增加dc数量);
b.安全性需求(总公司/分公司管理模式不同,建立全新的子域,延续父域的名称空间,但管理基本独立,即子域的管理员不能管理父域,父域的管理员也不能管理子域,父域的管理员在子域只相当于一个普通用户);
c.物理环境的需求;
d.其他各种非技术需求。。。(代价cost)
(3)调整或规划活动目录结构以适应企业的需求
3、安装活动目录的四种情况
(1)安装新森林;
(2)安装新域树(企业中已有活动目录,且和待建的ad无任何联系,需要在父域中新创建一个dns区域,和待装dns一致);
(3)安装新子域(创建了新的子公司);
(4)安装额外dc(解决可用性/可靠性/复制问题);
4、活动目录安装的准备工作
(1)准备dns环境
(2)准备安装中需要提供的信息
a.提供足够的用户权限;
b.新建立域的名字;
c.活动目录数据库文件的存放路径(若放在c盘,可能会造成磁盘i/o瓶颈);
d.活动目录数据库日志文件的存放路径;
e.sysvol共享文件夹的存放路径;
f.活动目录还原模式密码;
5、活动目录与dns的关系
(1)ad为什么需要dns?
需要通过dns将dc的域名转为dc的ip地址;
(2)活动目录域名和dns区域名有什么关系?
保持一致
(3)什么是srv纪录,有什么用?
dns中一种特殊的纪录类型,帮助客户端定位dc进行登录。
(4)活动目录是否一定需要dns?
(5)是否一定需要微软提供的dns服务?
不一定,只要支持srv纪录即可,如果支持动态更新和增量传输会更好。
6、安装活动目录所需的权限
(1)安装新域:活动目录森林的企业管理员(企业管理员是一个独立的组,不等于父域管理员或根域管理员Enterprise Admins);
(2)安装额外dc:活动目录域的域管理员(Domain Admins)
(3)安装服务器的本地管理员;
7、活动目录还原模式
(1)什么是?
(2)用途?(dc的安全模式,崩溃时用)
(3)怎么进入?(启动时按f8键)
注:生产环境中尽量避免并发安装dc。
8、安装后任务
(1)确认"ad站点和服务"管理工具出现在服务器对象;
(2)验证dc已经被分配到正确的站点下;
(3)根据需求调整dns;
(4)检查是否存在sysvol共享;
(5)验证是否向dns注册了所有的srv纪录;
(6)在"活动目录域和信任关系"管理工具中确认新域已经出现,并拥有信任关系。
(7)验证dc能否正常参与复制;
(8)验证操作主控(FSMO)的存在。
注:可检查Keboras kdc服务是否启动
同时c:\winnt\debug\dcpromoui.txt为详细的安装日志记录。
二、活动目录的卸载
1、规划活动目录卸载
(1)将dc降级为域中成员服务器:需要域管理员权限;
(2)删除活动目录域:需要企业管理员权限;
2、卸载的步骤
(1)检查待降级服务器是否有操作主控角色;
查询命令:netdom query fsmo /domain:nwtrades.msft
(2)是否为全局编目服务器;
确保站点内还有其他gc
(3)是否能与dns正常通信(本身是否是唯一dns服务器);
(4)是否能与其他dc通信;
(5)能否访问操作主控;
(6)删除活动目录;
(7)在"ad站点和服务"管理工具中删除服务器对象;
(8)决定是否完全脱离域。
三、dc的重命名
1、修改名称的过程
(1)记录待改名dc的当前配置情况:包括是否拥有fsmo,是否是gc,是否是站点首选桥头堡服务器。。。
(2)降级为域成员服务器;
(3)修改计算机名称;
(4)提升为域额外控制器;
(5)重新对其进行配置,恢复原有配置信息;
(6)绝对禁止对装有exchange的dc作上述操作。
注:windows server2003可直接支持重命名。
四、全局编目服务器的管理
1、什么是GC?
存储有森林中所有对象部分只读信息的特殊域控制器,在森林中可以有多台。
2、GC的作用
(1)方便最终用户进行搜索;
(2)存储通用组(Universal group)成员信息,帮助用户构建访问令牌;
(3)用户使用upn名称登陆时决定用户属于森林中的哪个域;
(4)当活动目录森林里包含有exchange时:
a.提供全局地址列表(GAL)-NSPI
b.展开邮件列表(Distribution List)协助邮件投递;
c.Exchange DSAccess组件访问gc获取目录信息;
(5)如果gc不能正常工作。。。
注:如何查询当前域的gc部署情况:nltest /dsgetdc:domain name
3、规划GC的使用
(1)是否每一个站点都拥有一个gc?
(2)提升为gc后可能的影响
a.性能影响;
b.网络带宽?
c.安全性?
d.数据库大小影响?
4、GC对硬件的要求
5、GC的数据库容量
DC:0.4GB/1000users
GC:会更大
6、如何确认GC开始工作
(1)满足当前设定的复制占有级别(Occupancy level 4,复制本地站点内所有对象sp3以前,sp3以后level达到6);
AD admission tool工具,可查看gc是否ready?
ipconfig /registerdns注册一条dns纪录。
(2)isGlobalCatalogReady属性值为true;
(3)DNS srv纪录已经得到更新
当满足下列条件时gc上的NSPI开始工作
(1)gc开始工作后,重新启动一次计算机;
如何确认已经开始工作
(1)注册表键值:hklm\system\currentcontrolset\services\ntds\paramater;
(2)开放3268/3269 TCP端口;
(3)isGlobalCatalogReady属性为true
(4)dns中出现相关srv纪录
7、从dc移除gc角色
(1)马上停止tcp 3268/3269端口接收客户端请求;
(2)进行数据库清理,大约每小时清除2000个对象。
五、Q&A
1、如何找出域中不用的计算机并把它删除
(1)2003中,Dsquery工具,可以查出活动目录中指定时间内不活动的计算机
dsquery computer -inactive 4|dsrm
(2)win2k中,需通过vbs脚本来实现;
2、利用ntbackup工具来备份活动目录数据库(备份系统状态即可);
3、如果是更换服务器,建议先做额外域控制器,获取fsmo角色,然后将现有dc降级;
4、导入导出活动目录中的数据:
利用ldifde命令导出,所有和安全相关的信息都还原不了,可还原信息很有限。
转载于:https://blog.51cto.com/2438911/971734