原文:Securing Server 2003 Domain Controllers
<http://www.windowsecurity.com/articles/Securing_Server_2003_Domain_Controllers.html>
作者:Deb Shinder
翻译:Long
Email:Long@ph4nt0m.net; hoker_long@sina.com
Website:http://www.ph4nt0m.net
2004.5.30 – 2004.8.9
域控制器,正如其名,它具有对整个Windows域以及域中的所有计算机的管理权限。因此你必须花费更多的精力来确保域控制器的安全,并保持其安全性。本文将带您了解一些在域控制器上应该部署的安全措施。
域控制器的物理安全
第一步(也是常常被忽视的一步)就是要保障你的域控制器的物理安全。也就是说,你应该将服务器放在一间带锁的房间,并且严格的审核和记录该房间的访问情况。不要有“隐蔽起来就具有很好的安全性”这样的观点,错误地认为将这样一台关键的服务器放在一个偏僻的地方而不加以任何保护,就可以抵御那些顽固的数据间谍和破坏分子的攻击。
因为专门从事犯罪预防研究的警察告诉我们,我们是没有办法使自己的家,公司,汽车,当然也包括我们的服务器具有百分之百的安全性。安全措施并不能保证您的贵重物品不被那些“坏人”拿到,它只能增加他们获取贵重物品的难度和困难度。如果您能让他们的攻击过程持续更长的时间,那么他们放弃攻击或停止尝试,甚至将他们当场抓住的可能性都会大大增加。
物理安全之后,就应该部署多层防御计划。带锁的服务器间只是第一层。这只能被认为是周边安全,就像您院子周边的篱笆或者您家房门的锁。万一周边安全被突破,就应该为保护目标(此时即DC)进一步设置一些安全措施以保护它们。您可能会安装安全警报系统,以便当您的篱笆或者门锁遭到破坏的时候,通知您或者警察。同样,您应该考虑在服务器间部署警报系统,当未授权用户(他不知道解除警报系统的密码)进入服务器间的时候,它就发出声音警报。另外还可以考虑在门上安装探测器,以及红外探测器以防止通过门、窗及其他孔洞(我们强烈建议,尽可能得减少门、窗及孔洞的数量)的非法进入。
当您从里至外的部署你的多层安全计划时,您应该反复问自己一个问题“如果这个安全措施失效了怎么办?我们可以在入侵者的攻击线路上部署哪些新的障碍?”就像您将自己的金钱和珠宝放在一个有篱笆的,带锁的,有警报系统保护的房间中,您也应该考虑服务器自身的安全。下面有一些准则:
l 移除所有的可移动存储设备驱动器,如软驱、光驱、外置硬盘、Zip驱动器、闪存驱动器等。这将增加入侵者向服务器上传程序(如病毒)或下载数据的难度。如果您不使用这些设备,您也可以移除这些外部设备需要使用的端口(从BIOS中关闭或物理移除)。这些端口包括USB/IEEE 1394、串口、并口、SCSI接口等。
l 将机箱锁好,以防止未授权用户盗窃硬盘,或损坏机器组件。
l 将服务器放在密闭带锁的服务器机架中(确保提供良好的通风设备),电源设备最好也能设置在服务器机架中。以避免入侵者能够方便的切断电源或UPS从而干扰系统的电力供应。
防止域控制器的远程入侵
如果您认为您的物理安全计划已经足够完美,那么您就要将您的注意力转移到防止黑客、骇客和攻击者通过网络访问您的域控制器。当然,“最好的”方法是将域控制器从网络中断开,但是这样,域控制器也就毫无用处了。因此,您要通过一些步骤,加固它们,以抵御一般的攻击方法。
保障域账号的安全
最简单的(对于黑客来说),最让人意想不到的,也是最常用的方法就是通过一个合法的账号密码,登陆系统,以获得网络和域控制器的访问权限。
在一个典型的安装中,黑客如想登陆系统,只需要两个东西:一个合法账号,以及它对应的密码。如果您仍使用的是默认的管理员账号——Administrator,这将使黑客的入侵容易很多。他需要做的只是收集一些信息。与其他账号不同,这个默认的管理员账号,不会因为多次失败登陆而被锁定。这也就意味着,黑客只要不停的猜测密码(通过“暴力破解”的方法破解密码),直到他拿到管理员权限。
这就是为什么您应该做的第一件事就是把系统内置账号改名。当然,如果您只是改名而忘记修改默认的描述(“计算机/域的内置管理账号”)也没有什么意义。所以您要避免入侵者快速的找出拥有管理员权限的账号。当然,请记住,您所做的措施都只能减慢入侵者。一个坚定的、有能力的黑客还是能够绕过您的安全措施的(例如,管理员账号的SID是不能更改的,它通常是以500结尾的。有一些黑客可以利用工具SID号来辨别出管理员的账号)。
在Windows Server 2003中,完全的禁用内置管理员账号成为可能。当然如果您想那样做,必须要先创建另外的一个账号,并赋予它管理员的权限。否则,您将发现您自己也无法执行某些特权任务了。当然内置的来宾账号是应该被禁止的(默认就是如此)。如果一些用户需要具有来宾的权限,为他创建一个名字没那么显眼的新账号,并限制它的访问。
所有的账号,特别是管理账号都应该有一个强壮的密码。一个强壮的密码应该包含8位以上的字符,数字和符号,应该大小写混排,而且不应该是字典中的单词。用户必须要注意,不要将他们的密码用笔写下来或者告诉其他人(社交工程术也是未授权取得访问权限的常用方法)。还可以通过组策略来强制要求密码在一定的基础上进行变化。
重定向活动目录数据库
活动目录的数据库包含了大量的核心信息,是应该妥善保护的部分。方法之一就是将这些文件从被攻击者熟知的默认位置(在系统卷中)转移到其他位置。如果想进行更深入的保护,考虑把AD数据库文件移动到一个有冗余或者镜像的卷,以便磁盘发生错误的时候您还能恢复它。
活动目录的数据库文件包括:Ntds.dit;Edb.log;Temp.edb
附注:将活动目录的数据库文件移动到与系统卷不同的物理硬盘,也可以提高DC的系统性能。
您可以按照以下步骤,通过NTDSUTIL.EXE这个工具来转移活动目录的数据库和日志文件:
1. 重新启动域控制器。
2. 在启动的时候按下F8键,以访问高级选项菜单。
3. 在菜单中选择 目录服务恢复模式。
4. 如果您装有一个以上的Windows Server 2003,选择正确的那个,按回车键继续。
5. 在登陆提示的时候,使用当时您提升服务器时指定的活动目录恢复账号的用户密码登陆。
6. 点击 开始 | 运行,输入CMD,运行命令提示行。
7. 在命令提示行中,输入NTDSUTIL.EXE,并执行。
8. 在NTDSUTIL的提示行中,输入FILES。
9. 选择你想要移动的数据库或者日志文件,输入MOVE DB TO或者MOVE LOGS TO。
10.输入两次QUIT,退出NTDSUTIL,返回到命令提示行,并关闭命令提示行窗口。
11.再次重新启动域控制器,以正常模式进入Windows Server 2003。
使用Syskey保障密码信息的安全
保存在活动目录中的域账号密码信息是最为敏感的安全信息。系统密钥(System Key - Syskey)就是用来加密保存在域控制器的目录服务数据库中的账号密码信息的。
Syskey一共有三种工作模式。模式一,就是所有Windows Server 2003中默认采用的,计算机随机产生一个系统密钥(system key),并将密钥加密后保存在本地。在这种模式中,你可以像平时一样的登录本地计算机。
在模式二中,系统密钥使用和模式一中同样的生成方式和存储方式,但是它使用一个由管理员指定的附加密码以提供更进一步的安全性。当你重起电脑的时候,你必须在启动的时候输入管理员指定的附加密码,这个密码不保存在本地。
模式三是安全性最高的操作方法。计算机随机产生的系统密钥将被保存在一张软盘上,而不是电脑本地。如果您没有软盘的物理访问权限,并在系统提示时插入该软盘,您就无法引导系统。
附注:在使用模式二和模式三之前,请先考虑他们相关的特性。例如,可能会需要管理员在本地插入含有syskey密码的软盘,这就意味着,您将无法不在服务器端插入软盘就实现服务器远程重启。
您可以通过以下方法创建system key:
1. 点击 开始 | 运行,输入CMD,运行命令提示行。
2. 在命令提示行中,输入SYSKEY,并执行。
3. 点击 UPDATE。选中ENCRYPTION ENABLED。
4. 如果需要一个syskey的开始密码,点击PASSWORD STARTUP。
5. 输入一个强健的密码(密码可以含有12到128个字符)。
6. 如果您不需要开始密码,点击 SYSTEM GENERATED PASSWORD。
7. 默认的选项是STORE STARTUP KEY LOCALLY。如果您想要将密码保存在软盘中,选中STORE STARTUP KEY ON FLOOPY DISK。
如果您使用模式三,将密码保存在软盘中,请确保该软盘有备份。
请注意,如果您遗失了密钥软盘,或者它受到了损害,亦或您遗忘了管理员指定的密码,那么您都无法恢复,只能重新安装域控制器。
总结
保护您的域控制器是您网络安全策略中的重要一步。在本文中,我们讨论了如何保障域控制器的物理安全,如何保障域账号的安全性,重定位活动目录的数据库文件,以及如何使用Syskey工具来保护存储在域控制器中的账号密码信息。