一活动目录的功能 活动目录是微软为解决分布式windows网络集中化管理应用的一项关键产品它的核心思想和协议源自于早期NOVELL的类似技术今天的活动目录总结起来功能无外乎于以下三项 集中化的身份验证 利用AD数据库将分散在windows客户机上的用户管理体系集中到DC上实现一个用户在任何节点的漫游能力同时微软的其他产品也不同程度的可以与这个集中化的身份认证体系集成譬如ExchangeISASMS甚至Office等等除此以外由于开放的LDAP协议使得第三方产品也可以集成到这个统一的身份验证体系中来 集中化的资源检索 由于AD具有影射网络共享资源集成DFS等能力再加上统一的身份认证使得将分散在网络上的资源集中检索和权限控制变得可能从理论上说管理员可以利用AD的这一特性建立一个完全分布式的文件存储系统将专用的文件服务器网络存储系统客户机上的分散存储集中起来管理和应用 集中化的权限与策略控制 由于身份验证的集中化用户的权限管理自然也可以集中化同时更重要的是利用可分法的GPOAD实现了将分散在Windows客户机上的组策略集中控管的能力众所周知组策略是微软提供的利用注册表开关和脚本控制Windows特性的有效工具集中化的组策略实现了管理员对整个windows网络中客户机的批量操控 二活动目录的优势 活动目录技术从早期的NT到如今的已经发展出一个相当庞大的技术构架从单一的水平域管理扩展到可以通过站点和森林扩展出庞大的域结构达到了微软所希望的解决方案服务一个跨国机构的目标同时与其他厂商的类似产品相比活动目录与微软产品的深度集成也从侧面延伸了活动目录的功能譬如Exchange Server构建在AD之上得到一个集成的邮件解决方案ISA Server构建在AD之上得到一个集成的防火墙解决方案Office和Sharepoint构建在AD之上得到一个企业内部集中化办公解决方案乃至SQLserver数据库SMSRRASCARADIUSiisClusterWSUS甚至最简单的DHCP Server都可以与AD集成实现集中化的管控不但如此他们其中的一些甚至是必须与AD集成才可以使用基于AD的微软产品构架从理论上来说可以解决企业IT环境中绝大部分需求和问题 三中国企业为什么部署活动目录? windows产品的广泛使用使得几乎每一个企业都拥有或大或小的Windows网络环境同时市场的需要也培养出了一大批熟悉微软产品的SA微软还为他们颁发MCSE和MVP证书各种各样的技术文章和培训教材也充满了网络在各个社区中很容易找到关于活动目录的讨论和技术文章这使得很多企业的IT管理人员在面临一些实际需求时首先想到的就是活动目录大量的企业部署了活动目录甚至于很多SE认为活动目录就是一个完美的IT管理解决方案 那么中国的企业究竟为什么部署活动目录呢?笔者在很多社区和讨论群中与第一线的SA们进行过深入讨论总结为以下几种 为了EMAIL 企业需要一个邮件服务器于是SA想到了微软的Exhange Server为了实现Exchange Server所以必须部署AD 为了集中化验证和文件权限控制 企业需要员工能在任何一台计算机上工作希望他们有自己的网络帐号同时企业的文件服务器也需要这样的帐号来区分访问者为不同部门和不同的员工部署不同的文件访问权限所以SA部署了AD 为了集中化控制客户机 SA发现工作中总要花很多时间去客户机上做修改和控制跑来跑去工作量很大非常不方便于是部署AD通过集中化的组策略实现了从核心控制台上对不同部门客户机的不同策略管理譬如限制用户对系统某些功能的访问和修改统一定位内部WSUS服务器的补丁更新位置批量分法软件限制软件和网络的使用等等 以上三种需求占到了%左右的国内中小型企业的实际情况当然另有%会使用到AD的其他特性譬如企业需要群集于是必须部署ADSA希望集中控管需要部署SMS于是必须部署AD 四活动目录的问题 活动目录的问题就在于微软希望他能面面俱到但实际上这是不可能的最后导致了活动目录的臃肿不可靠性能低和管理复杂按照之前我们总结的中国中小企业需求可以说绝大部分活动目录的部署可以形象比喻为为了听收音机而购买了一台汽车然后为了维持这台汽车不断的付出时间精力和金钱企业的需求就是一台收音机而活动目录就是这台汽车 那么活动目录在作为一台收音机使用时存在哪些问题呢? 对DNS的高度依赖 众所周知AD是构建在DNS名称空间之上的一个强健可靠的DNS实例是AD的基石DNS让AD可以管理无限庞大和复杂的网络环境大家知道AD是只能部署在WINDOWS的DNS服务之上的他融入了很多非标准DNS的定义和记录而Windows的DNS是一个可靠性和负载能力低下的DNS服务器看看Internet上有几个ISP会使用Windows DNS?最后的结果是windows DNS一旦出现问题整个AD随即故障例如DNS中的记录更新失败多DNS区域复制失败或者DNS需要迁移等等事件都会导致AD面临极大的风险这就是说一栋庞大的大厦建立在了一个不牢固的地基上 过于复杂的LDAP协议 AD的LDAP虽然号称轻量实际上纷繁复杂微软希望将这个协议封闭起来在整个AD的控管环境中用户不要直接与协议打交道但是LDAP的复杂性导致一旦出现问题用户连一个基本的错误反馈界调试接口和工具都没有所以微软又不得不提供LDAP调试工具放在光盘的额外安装目录中即便如此又有多少SA能精通这个怪胎协议的调试呢? 过于复杂的身份和权限机制 AD的集中化身份验证体系无疑是AD最受欢迎的功能之一但是为了让它能面面俱到微软把它搞得过于复杂了首先在计算机帐户和用户帐户被同等看待的前提下OU和Group却又可以交叉容纳用户对象实际上AD中的Group太过复杂为了实现森林的扩展AD中的Group有基本的种类型组合有数十个内置组更不用说组和组之间允许权限交联允许交叉继承允许权限并集和交集再加上AD与NTFS的集成文件夹权限和OU权限的并行逻辑容器和物理容器的互不关联活动目录的帐户与本地客户机帐户并存这真的是我见过最复杂的一套机制了虽然这样复杂的机制让AD足够灵活但是事实上绝大部分的用户不需要这么复杂的机制敢问有多少百分比的SA完全搞清了AD中这套机制?绝大部分的人也仅仅是从MCSE的简单教材中了解了初步的概念而已 鸡肋般的组策略 组策略集中管理也是AD最受欢迎的功能之一利用组策略微软希望用户能集中控管庞大的客户机群但是组策略的工作机制决定了他在复杂多变的生产环境中注定成为一块鸡肋首先组策略%的功能是通过修改客户机注册表来实现的还有少部分是通过运行脚本来实现的这样的工作机制导致了组策略的实时性很糟糕抗干扰能力也很糟糕很容易被客户机上的一些安全软件干扰更糟糕的是策略部署后是完全无反馈的管理员不知道一个策略是不是真的在每个计算机上生效了一旦出现问题只能用类似于GPRESULT一类的简陋工具去客户机上实地分析除此以外组策略中的很多功能也有严重的设计缺陷软件分发可能用来分发微软的某个小工具尚可莫非你想用它真正去分发应用软件?笔者映像最深的一个客户为了用组策略阻止客户运行QQexe他设定了条哈希规则因为他找到了个EXE版本不同的QQ他们的哈希值都是不一样的更不用说那些他还没找到的版本 全封闭的数据库 在MCSE的官方资料中经常会提到活动目录数据库经常提到SYSVOLSA们多少都知道他们是AD的数据中心各种信息都存在里面但是糟糕的是这个数据库是专用的你没有办法看到里面存储的东西也没有办法像管理关系型数据库那样使用SQL语句去操作它最后的结果就是如果你想备份和还原AD那根本就是噩梦你想备份AD吗?对不起微软是没有专用工具的你只能用NTBACKUP去搞定你想只备份AD数据库吗?想定期增量同步数据吗?对不起NTBACKUP不支持你只能把它和Windows的其他系统信息一起备份不管这些东西是好的还是坏的你想提高AD的可靠性吗?MY GOD 你必须要两台DC! 动则需要其他产品 AD作为一个微软IT管理解决方案的平台始终只是一个平台稍微专业一点的业务就需要与其他微软产品集成譬如想对用户的网络访问进行管理对网络数据进行筛选和审计就必须要吧另一个大家伙ISA请出来要想为客户机批量分发补丁修复漏洞又得请出另一个大家伙WSUS如果想集中防范网络中的病毒恶意软件危险行为更糟糕了因为微软尚无可用产品咱必须请出赛门铁克或者麦卡菲了殊不知企业中的服务器就是这样被一台一台的占据的这倒是便宜了靠卖IT设施吃饭的集成商更糟糕的是SA们不得不维护越来越多的系统不断的读一本一本的专业书籍在论坛上发一个又一个求助的帖子然而这还仅仅是IT环境的基础运营而已企业的生产系统还没计算在内 五找出更傻瓜和简单的解决方案 AD是强大的但是你真的需要他吗? 人的能动性是无限的您也许已经在微软的技术世界里摸爬滚打多年但是您考察过自己企业的真实需求吗? 您是不是买汽车的那个人? 文章到这里您也许想问笔者有什么样的代替方案? 事实上微软的AD做到今天能在功能上完全覆盖它和代替的解决方案几乎没有但是如果我们缩小需求考察中国绝大部分企业的实际需要可能我们能找到一些更好的代替方案 我们无外乎需要以下几个东西 一个集中化身份验证的平台 代替AD中的身份和用户数据库 一个可分权管理的网络存储系统 代替共享和NTFSDFS 一个能进行集中控管的软件 代替ISA代替WSUSSMS等微软产品 一个可编程的网络任务执行工具 代替组策略 这样一个产品市场上已经有比较接近的现有系统可以购买也可以自己开发笔者也在努力开发中 另外如果您仅仅是想实现邮件服务不妨放弃Exchange尝试其他邮件服务器? |