对于运行Microsoft Active Directory?目录服务的Microsoft? Windows Server? 2003计算机,域控制器服务器是在任何环境下都应当确保其安全性的重要角色。对于依赖域控制器完成身份验证、组策略、以及一个中央LDAP(轻量级目录访问协议)目录的客户机、服务器以及应用软件而言,IT环境中域控制器的任何损失或信息泄密都可能是灾难性的。
由于其重要性,域控制器应当总是被安置在物理上安全的地点,仅允许有资格的管理人员访问。当域控制器必须安置在不太安全的地方时,例如分支办公室,应当调整相关的安全性设置以限制来自物理访问威胁的潜在损害。
域控制器基线策略
与本指南后面将要介绍的其他服务器角色策略不同,域控制器服务器的组策略是一种基线策略,与第三章“创建成员服务器基线”所定义的成员服务器基线策略(MSBP)属于同一类。域控制器基线策略(DCBP)与域控制器组织单位(OU)密切相连,并且优先于缺省的域控制器策略。包括在DCBP中的设置将增强任何环境下域控制器的总体安全性。
大多数DCBP是MSBP的直接拷贝。由于DCBP建立在MSBP基础之上,读者应当仔细复习第三章“创建成员服务器基线”,以便充分理解同样包括在DCBP中的许多设置。本章仅仅讨论那些没有包括在MSBP中的DCBP设置。
域控制器模板专门设计用来满足本指南所定义三种环境的安全需要。下表显示了包括在本指南中的域控制器.inf 文件以及这些环境相互之间的关系。例如,文件Enterprise Client – Domain Controller.inf是企业客户机环境下的安全性模板。
表 4.1: 域控制器基线安全性模板
注意:将一个配置不正确的组策略对象链接到Domain Controllers OU(域控制器组织单位)可能会严重阻碍域的正常操作。在导入这些安全性模板时应当十分小心,在将GPO到链接到Domain Controllers OU之前,应该确认导入的所有设置都是正确的。
审核策略设置
域控制器的审核策略设置与在MSBP中所指定的一样。要了解更多信息,请参看第3章“创建成员服务器基线”。DCBP中的基线策略确保了所有相关的安全性审核信息都记录在域控制器中。
用户权限分配
DCBP为域控制器指定了许多用户权限的分配方法。除了缺省设置之外,在本指南定义的三种环境下,您可以修改其它 7 种用户权限以强化域控制器的安全性。
该部分详细介绍了DCBP 规定的用户权限设置,这些设置不同于MSBP中的相应设置。关于该部分规定设置的总结信息,请参看包括在本指南中的“Windows Server 2003安全指南设置” Excel 工作簿。
从网络访问您的计算机
表4.2: 设置
“从网络访问该计算机”用户权限确定哪些用户和组能够通过网络连接到该计算机。许多网络协议都要求该用户权限,包括基于服务器信息块(SMB)的协议、网络基本输入/输出系统(NetBIOS)、通用互联网文件系统(CIFS)、超级文本传输协议(HTTP)以及COM+等。
在Windows Server 2003中,尽管您可以为“Everyone”(所有人)安全组授予权限,并不再接受匿名用户的访问,但是“Guest”组和账户仍然可以通过“Everyone”安全组访问。因此,本指南推荐在高安全性环境下,从“从网络访问该计算机”中删除“Everyone”安全组,以便进一步防范利用Guest 帐户对域发起的攻击。
向域中添加工作站
表4.3: 设置
“向域中添加工作站”权限允许用户向指定的域中添加一台计算机。如果希望该权限生效,它必须作为域的缺省域控制器策略的一部分分配给用户。被授予了该权限的用户可以向域中添加10个工作站。被授予了为OU或 Active Directory 的计算机容器“创建计算机对象”权限的用户,也可以向域中加入计算机。被授予了该权限的用户可以无限制地向域中添加计算机,无论他们是否被分配了“向域中添加工作站”用户权限。
缺省情况下,“Authenticated Users”(经过身份验证的用户)用户组具有向 Active Directory 域中添加10个计算机账户的能力。这些新计算机账户在计算机容器中创建。
在一个 Active Directory 域中,每个计算机账户都是一个完整的安全性主体,拥有认证和访问域资源的能力。有些组织希望限制一个 Active Directory 环境中的计算机数量,以便可以持续地跟踪、构建和管理它们。
允许用户向域中添加工作站则会妨碍这项工作。而且,这样做还会为用户执行更加难以跟踪的行为提供了方便,因为他们可能创建了其他未经授权的域计算机。
因此,在本指南定义的三种环境下,“向域中添加工作站”用户权限仅仅授予Administrators 组。
允许从本地登录
表4.4: 设置
“允许本地登录”用户权限允许用户在计算机上开启一个交互式的会话。如果用户不具备该权限,但拥有“允许通过终端服务登录”权限,他仍然能够在计算机上开启一个远程的交互式会话。
通过对可以登录到域控制器控制台的账户加以限制,有助于防止对域控制器文件系统和系统服务进行未授权的访问。能够登录到域控制器控制台的用户可能恶意地利用该系统,并且可能破坏整个域和森林的安全性。
缺省情况下, Account Operators、Backup Operators、Print Operators和Server Operators 组被授予了从本地登录域控制器的权限。但是这些组中的用户不必登录到一台域控制器上完成其管理任务。这些组中的用户通常可以从其它工作站完成其职责。只有“Administrators”组中的用户才必须在域控制器上登录以完成其维护任务。
将该权限仅授予给“Administrators”组,可以将对域控制器的物理和交互式访问限制在受高度信任的用户,从而增强了安全性。因此,在本指南定义的三种环境下,将“允许从本地登录”用户权限仅授予给“Administrators”组。
允许通过终端服务登录
表4.5: 设置
“通过终端服务登录”权限允许用户使用远程桌面连接登录到计算机上。
对通过终端服务登录到域控制器控制台的账户加以限制,有助于防止对域控制器文件系统和系统服务的未经授权访问。能够通过终端服务登录到域控制器控制台的用户可以对该系统进行利用,并且可能破坏整个域或森林的安全性。
通过将该权限仅授予给 Administrators 组,可以将对域控制器的交互访问权限制在高度信任的用户中,从而增强了系统的安全性。因此,在本指南所定义的三种环境下,“允许通过终端服务访问”仅授予给 Administrators 组。尽管在缺省情况下,通过终端服务登录到一台域控制器要求用户具有管理员访问权限,但配置该用户权限有助于防止那些可能破坏该限制的无意或有意行为。
作为一种高级的安全性措施,DCBP 禁止使用缺省的 Administrator 账户通过终端服务登录到域控制器。该设置还可阻止恶意用户企图使用缺省的 Administrator 账户远程强行登录到一台域控制器。要了解该设置的详细信息,请参看第3章“创建成员服务器基线”。
改变系统时间
表 4.6: 设置
“改变系统时间”权限允许用户调整计算机内部时钟的时间。该权限对于改变时区或系统时间的其他显示特征不是必需的。
系统时间保持同步对于 Active Directory 的运行至关重要。正确的 Active Directory 复制和KerberosV5身份验证协议使用的身份验证票据生成过程要依赖于整个环境中的时间同步。
如果在环境中,一台域控制器配置的系统时间与另一台域控制器配置的系统时间不同步,则可能妨碍域服务的操作。仅允许管理员改变系统时间可以将域控制器被配置为错误系统时间的可能性降至最小。
缺省情况下, Server Operators 组被授予了改变域控制器系统时间的权限。由于这个组的成员可能会不正确地更改域控制器系统时间,该用户权限在DCBP中进行了配置,以便在本指南定义的三种环境下,只有 Administrators 组有权改变系统时间。
要了解关于Microsoft Windows? 时间服务(Microsoft Windows? Time Service)的更多信息,请参考知识库文章Q224799,“Windows Time Service 的基本操作”:http://support.microsoft.com/default.aspx?scid=224799,以及Q216734,“如何在Windows 2000中配置一台权威的时间服务器”:http://support.microsoft.com/default.aspx?scid=216734.
为委派启用受信任的计算机和用户帐户
表 4.7:设置
“为委派启用受信任的计算机和用户账户”权限允许用户在 Active Directory 中的一个用户和计算机对象上改变 “允许委派”(Trusted for Delegation)设置。身份验证委派是由多层客户/服务器应用程序所使用的一种功能。它允许前端服务在验证一项后端服务时使用客户机的信任凭据。要使这项操作成立,客户机和服务器都必须运行在允许接收委派的账户下。
对该权限的误用可能会导致未经授权的用户假装网络中的其他用户。攻击者可以利用该权限假扮其他用户访问网络资源,这使得在安全事件出现之后,确定事件原因的工作变得更加困难。
本指南推荐将“为委派启用受信任的计算机和用户账户”权限分配给域控制器中的Administrators 组。
注意:尽管缺省的域控制器策略将该权限分配给管理员组,但DCBP之所以在高安全性环境下加强了该项权限设置是因为它最初是建立在MSBP基础上的,而MSBP给该权限分配了一个NULL值。
安装和卸载设备驱动程序
表4.8: 设置
“安装和卸载设备驱动程序”权限决定了哪些用户有权安装和卸载设备驱动程序。该权限对于安装和卸载即插即用设备是必需的。
不恰当地在域控制器上安装和卸载设备驱动程序可能会对其运行带来不利影响。将有权安装和卸载设备驱动程序的帐户限制在最可信任的用户中,可以降低因为设备驱动程序被误用而破坏域控制器的可能性。
缺省情况下,“Print Operators”组被授予了该权限。正如早先提到的,我们不推荐在域控制器中创建打印机共享。这样,打印操作员就无需获得安装和卸载设备驱动程序的权限。因此,在本指南定义的三种环境下,该权限仅被授予给“Administrators”组。
恢复文件及目录
表4.9: 设置
“恢复文件和目录”用户权限允许用户在恢复备份的文件或文件夹时,避开文件和目录的许可权限,并且作为对象的所有者设置任何有效的安全主体。
如果允许某个用户账户将文件和目录恢复到域控制器的文件系统中,账户所有者将获得轻松修改服务可执行程序的能力。利用该权限提供的访问权限,恶意用户既可能致使一台域控制器瘫痪,也可能破坏整个域或整个森林的安全性。
缺省情况下,Server Operators 和Backup Operators 组被授予了该权限。将该用户权限从这些组中清除,并且仅授予给 Administrators 组,可以减少由于不正确地改变文件系统而导致域控制器被破坏的可能性。因此,在本指南所定义的三种环境下,该权限仅授予给 Administrators 组。
关闭系统
表 4.10: 设置
“关闭系统”权限允许用户关闭本地计算机。具有关闭域控制器能力的恶意用户能够轻易地发动拒绝服务(DoS)攻击,这将严重地影响整个域或森林的安全性。
而且,当域控制器系统账户重新启动服务时,该用户权限可被利用来发起权限提升攻击。如果对域控制器的特权提升攻击成功,那将破坏域或者整个森林的安全性。
缺省情况下, Administrators、Server Operators、Print Operators 和 Backup Operators 组被授予了关闭域控制器的权限。为确保环境的安全,除了Administrators组之外,其他组完成管理工作都无需该权限。因此,在本指南定义的三种环境下,只有Administrators 组被授予了本权限。
安全选项
域控制器的大多数安全选项设置与在MSBP中指定的相同。要了解更多信息,请参看第3章“创建成员服务器基线”。下面的部分介绍MSBP和DCBP之间的不同。
网络安全:在下一次修改密码时不存储LAN Manager散列值
表4.11: 设置
“网络安全:在下一次修改密码时不存储LAN Manager 散列值” 安全选项设置决定了当管理员改变密码时,是否存储新密码的LAN Manager (LM))散列值。与更为牢固的Windows NT? 口令散列相比,LM相对较弱而且易受攻击。因此,在本指南所定义的三种环境下,MSBP启用了本设置。
在企业客户机和高安全性环境下,DCBP启用域控制器上的此设置,而在旧有客户机环境下则禁用此设置。如果在旧有客户机环境下该设置被启用,当改变密码之后,Windows 98客户机将无法登录。
注意:当该设置被激活时,旧有操作系统以及某些第三方应用软件将无法使用。而且,启用此设置将要求所有的账户都必须改变其密码。
事件日志设置
域控制器的事件日志设置与在MSBP中指定的设置相同。要了解更多信息,请参看第3章,“创建成员服务器基线。”DCBP中的基线组策略设置确保了所有的相关安全审核信息都被记录在域控制器上,其中包括目录服务访问信息。
系统服务
在所有的Windows Server 2003域控制器上,下面的系统服务必须被启用。DCBP中的基线策略设置可确保所有的系统服务跨越不同的域控制器实现统一配置。
本部分详细介绍了DCBP规定的系统服务设置,这些设置与MSBP中所规定的不同。关于这部分规定设置的总结信息,请参考包括在本指南中的“Windows Server 2003安全性指南设置”Excel工作簿。
注意:如果您从Windows Server 2003 支持工具(Windows Server 2003 Support Tools)中运行DCDiag.exe,它将检查所有在您所在环境中的域控制器上运行的服务。由于某些服务在域控制器基线策略中被禁用,DCDiag.exe将会报告错误——这些服务包括IISADMIN, SMTPSVC,以及 TrkSvr。这些信息并不表明您的配置存在问题。
分布式文件系统
表 4.12:设置
“分布式文件系统(DFS)”服务将完全不同的文件共享分配和集成到一个单一的逻辑名字空间。该服务管理跨越局域网或广域网(LAN)进行分布的逻辑卷,而且是 Active Directory 逻辑卷(SYSVOL)共享所必需的。SYSVOL复制依赖于DFS的正确运行。
使用组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
“DNS服务器”服务解析用户的DNS(域名系统)查询,并且处理对DNS名称的更新请求。对于在 Active Directory 中用DNS名称和域控制器进行身份识别的设备,“DNS服务器” 是定位这些设备的关键服务。
Active Directory 的可靠性和可用性强烈依赖于“DNS服务器”服务的正确操作。没有DNS,域控制器之间将无法互相定位对方以复制目录信息,客户机也无法访问域控制器进行身份验证。
使用组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
文件复制
表4.14: 设置
“文件复制”服务允许文件被自动拷贝到多台服务器上,并且同时获得维护。文件复制服务(FRS)是Windows 2000以及 Windows Server?家族中的自动文件服务。该服务将SYSVOL复制到所有的域控制器上,并且可以被配置为在与容错DFS相关联的其他目标上复制文件。SYSVOL复制同样依赖于 “文件复制服务”的正确操作。
您可以通过组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
站点间消息
表 4.15:设置
“站点间消息”(Intersite Messaging,ISM)使得消息能够在运行Windows Server站点的计算机之间进行交换。站点之间使用该服务进行基于邮件的复制操作。 Active Directory 能够使用简单邮件传输协议(SMTP)在站点之间进行复制。对SMTP的支持由SMTP服务提供,该服务是Microsoft Internet信息服务(IIS)的一个组件。
在站点间进行通信的传输集合必须是可扩展的;因此,每个传输在一个单独的附加动态链接库(DLL)中定义。这些附加的DLL被装载到ISM服务中,该服务运行在可能执行站点间通信的所有域控制器上。ISM服务将消息的收发请求定向到一个相应的传输附加DLL,然后将消息发送到目的计算机的ISM服务上。 Active Directory 的复制依赖于正确运行的“站点间消息”服务。
您可以通过组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
Kerberos密钥分配中心
表 4.16: 设置
“Kerberos密钥分配中心”(Kerberos Key Distribution Center ,KDC)服务让用户可以通过Kerberos v5身份验证协议登录到网络。
KDC服务是用户登录到网络所必需的服务。禁用该服务将阻止用户登录到网络。
使用组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
远程过程调用(RPC)定位器
表4.17: 设置
“远程过程调用(RPC)定位器”(Remote Procedure Call Locator)服务使得使用RpcNs* 应用程序编程接口(API)的RPC客户机能够定位RPC服务器,并且对RPC名称服务数据库进行管理。
停止和禁用该服务可以防止使用RpcNs* API的RPC客户机定位服务器或无法启动。同样,来自同一计算机、依赖RpcNs* API的RPC客户可能找不到支持相应接口的RPC服务器。如果在您的域控制器上停止或禁用该服务,可能导致在定位客户机时,使用RpcNs* API和域控制器的RPC客户机出现服务中断。
您可以使用组策略,将服务的开始模式设置配置为仅仅允许服务器管理员进行访问,,从而防止服务被未经授权或恶意的用户所配置或操作。该组策略还可防止管理员无意禁用该服务。因此,在本指南所定义的三种环境下,该服务在DCBP中配置为自动开始。
其他安全性设置
该部分描述必须对DCBP进行的手动修改,以及其他不能通过组策略完成的设置和对策。
向用户权限分配手动添加唯一的安全组
大多数通过DCBP应用的用户权限分配都已经在本指南附带的安全性模板中进行了适当的指定。但是,有些账户和安全组不能被包含在模板中,因为它们的安全标识(SID)对于单个的Windows 2003域是特定的。下面介绍了必须手动配置的用户权限。
警告:下表包含了内置的Administrator账户。不要将该账户与内置的Administrators安全组混淆。如果Administrators安全组被添加了以下任何一个拒绝访问用户权限,为了更正该错误,您必须从本地登录。
此外,基于第3章“创建成员服务器基线”中的某些推荐,内置管理员账户可能已经被重命名。当添加Administrator账户时,请确信添加的是经过了重命名的账户。
表 4.18: 手动分配用户权限
警告:所有非操作系统服务账户包括整个企业范围内用于特定应用程序的服务账户。这不包括操作系统使用的内置账户:本地系统(LOCAL SYSTEM),本地服务(LOCAL SERVICE)或网络服务(NETWORK SERVICE)账户。
目录服务
运行Windows Server 2003的域控制器存储目录数据并且管理用户和域之间的交互过程,包括用户登录过程,身份验证以及目录搜索。
重新部署数据 ― Active Directory 数据库和日志文件
保护 Active Directory 数据库和日志文件的安全对于维护目录集成和系统可靠性非常重要。
如果一台域控制器被破坏,将ntds.dit、edb.log和temp.edb等文件从缺省位置移动到其它位置将有助于防止它们遭受攻击。而且,将这些文件从系统卷中转移到一个独立的物理磁盘卷可提高域控制器的性能。
因此,本指南建议:在本指南定义的三种环境下,将域控制器的 Active Directory 和日志文件从系统卷的缺省位置转移到一个非系统卷的条带或条带/镜像磁盘卷。
改变 Active Directory 日志文件大小
您应该确保环境中有足够的域控制器信息被记录和维护,这对于有效监视和维持 Active Directory 的完整性、可靠性和可用性非常重要。
您可以提高日志文件大小的上限,以便在遭受电脑黑客攻击时,为管理员提供充足的必要信息来完成审核。
因此,本指南建议:在本指南定义的三种环境下,将域控制器上目录服务(Directory Service)和文件复制服务(File Replication Service)的日志文件大小的最大值从缺省的512KB增加到16MB。
使用Syskey
在域控制器上,密码信息被存储在目录服务中,他人可以针对安全账户管理(SAM)数据库或目录服务使用密码破解软件以获取用户账户的密码,这种情况经常出现。
Syskey的使用为抵御离线密码破解软件提供了一道附加防线。Syskey使用了高级加密技术来保护存储在目录服务中的密码信息的安全。
表4.19: Syskey模式
在模式1(模糊密钥)中的所有Windows Server 2003服务器上,Syskey被启用。对于暴露于物理安全威胁之下的任何域控制器,我们有充分的理由推荐您使用模式2(控制台密码)或模式3(软盘存储Syskey密码)中的Syskey。
从安全的角度而言,首先这样似乎更明智,因为如果攻击者能够以物理方式访问到计算机,那么域控制器很容易被重新启动。模式1的Syskey使得攻击者能够读取和改变目录的内容。
然而,Syskey的模式 2 和模式 3 难以支持通过重新启动让域控制器恢复正常运行的操作要求。为了利用这些Syskey 模式提供的额外保护,必须在您的环境中执行适当的操作过程,以满足域控制器的特定可用性需求。
Syskey密码或软盘管理的后勤工作可能会十分复杂,尤其是在分支办公室。例如,要求一位部门经理或本地管理职员凌晨三点来到办公室输入密码,或者插入软盘以便让其他用户能够访问系统,这显然很费事,而且使得旨在实现高可用性的服务水平协议(SLA)的实施变得十分困难。
作为可选方案,要让您处于中央位置的IT操作人员远程提供Syskey 密码则需要附加的硬件 设备—— 有些硬件厂商可以为远程访问服务器控制台提供加载项解决方案。
最后,Syskey 密码或软盘的丢失将使得您的域控制器无法重新启动。如果Syskey 密码或软盘丢失,将没有任何能够恢复域控制器的方法。如果出现这种情况,您必须重新安装域控制器。
但是,通过使用适当的操作步骤,Syskey可提供一种高级的安全性,以便保护在域控制器中发现的敏感目录信息。
因此,如果域控制器所处的位置在物理访问方面没有安全性问题,我们建议您使用Syskey的模式 2 或模式 3。对于本指南所定义的任何三种环境下的域控制器,该建议同样适用。
创建或更新系统密钥:
1.点击“开始”菜单,点击“运行”,输入“syskey”,然后点击“确定”。
2.点击“启用加密”(Encryption Enabled),然后点击“更新”(Update)。
3.选择希望的选项,然后点击“确定”。
与DNS集成的 Active Directory
Microsoft 建议您在本指南定义的三种环境下,使用与DNS集成的 Active Directory ,部分原因在于:将这些区域集成到 Active Directory中可以简化保护DNS基础结构安全的过程。
保护 DNS 服务器
保护DNS服务器的安全对于包含 Active Directory 的任何环境都很重要。下面提供了一些有关保护DNS安全的建议和解释。
当DNS服务器遭受攻击时,攻击者的一个可能的目标就是控制对DNS客户查询做出响应的DNS返回信息。这样,客户信息便有可能会被误导到未经授权的计算机。IP欺骗和DNS缓存破坏就是这种攻击方式的一些例子。
对于IP欺骗,它利用一个授权用户的IP地址以获得对计算机或网络的访问。缓存破坏是指一台未经授权的主机将有关另一台主机的错误信息发送到DNS服务器的缓存中。攻击结果将导致客户机信息被错误地发送到未经授权的计算机。
一旦客户机无意中与未经授权的计算机开始通信,这些计算机便可能企图访问存储在客户计算机上的信息。
不是所有的攻击都集中在对DNS服务器的欺骗上。有些DoS攻击可能会改变合法DNS服务器上的记录,使其提供无效地址作为对客户查询的回应。由于服务器提供的地址是无效的,客户机和服务器便不能定位它们需要的资源,例如域控制器、Web服务器或者文件共享。
因此,本指南建议您对在这三种环境下使用的路由器进行配置,截取欺骗性质的IP数据包以确保DNS服务器的IP地址不被其他计算机所蒙骗。
配置安全的动态更新
Windows Server 2003 DNS客户机服务支持动态的DNS更新,这使得客户系统能够直接向数据库中添加DNS记录。如果服务器被配置为可接收不安全的更新信息,而攻击者使用了一台支持DDNS协议的客户机,动态DNS服务器便有可能从这台客户机接收恶意或未经授权的更新信息。
至少,攻击者可能向DNS数据库中增加伪造的项目;在最坏的情形下,攻击者可能覆盖或删除DNS服务器的合法项目。这种攻击可能导致下述情形:
将客户机引向未经授权的域控制器:当一台客户机提交一个DNS查询,请求查找域控制器地址时,一台被愚骗的DNS服务器可能会返回一台未经授权服务器的地址。然后,通过使用其它和DNS无关的攻击手段,客户机可能被错误地向一台虚假的服务器发送安全信息。
以无效地址响应DNS查询:这使得客户机和服务器互相不能定位。如果客户机不能定位服务器,它们将无法访问目录。当域控制器无法定位其他域控制器时,目录复制将终止,从而产生一种能够通过森林影响用户的DoS情形。
导致一种DoS攻击,服务器磁盘空间可能被一个填满虚假记录的巨大区域文件耗尽,或者由于增加了大量的记录项目而降低复制速度。
使用安全的DDNS更新可以保证:只有当注册请求来自于 Active Directory 森林中的有效客户机时,请求才会获得处理。这大大限制了攻击者破坏DNS服务器完整性的机会。
因此,本指南推荐在其定义的三种环境下,将DNS服务器配置为仅接受安全的动态更新。
限制到授权系统的区域传送
由于区域(zone)在DNS中的重要角色,应当可以从网络中多台DNS服务器中访问它们,以便在解析名称查询时能够提供足够的可用性和容错能力。否则,如果名称查询被发送给区域中仅有的一台服务器并且该服务器没有响应,解析过程将失败。如果希望使用更多的服务器来托管一个区域,需要使用区域传输对配置为该区域宿主的每一台服务器上的区域副本进行复制和同步。
而且,如果没有在DNS服务器上对谁可以请求区域传输进行配置,则很容易将整个DNS区域传输给任何请求者。这一目的可以很容易地通过使用诸如nslookup.exe这样的工具来实现。这些工具可以暴露整个域的DNS数据集,其中包括以下信息:哪些主机被用作域控制器、目录集成的Web服务器、或者Microsoft SQL Server? 2000数据库。
因此,本指南推荐,在其定义的三种环境下,将集成DNS服务器的 Active Directory 配置为允许区域传输,但是将其限制在可以发出传输请求的系统中。
改变事件日志和DNS服务日志的大小
您应该确保环境中有足够的域控制器信息被记录和维护,这对于有效监视DNS服务至关重要。
您可以增大DNS服务日志文件大小的最大值,以便在遭受攻击时,为管理员提供充足的必要信息来完成审核。
因此,本指南推荐在其定义的三种环境下,将域控制器中DNS服务日志文件的最大值至少配置为16MB,并且确保DNS服务中“必要时覆盖事件”(Overwrite events as needed)选项被选中,以便尽可能多地保存日志信息。
保护众所周知账户的安全
Windows Server 2003拥有许多内置的用户账户,这些账户不能被删除,但可以重命名。Windows Server 2003中两个最常见的内置账户是 Guest 和 Administrator。
缺省情况下,在成员服务器和域控制器上的 Guest 账户被禁用。请不要改变该设置。内置的 Administrator 账户应当被重命名,而且改变描述以帮助防止攻击者使用该账户破坏远程服务器。
许多恶意代码的变种企图使用内置的管理员账户来破坏一台服务器。在近几年来,进行上述重命名配置的意义已经大大降低了,因为出现了很多新的攻击工具,这些工具企图通过指定内置 Administrator 账户的安全标识(SID)来确定该帐户的真实姓名,从而侵占服务器。SID是唯一能确定网络中每个用户、组、计算机账户以及登录会话的值。改变内置账户的SID是不可能的。您可以将本地管理员账户改变为唯一的名称,以方便您的操作人员监视对该账户的攻击企图。
完成以下步骤以保护域和服务器中众所周知账户的安全:
1. 重命名Administrator和Guest账户,并且将每个域和服务器上的密码更改为长而复杂的值。
2. 在每个服务器上使用不同的名称和密码。如果在所有的域和服务器上使用相同的账户名和密码,攻击者只须获得对一台成员服务器的访问,就能够访问所有其他具有相同账户名和密码的服务器。
3. 改变缺省的账户描述,以帮助防止账户被轻易识别。
4. 将这些变化记录一个安全的位置。
注意:内置的管理员账户可以通过组策略重命名。该设置没有在DCBP中配置,因为您必须为您的环境选择一个唯一的名字。在本指南定义的三种环境下,“账户:重命名管理员账户”可以被配置为重命名管理员账户。该设置是GPO安全选项设置的一部分。
保护服务账户的安全
除非绝对必要,否则不要将一种服务配置为在域账户的安全上下文中运行。如果服务器的物理安全受到破坏,域账户密码可以很容易通过转储本地安全性授权(LSA)秘文而获得。
终端服务设置
表 4.20:设置
“设置客户机连接加密等级”用来确定在您的环境中终端服务客户机连接的加密等级。您可以使用128位加密的“高等级”(High Level)设置防止攻击者利用数据包分析器窃听终端服务的会话。有些终端客户机的旧版本不支持这种高等级加密。如果您的网络包含这种服务,请将连接的加密等级设置为:使用客户机所支持的最高加密等级来发送和接收数据。
在组策略对象编辑器(Group Policy Object Editor)中配置该设置的路径为:
Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesEncryption and Security.
我们提供了三种加密等级
表4.21: 终端服务加密等级
错误报告
表4.22: 设置
“错误报告”服务可以帮助Microsoft 跟踪和查找错误。您可以将该服务配置为给操作系统错误、Windows组件错误或程序错误生成报告。“错误报告”服务将这些错误通过Internet报告给Microsoft,或者报告给内部企业文件共享。
只有在Microsoft Windows? XP Professional和Windows Server 2003上可获得该设置。在组策略对象编辑器中配置该设置的路径为:
Computer ConfigurationAdministrative TemplatesSystemError Reporting
错误报告可能包含敏感的(甚至是保密的)企业数据。Microsoft 关于错误报告的隐私政策保证 Microsoft 不会不适当地使用这些数据。但是,由于这些数据使用明文形式的超级文本传输协议(HTTP)传送,它有可能被因特网上的第三方截获或者查看。因此,本指南建议在指南定义的三种安全环境下,在DCBP中将“ 错误报告 ”设置配置为“禁用”。
用IPSec过滤器阻断端口
Internet协议安全性(IPSec)过滤器可为增强服务器所需要的安全级别提供有效的方法。本指南推荐在其定义的高安全性环境中使用该选项,以便进一步减少服务器的攻击表面。
要了解关于IPSec过滤器使用的更多信息,请参看“威胁与对策:Windows Server 2003和Windows XP中的安全性设置 ”的第11章 “其它服务器的强化程序”。
下表列举了在本指南定义的高安全性环境下,可以在域控制器上创建的IPSec过滤器。
下表列举了在本指南定义的高安全性环境下,应该在域控制器上创建的IPSec过滤器。
表4.23: 域控制器IPSec过滤器网络流量图
在执行时上表所列举的规则时,应当对其进行镜像处理。这样可以保证任何进入服务器的网络流量也可以返回到源服务器。
上表表明了服务器要完成特定角色的功能所应打开的基本端口。如果服务器拥有一个静态IP地址,这些端口已经足够。如果要提供附加功能,则可能需要打开附加端口。打开附加端口将使您的环境下的域控制器更容易管理,但是这也可能大大降低服务器的安全性。
您应当在域控制器上使用编号为Q224196的知识库文章“将Active Directory复制流量限制在特定端口上”(http://support.microsoft.com/default.aspx?scid=224196)所建议的数值。这确保了在特定端口上进行域的复制。这里再次需要从超过50 000个端口中任意选择一个用于该目的。在上例中,端口57952被选中。您可以根据需要使用一个不同的端口,但是应当在所有将执行本指南的域控制器上均进行本修改。在知识库文章所介绍的步骤被执行之后,服务器必须重新启动以便让其生效。
正如上表所示,如果环境中运行了Microsoft Operations Manager (MOM),那么在执行了IPSec过滤器的服务器和MOM服务器之间,您应该允许传输所有的网络通信。这是必需的,因为在MOM服务器和OnePoint 客户端——向MOM控制台提供报告的客户应用程序——之间存在大量的交互过程。其他管理软件也可能具有类似的需求。如果希望获得更高级别的安全性,可将OnePoint 客户的过滤动作配置就IPSec与MOM服务器进行协商。
该IPSec策略将有效地阻止通过任意高端口的通信,因此不允许远程过程调用(RPC)进行通信。这可能使得服务器的管理变得很困难。由于许多端口已经被有效关闭,您可以启用终端服务。以便管理员可以实现远程管理。
上面的网络流量图假设环境中包含启用了Active Directory 的DNS服务器。如果使用了独立的DNS服务器,您可能需要使用附加规则。
IPSec策略的执行将不会对服务器的性能带来明显影响。但是,您应该在执行这些过滤器之前进行测试,以核实服务器保持了必要的功能和性能。您可能还需要添加一些附加规则以支持其他应用程序。
注意:域控制器是一个极端动态的环境,在其上执行IPSec过滤器时应仔细评估,并且应在一个实验室环境下进行彻底测试。由于在域控制器之间存在大量的交互过程,您需要添加IPSec过滤器以允许相互复制信息的域控制器之间的所有通信。在存在许多域控制器的复杂环境下,这要求创建数十个附加的过滤器。这样,过滤器才能有效地保护域控制器。但这将使得执行和管理IPSeC策略十分困难。但是,只拥有很少域控制器的环境可以有效利用IPSec过滤器并从中获益。
本指南包括一个.cmd 文件,它简化了依照指南要求为域控制器创建IPSec过滤器的过程。PacketFilters-DC.cmd 文件使用NETSH命令来创建相应过滤器。您应当修改该.cmd 文件,让其中包含您所在环境中的域控制器的IP地址。脚本中包含两个占位符,这是为将被增加的两个域控制器IP地址所预留的。如果需要,您可以添加其它域控制器。这些域控制器的IP地址列表应当是最新的。
如果环境中有MOM,应当在脚本中指定相应 MOM 服务器的IP地址。该脚本不会创建永久性的过滤器。因此,直到IPSec Policy Agent(IPSec策略代理)被启动时,服务器才会获得保护。要了解关于建立永久过滤器或创建更高级IPSec过滤器脚本的信息,请参看本指南的姐妹篇“威胁与对策:Windows Server 2003和Windows XP中的安全性设置”中的第11章“其它成员服务器的强化程序”。最后,该脚本被配置为不分配其创建的IPSec策略。IP安全性策略管理单元可用来检查所创建的IPSec过滤器,并且分配IPSec策略以便让其生效。
总结
本章解释了在本指南定义的三种环境下保护域控制器安全所必需的服务器强化设置。这里讨论的大多数设置通过组策略加以配置和应用。您可以将对缺省域控制器策略(Default Domain Controller Policy)起到补充作用的组策略对象(Group Policy object ,GPO)链接到Domain Controllers OU(域控制器组织单元)。包括在域控制器基线策略(DCBP)中的设置可强化任何环境下的所有域控制器的总体安全性。通过使用两个GPO来确保域控制器的安全性,您可以保护缺省环境并且简化故障排除工作。
有些服务器强化设置不能通过组策略来应用。对于这种情形,本章提供了关于手动配置这些设置的详细方法。在介绍了如何保护域控制器的安全性后,本指南下面的章节将关注其它几种专用服务器角色的安全性强化措施。