本文出自 “ 晓飞的博客” 博客,请务必保留此出处 http://zhaiken.blog.51cto.com/1411163/446887
 
 
活动目录是一种目录服务,目录服务包括三方面的功能:组织网络中的资源,提供对资源的管理,对资源的控制,活动目录的服务通过将对网络中的各种资源的信息,保存到一个数据库中,来为网络中的用户和管理 员提供对这些资源的访问、管理和控制,这个数据库叫活动目录数据库。通过活动目录服务,管理员可以实现整个网络的集中管理。域是活动目录的一种实现形式,也是活动目录最核心的管理单位和复制单位,一个域由域控制器和成员计算机组成。域控制器就是安装了活动目录服务的一台计算机。在域控制器上,每一个成员计算机都有一个计算机账号,每一个域用户有一个域用户账号。域管理员可以在域控制器上实现对域用户账号和计算机账号以及其他资源的管理。域还是一种复制单位,我们在域中可以安装多台域控制器,域管理员可以在任何一台域控制器上创建和修改活动目录对象。域控制器之间可以自动的同步,或者是复制这样一种更新。组织单位是活动目录中的一种对象,但它是一种容器类型的对象,也就是说OU可以包含其他对象。使用OU我们可以在域中组织对象,以方便对域的管理。比如对域一个公司不同部门的用户的账户的管理。使用OU还可以实现委派管理控制以及在不同的OU上实现不同的组策略,委派管理控制是我们可以对每一个OU来指派一名或多名管理员。让OU管理员各自管理自己部门的对象。每一个OU可以实现不同的组策略设置,我们可以设置用户的工作环境,用户的软件安装等。


活动目录 域树、森林和之间的信任关系。活动目录可以通过分层结构来实施。树指的是根域和子域以及子域的子域所组成的这样一种逻辑结构。而森林,是由多棵树组成的。在一个树的内部,父域和子域之间是相互信任的,我们把这种信任关系称为父子信任,在一个森林内部,树和树之间也是相互信任的,这种信任关系称为树根信任。森林中的信任关系是双向可传递的,双向指的是信任是相互的,而可传递指的是域和域之间可以通过这种信任关系来建立起一种间接的信任。有了这些信任关系后,当一个域中的用户登录之后,他可以在整个森林范围内来访问其他域中的资源。站点是活动目录的一种物理结构,站点的目的是为了优化域控制器之间的复制,当一个域跨越不同的城市的时候,城市和城市之间的连接速度慢于局域网的连接速度。为了控制不同城市直接的域控制器的复制流量,可以通过站点来实现,每一个站点之间都有一个站点连接,通过配置站点连接,我们可以控制不同站点之间的域控制器在什么时间来执行复制。可以配置在非工作期间进行复制,来完成域控制器之间的同步。可以减少域控制器在工作时间占用广域网带宽。活动目录架构是对活动目录中对象的一种定义。定义的方式是以结构化的方式定义的数据组成,它通过描述元数据来定义这些结构,通常包括属性名称、类型、长度、关系等。看起来,有点象关系数据库里的字段定义。同时还包括一些扩展的属性。
目录存储在被称为域控制器的服务器上,并且可以被网络应用程序或者服务所访问。一个域可能拥有一台以上的域控制器。每一台域控制器都拥有它所在域的目录的一个可写副本。对目录的任何修改都可以从源域控制器复制到域、域树或者森林中的其它域控制器上。由于目录可以被复制,而且所有的域控制器都拥有目录的一个可写副本,所以用户和管理员便可以在域的任何位置方便地获得所需的目录信息。目录数据存储在域控制器上的Ntds.dit文件中。我们建议将该文件存储在一个NTFS分区上。有些数据保存在目录数据库文件中,而有些数据则保存在一个被复制的文件系统上,例如登录脚本和组策略。有三种类型的目录数据会在各台域控制器之间进行复制: 1. 域数据。域数据包含了与域中的对象有关的信息。一般来说,这些信息可以是诸如电子邮件联系人、用户和计算机帐户属性以及已发布资源这样的目录信息,管理员和用户可能都会对这些信息感兴趣。例如,在向网络中添加了一个用户帐户的时候,用户帐户对象以及属性数据便被保存在域数据中。如果您修改了组织的目录对象,例如创建、删除对象或者修改了某个对象的属性,相关的数据都会被保存在域数据中。 2. 配置数据描述了目录的拓扑结构。配置数据包括一个包含了所有域、域树和森林的列表,并且指出了域控制器和全局编录所处的位置。 3. 架构数据。架构是对目录中存储的所有对象和属性数据的正式定义 Windows 提供了一个默认架构,该架构定义了众多的对象类型,例如用户和计算机帐户、组、域、组织单位以及安全策略。管理员和程序开发人员可以通过定义新的对象类型和属性,或者为现有对象添加新的属性,从而对该架构进行扩展。架构对象受访问控制列表(ACL)的保护,这确保了只有经过授权的用户才能够改变架构。

活动目录作为企业的核心应用,其安全至关重要,它用于存储关于网络上的对象的信息,并允许用户访问这些信息。Active Directory 复制用于同步一个Active Directory林中不同域控制器上的分区副本。此复制过程允许用户从网络上的任何位置访问信息。如果此复制过程没有按设计的方式工作,以下依赖于来自 Active Directory的信息的服务可能会发生中断:域登录和对网络资源(如文件和打印机)的访问。Active Directory复制依赖于域名系统 (DNS) 根据需要将名称解析为IP地址。Active Directory域控制器通常会在它的netlogon服务启动时将各种DNS记录注册到它的已配置的DNS服务器。

企业活动目录架构解决方案主要基于:一是IT集中管理。由于技术、业务、资金等多种原因,公司和子公司往往各自先独立发展自己的信息系统。这必然导致IT管理上的分散,缺乏统一建设信息系统的规划,同时也为日后的信息整合增加了复杂度和难度,而这种分散管理状态,对于信息管理部门和最终用户都会造成诸多不便。对管理部门,每增加一套系统,需要增加一套用户管理和验证,这种重复投资现象极大的增加了应用管理负担;另一方面,各种桌面终端机器处于工作组模式,这种松散的管理不只增加了日常IT运维费用,还成为了整个网络安全中最为脆弱的一环,降低了整个网络系统的安全性。对最终用户,没有统一的目录服务,寻找任何网络资源都成为问题,即便是对于最基础的网络打印机,文件服务器等,在没有目录系统管理的情况下也要花费时间,无法方便实现。同时,多种系统意味着要多套帐户、多套密码来登陆多个应用,用户管理密码就成为一个很大的负担。再加上没有统一的系统管理,桌面终端的安全还要用户自行维护,这也为最终用户带来了不便。二是有效共享资源。由于管理分散,企业内部没有统一的IT管理标准和技术规范,公司各部门分别采购建设自身的IT系统,相互之间采用的技术也各不相同,这就必然导致各部门之间的IT系统兼容问题。最直接的后果就是信息不能通过网络传递,信息资源不能有效共享。有时一个简单的文件交换都要通过人工方式传递,公司内部形成了一个个信息孤岛,这对企业的管理极为不便,将企业原本互不相连甚至是互不兼容的信息孤岛统一在一个系统内,将客户端,网络操作系统和用户信息等统一管理。

企业活动目录架构作为一个企业目录管理服务平台,将企业不同系统之间的资源以目录集成的方式进行统一管理,集成电子商务运营,包括数据、应用程序、业务流程以及门户等各个方面,让所有的系统在共享功能方面由一个独立的目录系统进行统一管理,形成一个强壮灵活的现代企业IT架构。集中化的企业目录基础架构不仅可以维护统一的用户管理和认证,提升信息化管理水平;降低企业桌面系统的管理维护成本;面对未来业务应用的发展,更具有高度的可扩展性和灵活性,能够大大降低新系统的开发成本和建设部署周期。系统整体的活动目录架构包括了:集中部署的AD域控制器提供企业目录服务,SMS 或者SUS服务器作为安全补丁解决方案。企业的活动目录系统结构建议设计为单森林/单域结构,集中管理帐户和系统目录资源,这样可以减低系统的复杂度,简化管理。而对整个DNS 架构的设计,则大多保持企业现有DNS体系架构不变,新的Windows2003 活动目录集成的DNS服务器提供给“加入域的客户端”,以这样针对性的建议不仅部署迅速,而且还节约客户建设成本。另外,对于系统安全补丁的管理,采用SMS(Microsoft System Management Server) 或者SUS(Microsoft Software Update Service)的设计,用来更新基于windows操作系统的计算机终端的系统补丁程序,还有在未来的规划发展上做了很多发挥,比如将平台设计成开放形式,各种接口和服务采用标准IT架构,使得在其基础架构上,进行应用的开发、与其它应用和服务进行整合成为可能,从而不断扩展其功能。

活动目录技术作为企业目录建设的基石,提供统一用户身份管理和认证,统一网络资源实体的管理,同时也为后续的各种应用的统一认证和授权管理奠定了坚实的基础,具有后续增值效益。一是作为管理中心。通过对网络中的元素,如用户账户、计算机账户等信息进行收集、保存,作为其管理的对象。通过其本身提供的组策略等技术作为管理的手段,从而实现管理中心的功能;二是作为安全中心。通过域环境的搭建,使其成为域中资源的安全边界。同时,可以扮演身份认证和授权中心的角色;三是作为一个开放的平台。通过对目录服务标准的支持,使得在其基础架构上,进行应用的开发、与其它应用和服务进行整合成为可能,从而不断扩展其功能。

通过集中的企业目录系统,统一用户管理和提供统一认证服务,实现人的身份管理。用户可以通过多种方式在目录结构中查询自己所需要的网络资源。尤其是对个人而言,用户可以实现单点登陆,用户每次只需要登陆到域中,当访问后台应用时,就不再需要重复输入用户名和密码。这样一方面可减轻用户记住多套用户名和密码的负担,同时也可避免每次访问应用时都要再重复输入一遍用户名和密码。寻找打印机也更加方便。用户甚至不必记住打印机服务器的名字,利用“寻找打印机”就可以迅速找到离自己位置最近的打印机,极大的方便工作。其次,每次不再需要重复输入用户名和密码即可进入系统;寻找文件更加方便,用户不必记住文件服务器的IP地址,只需要记住服务器名称即可,利用分布式文件系统,统一到一个地方去存取文件,而不用担心文件物理放在哪台文件服务器上;设立文件共享不再需要特别设定共享密码。缺省只有域用户才可以访问,文件共享者也可以通过设定特定的域用户组和特定用户,只允许他们才可以访问改文件。当用户去访问文件服务器,不再需要输入用户名和密码。Windows 会利用域帐户自动去验证。远程操作系统的安装、委托管理、远程桌面协助等各种功能也能在统一的管理下轻松实现。同时,活动目录充当管理用户身份和网络资源控制访问验证的统一认证机构,支持业界标准协议Kerberos认证协议,并可集成证书服务, CA和 智能卡(Smart Card)认证。用户的访问便可以根据企业的统一认证服务被准许或拒绝。同时,从用户使用来看,一套用户认证系统建立了Single-Sign On SSO(单点登录)的基础,增加用户的便利性和安全性。

实现企业资源和设备的集中管理,加强终端管理,降低运维费用。建立企业目录管理系统,通过活动目录组策略推送的方式,将终端使用策略主动的推送到各个终端。只要用户登录进入域,域管理服务器就会自动推送该用户所需要的终端设置。这样就可以实现约束业务人员终端使用,加强企业终端管理、维护手段的主动性,降低终端人为导致软件故障的发生率,从而降低运维费用。在这种统一管理下,用户还能实现多种远程管理。比如用户可以不必在Windows 客户机上安装打印机驱动程序就能够使用打印机,可以很容易地进行网络打印以及管理打印机服务器了。再比如委托管理,各事业部可自行管理,包括创建本部门用户、计算机、打印机、文件服务器等。组策略设置可以让管理员以逻辑单元(例如部门或办公地点)的形式组织用户和对象,然后给这些逻辑单元分配相同的设置,包括安全、外观和管理选项,这个过程可以简化相应的管理任务。另外,在活动目录的支持下,当用户需要重新安装操作系统,可以利用“远程OS安装”的特性在不到半小时里自行安装一个新的操作系,而且对于使用Windows XP Professional的机器而言,当软件出现问题时,可以不必等待IT维护人员亲自跑到机器面前维护,用户可以发出远程邀请桌面协助,这样用户和IT人员可以立即共享Windows桌面诊断问题,加快问题的响应速度,提高用户的满意度。活动目录服务提升系统安全管理水平。作为安全管理中心,活动目录服务利用安全组策略技术进行服务器和桌面机器的安全控制。通过有效的企业级或者部门级安全策略设定,在企业内部桌面系统加强安全约束,提供整体安全性,从而提升系统安全管理水平。

通常,企业 的IT技术工程师每 上午 都要对活动目录进行常规检查, 运用一系列的活动目录状态检测工具来CHECK活动目录的健康性。DCDdiag对于AD检查非常重要,它的主要功能就是域和域控的检查及分析。您可以使用“dcdiag /v >c:\dcdiag.txt”将检查结果发送到C盘的dcdiag.txt文件。这样看的比较清楚,同时也有利于您查找特定语句或单词。同时您也可以将输出文件做备份,以便以后需要时可以对比检查。Repadmin主要是针对AD的复制。命令的参数有很多,其中“repadmin /replsum”和“repadmin /showrepls”可以显示AD复制的总体状况及复制结果。同样,您可以将结果输出到一个txt文件并做备份。NetDiag 这个命令主要是对网络及配置进行分析的。对于域控上的网络部份我们可以使用这个命令来检查状态。同样,您可以使用“netdiag /v >c:\netdiag.txt”来输出结果到文件。DNSLint是一个运行在 Windows 2000 及更高版本的操作系统上的 Microsoft Windows 实用工具。它的用途之一是可以帮助您对 Active Directory 复制问题进行故障排除。具体来说,它可以帮助您判断两个问题: 所有对 Active Directory 目录林的根应该具有管理权的 DNS 服务器实际上是否都具有必要的 DNS 记录来成功地同步 Active Directory 林中的不同域控制器上的分区副本。DNSLint 会判断每一个管理 DNS 服务器中缺少哪些 DNS 记录。特定的 Active Directory 域控制器是否能够解析所有必要的 DNS 记录来成功地同步 Active Directory 林中的不同域控制器上的分区副本。DNSLint 会判断哪些 DNS 记录不能被正在测试的域控制器解析。通过日志检查是非常有效的方法,可日志文件的内容很多,而且很杂乱,主要是检查报错信息,Find String 是一款能够在任何ASCII文件中搜索字串的工具,对于技术人员查看、归纳和提炼log文件的信息很有帮助。事件查看器记录了应用程序、安全性、系统、目录服务、DNS服务等事件的信息,这些信息包含正确信息、警告和错误,我们可以首先查看这些信息获得排错的基本线索。错误代码查看工具是为管理员和工程师准备的一本详尽字典,涵盖了大部分错误代码的原因,可以从微软网站上下载: http://www.microsoft.com/downloads/en/details.aspx?familyid=be596899-7bb8-4208-b7fc-09e02a13696c&displaylang=en 下载回来后,解压,得到一个文件夹Err,然后在命令行提示符下进入Err目录,键入err加错误代码即可。Userenv.log日志文件,当用户登录时,都会调用userenv.dll文件,这一过程会被Userenv.log详细记录,你可以查到用户配制文件加载以及组策略应用的详细过程,有助于我们的排错。默认情况下,Userenv.log是没有被开启的,需要编辑注册表开启:打开注册表编辑器,定位至HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon下,新建一个DWORD值,命名为UserEnvDebugLevel,如果你使用的是2000、XP版本,使用10002数值,2003则改为30002,这样你在%systemroot%\Debug\UserMode下就可以找到userenv.log文件。Winlogon.log是用来记录组策略中与安全相关设定的应用过程,它的开启同样需要修改注册表,在HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\GPExtensions\{827D319E-6EAC-11D2-A4EA-00C04F79F83A}下,新建一个名为ExtensionDebugLevel 的Dword值,数值设为2,然后到命令提示符状态下,键入secedit /refreshpolicy machine_policy /enforce命令激活,这样在%systemroot%\ Security\Logs文件夹下就会自动生成一个Winlogon.log文件。通过查看该文件,管理员可以轻松获得每一个用户的安全权限是什么。Winlogon.log是用来记录组策略中与安全相关设定的应用过程,它的开启同样需要修改注册表,在HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\GPExtensions\{827D319E-6EAC-11D2-A4EA-00C04F79F83A}下,新建一个名为ExtensionDebugLevel 的Dword值,数值设为2,然后到命令提示符状态下,键入secedit /refreshpolicy machine_policy /enforce命令激活,这样在%systemroot%\ Security\Logs文件夹下就会自动生成一个Winlogon.log文件。通过查看该文件,管理员可以轻松获得每一个用户的安全权限是什么。Whoami和Set的功能大体相同, whoami是Windows resource kit中的一个工具,可以在微软网站上下载得到: http://www.microsoft.com/downloads/details.aspx?FamilyID=3e89879d-6c0b-4f92-96c4-1016c187d429&DisplayLang=en。安装完成后,我们在命令提示符下进入resource kit文件夹,键入Whoami /?获得帮助,工具比较简单,通常使用whoami /all来获得详细信息,从输出的信息中能够很清楚的显示当前用户以及SID号等信息,在权限排错时很有用。 set是Windows操作系统自带的一个小工具,可以显示、设置或删除环境变量,获取当前用户环境的详细信息。具体使用方法,在Windows的“帮助和支持中心”中有详细说明。不过,在使用中,set用的最多还是检查DNS域和USERDOMAIN。SC是一款系统自带的工具,我们可以使用 SC.exe 来测试和调试服务程序,可以设置存储在注册表中的服务属性来控制如何在启动时和作为后台程序运行时启动服务应用程序。同样,SC还有很多参数,这些参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务,此外,SC更可以生成批处理文件来调用不同的 SC.exe 命令以自动启动或关闭服务序列,SC是一个类似于“控制面板”中“管理工具”项中的“服务”的命令行工具。进入命令提示符,键入sc /?先来看一下帮助,不难看出,该命令的功能很强大,在日常管理中,我们一般使用sc queryex >C:\service.txt命令将现有的服务状态导出至一个文本文件。在上述场景中, 管理员需要删除指定的服务可以使用:sc [url=file://127.0.0.1/]\\127.0.0.1[/url] delete KPfwSvc 删除防火墙自带的服务。Ntdsutil是一个为活动目录提供管理的命令行工具,使用 Ntdsutil可以执行 Active Directory 的数据库维护、管理和控制单主机操作,以及删除在未经正确卸载而从网络中删除域控制器时留下的配置数据库。Ntdsutil是操作系统自带的工具,功能强大。 当活动目录出现问题时,可以在启动计算机时按F8键进入活动目录恢复模式,输入密码(注意:这里的密码是恢复模式的密码,是你在安装活动目录时设定的,与登陆域的密码是不同的,其实是管理员的本机密码,只在本机有权限,在整个域内是没有权限的。)打开cmd.exe,键入Ntdsutil,这时,可以输入help查看帮助。这里要注意的是,修复活动目录时应该有一定的顺序,首先我们对NTDS数据库文件进行操作,使用recover进行软修复,因为软修复是对数据库没有任何损坏的,然后使用integrity:根据数据库语法进行分析,查看数据库引擎有无错误。如果失败,可以对数据库作一次碎片整理。

在日常工作中您可以参考微软的知识库 http://www.microsoft.com/china/technet/itsolutions/techguide/msm/winsrvmg/adpog/adpog3.mspx ,有详细的介绍,活动目录维护需要有扎实的理论基础,建议反复在虚拟机上练习后,再对企业环境应用。