本页内容
概述本章提供了有助于强化环境中运行 Microsoft® Windows Server™ 2003 SP1 的 Web 服务器的指导。要为组织的 Intranet 内的 Web 服务器和应用程序提供全面安全性,Microsoft 建议保护每个 Microsoft Internet 信息服务 (IIS) 服务器以及这些服务器上运行的每个网站和应用程序免受可以连接到它们的客户端计算机的侵扰。还应保护这些网站和应用程序免受组织的 Intranet 内其他 IIS 服务器上运行的网站和应用程序的侵扰。 要帮助防范恶意用户和攻击者,Windows Server 2003 系列成员的默认配置不安装 IIS。当安装了 IIS 时,它被配置为高度安全的“已锁定”模式。例如,IIS 在默认状态下只提供静态内容服务。由于 Active Server Pages (ASP)、ASP.NET、在服务器端的包含文件 (SSI)、Web 分布式创作和版本管理 (WebDAV) 发布和 Microsoft FrontPage® Server Extensions 之类的功能可能被潜在的入侵者利用,因此直到管理员启用它们之后,它们才能工作。可以通过 Internet 信息服务管理器(IIS 管理器)中的 Web 服务扩展节点启用这些功能和服务。IIS 管理器具有图形用户界面 (GUI),旨在使 IIS 的管理更加方便。它包括用于文件和目录管理的资源,能够对应用程序池进行配置,并且具有安全性、性能以及可靠性方面的诸多特性。 您应该考虑实施本章以下各节中介绍的设置来增强组织的 Intranet 中宿主 HTML 内容的 IIS Web 服务器的安全性。要帮助保护您的服务器,还应实施安全监视、检测和响应过程来监视新威胁。 本章中大部分设置是通过组策略配置和应用的。补充 MSBP 的增量 GPO 被链接到适当的 OU,并为 Web 服务器提供附加的安全。为了提高本章的可用性,只讨论了不同于 MSBP 的那些策略设置。 这些设置被尽可能地收集在将对 Web 服务器 OU 应用的增量组策略模板中。本章中的某些设置无法通过组策略应用。提供了有关如何手动配置这些设置的详细信息。 下表为本指南中定义的三种环境显示了 Web 服务器安全模板的名称。这些 Web 服务器安全模板提供增量 Web 服务器模板的策略设置。您可使用此模板来创建链接到合适环境中 Web 服务器 OU 的新 GPO。第 2 章“Windows Server 2003 强化机制”提供了分步骤说明,帮助您创建 OU 和组策略,然后将合适的安全模板导入到每个 GPO。 表 9.1 IIS 服务器安全模板
有关所有默认设置配置的信息,请参阅附加指南威胁和对策:Windows Server 2003 和 Windows XP 的安全设置,网址为 http://www.microsoft.com/china/technet/security/guidance/secmod48.mspx。 本指南说明如何保护安装并启用了最少功能的 IIS。如果您打算使用 IIS 中的附加功能,则可能需要调整某些安全设置。如果安装其他服务(如 SMTP、FTP 或 NNTP),您将需要调整提供的模板和策略。 联机文章“IIS and Built-in Accounts (IIS 6.0)”(网址为 http://www.microsoft.com/china/technet/prodtechnol/WindowsServer2003/Library/IIS/ 匿名访问和 SSLF 设置MSBP 中的 SSLF 方案中明确定义的四种用户权限旨在中断到 IIS 网站的匿名访问。但是,如果需要在 SSLF 环境中允许匿名访问,您将需要对本指南的第 2、3 和 4 章中介绍的 OU 结构和 GPO 进行一些重要更改。您将需要创建一个新 OU,它不能是成员服务器 OU 之下的层次结构的一部分。此 OU 可以直接链接到域根,或者可以是某个其他 OU 层次结构的子 OU。但是,不应当在将影响要放入此新 OU 中的 IIS 服务器的 GPO 中分配用户权限。您可将 IIS 服务器移动到新的 OU 中、创建新 GPO、对它应用 MSBP 设置然后重新配置用户权限分配,以便它们可由本地策略控制而不是由基于域的 GPO 控制。换言之,应在此新 GPO 中将下列用户权限设置配置为“没有定义”。
您需要启用的 IIS 功能将确定是否还需要将其他用户权限分配设置重新配置为“没有定义”。 审核策略设置在本指南定义的三个环境中,IIS 服务器的审核策略设置是通过 MSBP 进行配置的。有关 MSBP 的详细信息,请参阅第 4 章“成员服务器基准策略”。MSBP 设置可确保所有相关的安全审核信息都记录在所有的 IIS 服务器上。 用户权限分配在本指南定义的三个环境中,IIS 服务器的用户权限分配设置是通过 MSBP 进行配置的。有关 MSBP 的详细信息,请参阅第 4 章“成员服务器基准策略”。MSBP 设置可确保所有相关的安全审核信息都记录在所有的 IIS 服务器上。 安全选项在本指南定义的三个环境中,IIS 服务器的安全选项设置是通过 MSBP 进行配置的。有关 MSBP 的详细信息,请参阅第 4 章“成员服务器基准策略”。MSBP 设置确保在所有 IIS 服务器上统一配置所有相关的安全选项。 事件日志设置在本指南定义的三个环境中,IIS 服务器的事件日志设置是通过 MSBP 进行配置的。有关 MSBP 的详细信息,请参阅第 4 章“成员服务器基准策略”。MSBP 设置确保在组织中的所有 IIS 服务器上统一配置适当的事件日志设置。 其他安全设置当在运行 Windows Server 2003 SP1 的计算机上安装 IIS 时,其默认设置只允许传输静态 Web 内容。当网站和应用程序包含动态内容或者需要一个或多个附加 IIS 组件时,每个附加 IIS 功能必须逐一单独启用。然而,应仔细尽量减少环境中每个 IIS 服务器的攻击面。如果组织中的网站只包含静态内容而无需其他任何 IIS 组件,则默认的 IIS 配置足以使 IIS 服务器的攻击面降至最小。 通过 MSBP 应用的安全设置大幅增强 IIS 服务器的安全性。但是,还应考虑一些其他设置。以下各节中的设置不能通过组策略实现,因此必须在所有 IIS 服务器上手动执行。 仅安装必要的 IIS 组件除了 World Wide Web Publishing 服务之外,IIS 6.0 还包括其他组件和服务,如提供 FTP、SMTP 和 NNTP 支持所需的服务。通过“控制面板”中的“添加或删除程序”启动的 Windows 组件向导应用程序服务器,可以安装和启用 IIS 组件和服务。安装 IIS 之后,您将需要启用您的网站和应用程序所需的所有 IIS 组件和服务。 安装 Internet 信息服务 (IIS) 6.0
应该只启用网站和应用程序所需的基本 IIS 组件和服务。如果启用不必要的组件和服务,IIS 服务器的攻击面会增加。以下图表显示了 IIS 组件的位置和建议设置。 下图显示了“应用程序服务器”对话框中的子组件: 下表简要介绍应用程序服务器子组件并提供启用它们时的建议。 表 9.2 推荐的应用程序服务器子组件设置
下图显示了“Internet 信息服务 (IIS)”对话框中的子组件: 下表简要介绍 IIS 子组件并提供启用它们时的建议。 表 9.3 推荐的 IIS 子组件设置
下图显示了“消息队列 ”对话框中的子组件: 下表简要介绍消息队列子组件并提供启用它们时的建议。 表 9.4 推荐的消息队列子组件设置
下图显示了“后台智能传输服务 (BITS) 服务器扩展”对话框中的子组件: 下表简要介绍 BITS 服务器扩展子组件并提供启用它们时的建议。 表 9.5 推荐的 BITS 服务器扩展子组件设置
下图显示了“万维网 服务”对话框中的子组件: 下表简要描述万维网服务子组件并提供启用它们时的建议。 表 9.6 推荐的万维网服务子组件设置
仅启用必要的 Web 服务扩展IIS 服务器上运行的许多网站和应用程序具有超出静态页面范畴的扩展功能,包括生成动态内容的能力。通过 IIS 服务器提供的功能服务或扩展的任何动态内容是通过 Web 服务扩展完成的。 IIS 6.0 中增强的安全功能允许用户单独启用或禁用 Web 服务扩展。如前所述,在新安装 IIS 服务器之后,它只传输静态内容。可通过 IIS 管理器中的 Web 服务扩展节点来启用动态内容功能。这些扩展包括 ASP.NET、SSI、WebDAV 和 FrontPage Server Extensions。 确保与现有应用程序尽可能兼容的一种方法是启用所有 Web 服务扩展,但这种方法也带来了安全风险,因为增加了 IIS 的攻击面。应该仅启用环境中 IIS 服务器上运行的网站和应用程序所必需的那些 Web 服务扩展。这种方法将使服务器功能最少并减小每个 IIS 服务器的受攻击面。 要尽可能减小 IIS 服务器的受攻击面,请在本指南定义的三种环境中的 IIS 服务器上仅启用必要的 Web 服务扩展。 下表列出了预定义的 Web 服务扩展,并提供了有关何时启用每个扩展的详细信息。 表 9.7 启用 Web 服务扩展
在专用磁盘卷中放置内容IIS 将其默认网站的文件存储在 <systemroot>\inetpub\wwwroot 文件夹中(其中 <systemroot> 是安装 Windows Server 2003 操作系统的驱动器)。 在本指南定义的三种环境中,组成网站和应用程序的所有文件和文件夹放在独立于操作系统的专用磁盘卷上。此方法有助于防止目录遍历攻击,在这种攻击中,攻击者发送请求获取位于 IIS 服务器目录结构之外的文件。 例如,Cmd.exe 文件位于 <systemroot>\System 32 文件夹中。攻击者可能请求访问以下位置: ..\..\Windows\system\cmd.exe 来试图调用命令提示符。 如果网站内容位于一个单独的磁盘卷上,这种类型的目录遍历攻击将无法成功,原因有二。首先,Cmd.exe 文件的权限已经作为 Windows Server 2003 SP1 基础结构的一部分进行了重设,从而将对它的访问限制在很有限的用户群中。其次,Cmd.exe 不再与 Web 根处于同一磁盘卷,而目前没有任何已知的方法可通过使用这种攻击来访问位于不同驱动器上的命令。 除了与安全相关的优点之外,当网站以及应用程序文件和文件夹放在专用磁盘卷上时,备份和还原之类的管理任务将更加轻松。另外,使用单独的专用物理驱动器可以帮助减少系统卷上的磁盘争用并提高总体磁盘访问性能。 设置 NTFS 权限运行 Windows Server 2003 SP1 的计算机将检查 NTFS 文件系统权限,以确定用户或进程对特定文件或文件夹具有的访问权限类型。在本指南定义的三种环境中,您应向特定用户分配 NTFS 权限来允许或拒绝他们访问 IIS 服务器上的网站。 NTFS 权限只影响已经被允许或被拒绝访问网站和应用程序内容的帐户。您应结合 Web 权限使用 NTFS 权限,而不是代替 Web 权限。网站权限影响所有访问网站或应用程序的用户。如果 Web 权限与 NTFS 权限在某个目录或文件上发生冲突,则应用限制性更强的设置。 对于不希望被匿名访问的网站和应用程序,您应该明确拒绝匿名帐户对它们的访问。当没有经过身份验证的凭据的用户访问网络资源时,就发生匿名访问。匿名帐户包括内置 Guest 帐户、Guests 组和 IIS 匿名帐户。另外,请取消 IIS 管理员之外的所有用户的任何写入访问权限。 下表提供了关于 NTFS 权限的一些建议,这些权限将应用于 IIS 服务器上不同的文件类型。不同的文件类型可以被组织在不同的文件夹中,以简化应用 NTFS 权限的过程。 表 9.8 推荐的 NTFS 权限设置
设置 IIS 网站权限IIS 将检查网站权限,以确定在网站中可能发生的操作类型,例如脚本源访问或目录浏览。在本指南定义的三种环境中,您应分配网站权限来为 IIS 服务器上的网站提供附加的安全。 网站权限可与 NTFS 权限结合使用,且可以为特定站点、目录和文件配置。与 NTFS 权限不同,网站权限影响试图访问 IIS 服务器上运行的网站的每个人。可使用 MMC IIS 管理器管理单元应用网站权限。 下表列出了 IIS 6.0 支持的网站权限,并简要说明何时向网站分配任何给定的权限。 表 9.9 IIS 6.0 网站权限
配置 IIS 日志记录在本指南定义的三种环境中,Microsoft 建议在 IIS 服务器上启用 IIS 日志记录。 可以为每个网站或应用程序创建单独的日志。IIS 比 Windows 操作系统提供的事件日志和性能监视功能记录更多信息。IIS 日志可记录谁访问过站点、访客浏览过哪些内容以及最后一次浏览信息的时间之类的信息。IIS 日志可用来评估哪些内容最受欢迎,确定信息瓶颈,或者用作帮助调查攻击的资源。 MMC IIS 管理器管理单元可以用于配置日志文件格式、日志计划以及将记录的确切信息。要限制日志的大小,应仔细规划来确定要记录哪些字段。 当启用 IIS 日志记录时,IIS 使用 W3C 扩展日志文件格式来创建日常活动日志,并存储到在 IIS 管理器中为网站指定的目录中。要提高服务器性能,您应将日志存储在非系统带区或带区/镜像磁盘卷上。 另外,可以使用完整的通用命名约定 (UNC) 路径通过网络将日志写到远程共享中。远程日志记录让管理员能够建立集中的日志文件存储和备份。但是,当通过网络写入日志文件时,服务器性能可能受到负面影响。 IIS 日志记录可以配置为使用其他几种 ASCII 或开放数据库连接 (ODBC) 日志文件格式。ODBC 日志可以将活动信息存储在 SQL 数据库中。但是请注意,当启用 ODBC 日志记录时,IIS 会禁用内核模式缓存,这会降低服务器总体性能。 宿主数百个站点的 IIS 服务器启用集中化的二进制日志记录来提高日志记录性能。集中化的二进制日志记录允许 IIS 服务器上的所有网站将活动信息写入到单个日志文件中。由于这种方法减少需要逐一存储和分析的日志的数量,因此可以显著提高 IIS 日志记录过程的可管理性和可伸缩性。有关集中化的二进制日志记录的详细信息,请参阅 IIS 集中化二进制日志记录页面,网址为 www.microsoft.com/china/technet/prodtechnol/WindowsServer2003 默认情况下,当 IIS 日志存储在 IIS 服务器上时,仅服务器管理员有权访问它们。如果日志文件目录或文件所有者不在 Local Administrators 组中,则 HTTP.sys 文件(IIS 6.0 中的内核模式驱动程序)向 NT 事件日志发布一个错误。该错误指出目录或文件的所有者不在 Local Administrators 组中,且已为该站点挂起了日志记录,直到将所有者添加到 Local Administrators 组中或删除现有目录或日志文件。 在用户权限分配中手动添加唯一的安全组在本指南附带的安全模板中,通过 MSBP 应用的大多数用户权限分配指定了正确的安全组。但是,有几个帐户和安全组不能包含于模板中,因为它们的安全标识符 (SID) 特定于各个 Windows 2003 域。下表中指定了必须手动配置的用户权限分配。 警告:下表包含内置 Administrator 帐户的值。不要将 Administrator 帐户与内置 Administrators 安全组相混淆。如果您将 Administrators 安全组添加到列出的任一拒绝访问用户权限中,则将需要在本地登录以修正错误。 另外,您可能已按照第 4 章“成员服务器基准策略”中的建议重命名了内置 Administrator 帐户。当将 Administrator 帐户添加到任何用户权限中时,请确保指定重命名后的帐户。 表 9.10 手动添加的用户权限分配
重要:“所有非操作系统服务帐户”包括用于企业中特定应用程序的服务帐户,但不包括 LOCAL SYSTEM、LOCAL SERVICE 或 NETWORK SERVICE 帐户(操作系统使用的内置帐户)。 保护众所周知的帐户Windows Server 2003 具备大量的内置用户帐户,这些帐户不能删除,但可以重命名。Windows Server 2003 中的两个最为人熟知的内置帐户为 Guest 和 Administrator。 默认情况下,Guest 帐户在成员服务器和域控制器上被禁用。此配置不可更改。许多恶意代码的变种在初次尝试破坏服务器时使用内置 Administrator 帐户。因此,应重命名内置 Administrator 帐户和更改其描述,以帮助防止尝试使用此知名帐户的攻击者对远程服务器进行破坏。 近几年来,进行上述重命名配置的意义已经大大降低了,因为出现了很多新的攻击工具,这些工具通过指定内置 Administrator 帐户的安全标识符 (SID) 来确定该帐户的真实姓名,从而侵入服务器。SID 是用来唯一标识网络上的每个用户、用户组、计算机帐户和登录会话的值。此内置帐户的 SID 是不可能更改的。不过,如果您使用独特的名称来重命名 Administrator 帐户,您的操作组就可以轻松监视针对该 Administrator 帐户所进行的攻击尝试。 保护 IIS 服务器上众所周知的帐户
保护服务帐户除非不可避免,否则不要将服务配置为在域帐户的安全上下文下运行。如果服务器受到物理破坏,可以通过转储 LSA 机密轻松获取域帐户密码。有关如何保护服务帐户的详细信息,请参阅服务和服务帐户安全规划指南,网址为 www.microsoft.com/technet/security/topics/serversecurity/serviceaccount/default.mspx。 使用 SCW 创建策略要部署必要的安全设置,您必须使用安全配置向导 (SCW) 和本指南的可下载版本附带的安全模板创建服务器策略。 创建您自己的策略时,确保跳过“注册表设置”和“审核策略”部分。这些设置是安全模板针对所选环境提供的。此方法是确保模板提供的策略元素优先于 SCW 配置的元素所必需的。 您应该使用新的操作系统安装开始您的配置工作,这将有助于确保没有来自以前配置的旧设置或软件。如有可能,您使用的硬件应该类似于您在部署中所使用的硬件,以帮助确保尽可能高的兼容性。新安装称为引用计算机。 创建 IIS 服务器策略
使用 SCW 测试策略在您创建和保存策略后,Microsoft 强烈建议您将其部署到测试环境中。理想情况下,测试服务器和生产服务器应具有相同的硬件和软件配置。此方法将允许您找到和修复潜在的问题,例如特定硬件设备需要意料之外的服务。 两个选项都可用于测试该策略。您可以使用本机 SCW 部署工具,或通过 GPO 来部署策略。 开始创作您的策略时,您应当考虑使用本机 SCW 部署工具。使用 SCW 可一次将策略强制到一个服务器,也可以使用 Scwcmd 将策略强制到一组服务器。本机部署方法允许在 SCW 中轻松回滚部署的策略。在进行测试的过程中对策略做出多次更改时,此功能就非常有用。 测试该策略的目的是确保在将此策略应用到目标服务器时不会对其重要的功能造成负面影响。应用配置更改之后,应开始验证计算机的核心功能。例如,如果将服务器配置为证书颁发机构 (CA),请确保客户端可以请求和获取证书、下载证书吊销列表等。 如果对您的策略配置非常有信心,就可以使用以下过程中显示的 Scwcmd 将策略转换为 GPO。 有关如何测试 SCW 策略的详细信息,请参阅 Deployment Guide for the Security Configuration Wizard(网址为 www.microsoft.com/technet/prodtechnol/windowsserver2003/ 转换和部署策略在彻底测试策略之后,请完成以下步骤以便将策略转换为 GPO 并进行部署:
注意,如果 SCW 安全策略文件包含 Windows 防火墙设置,那么为使该过程成功完成,就必须在本地计算机上激活 Windows 防火墙。要验证 Windows 防火墙是否已激活,请打开“控制面板”,然后双击“Windows 防火墙”。 应该立即执行最终的测试以确保 GPO 应用了期望的设置。要完成此过程,请确认是否进行了适当的设置,而且功能未受影响。 总结本章解释了可用于在本指南定义的三种环境中强化运行 Windows Server 2003 SP1 的 IIS 服务器的策略设置。大多数设置是通过旨在补充 MSBP 的组策略对象 (GPO) 应用的。GPO 可链接到包含 IIS 服务器的适当组织单位 (OU) 来提供附加的安全。 论述的许多策略设置无法通过组策略应用。对于这些设置,提供了手动配置详细信息。 更多信息下列链接提供了与强化运行 Windows Server 2003 SP1 的基于 IIS 的 Web 服务器相关的主题的附加信息。
| 本文内容 |