通常单一服务器的访问量过大后(达到一定的瓶颈),将出现假死现象或长时间的延迟,所以适当的限制可以有利于IIS安全稳定的提供服务。本文就可以作为如何提高IIS安全性和稳定性的指南的一部分
带宽限制
IIS 可以控制自己在各个网站或组织中所有网站(全局)上的网络带宽使用情况。如果您的 Web 服务器还用于打印、电子邮件或其他由 IIS 完成的利用网络适配器的服务,全局控制将十分有用。如果您将同一台服务器用作多个网站的宿主,则独立的网站控制将非常有用。这两种控制方法都仅限制 IIS 使用的带宽量,不会影响其他网络服务。
. 在 IIS 5 上配置全局带宽限制
1. 打开 Internet 服务管理器。
2. 展开管理器,右键单击所需的服务器名称。单击“属性”。
3. 单击“Internet 信息服务”选项卡,然后选中“启用带宽限制”。
. 在 IIS 6.0 上配置全局带宽限制
1. 打开 Internet 信息服务 (IIS) 管理器。
2. 展开管理器,右键单击“网站”。单击“属性”。
3. 单击“性能”选项卡,然后选中“限制此服务器上所有 Web 站点的总可用网络带宽”。
. 在 IIS 5 上按站点配置带宽限制
1. 打开 Internet 服务管理器。
2. 展开管理器,右键单击所需的特定网站名称。单击“属性”。
3. 单击“性能”选项卡,然后选中“启用带宽限制”。
. 在 IIS 6.0 上按站点配置带宽限制
1. 打开 Internet 信息服务 (IIS) 管理器。
2. 展开管理器,右键单击所需的特定网站名称。单击“属性”。
3. 单击“性能”选项卡,然后选中“限制网站可以使用的网络带宽”。
按站点控制会替代全局控制。如果在站点级别上配置带宽,则可以忽略按站点的控制。带宽限制仅对静态内容(.htm 文件和图像)有效;如果您使用 IPv6 网络传输,则带宽限制不起作用。带宽限制要求您在所有网络连接上安装 QoS 数据包计划程序服务。在 Windows Server 2003 上,当您在全局或按站点启用带宽控制时,将自动安装该服务,但在 Windows 2000 上,您必须手动安装。
1. 打开“本地连接”属性页。
2. 依次选择“安装”、“服务”、“添加”和“QoS 数据包计划程序”。
3. 接受默认设置 1024 KB/秒。
如果您运行多个站点,并且不希望限制其中一个站点的带宽,则需要根据全局限制设置进行相应操作。如果全局限制处于关闭状态,则为所选网站清除“带宽限制”复选框即可允许该站点拥有无限制的带宽。如果全局限制处于打开状态,请将对所选网站的限制保留为启用状态,然后指定一个较高的值用作该站点的最大带宽(可以指定的最高值为 32,767 KB/秒)。
如果用户开始持续看到“HTTP 500 内部服务器错误”消息,则表示您配置的设置可能过低。
进程限制
您还可以控制单个网站能够使用的中央处理单元 (CPU) 资源量。上文介绍的带宽控制仅对静态内容有效,而 CPU 进程控制主要针对动态内容(CGI 应用程序是一个例外,进程控制对这类应用程序不起作用)。
使用 IIS 5 时的进程限制
IIS 5 上的进程限制在网站“属性”页的“性能”选项卡上进行配置。若要启用进程限制,请以百分比形式指定 CPU 限制,然后选择“强制性限制”以强制关闭 CPU 占用率过高的应用程序。
. 在 IIS 5 上启用进程限制
1. 打开 Internet 服务管理器。
2. 展开管理器,右键单击所需的特定网站名称。单击“属性”。
3. 单击“性能”选项卡,然后选中“启用进程限制”。
使用 IIS 6.0 时的进程控制
对于以工作进程隔离模式运行的 IIS 6,可以使用网站所属应用程序池的属性页的“性能”选项卡来配置其进程控制。(您也可以针对所有应用程序池以全局方式配置此设置,但是各应用程序池的设置会替代全局设置。)若要打开应用程序池的进程控制,请选中“启用 CPU 监视”复选框。这将跟踪应用程序池对应的工作进程的 CPU 使用率。若要监视 CPU 使用率,请配置最大使用率(百分比)和刷新间隔(分钟)。超过最大值时,将发生以下两种情形之一:向事件日志写入事件(无操作);或写入事件并关闭工作进程。
. 在 IIS 6.0 上配置 CPU 监视
1. 打开 Internet 信息服务 (IIS) 管理器 (IIS 6.0)。
2. 展开管理器,右键单击所需的特定“应用程序池”,单击“属性”。
3. 单击“性能”选项卡,然后选中“启用 CPU 监视”。
限制连接
您还可以控制能够连接到每个网站的 HTTP 客户端数量。相关设置包括限制最大连接数(默认为不限制)、指定用于断开空闲客户端连接的超时间隔(默认为 120 秒),以及使用“保持 HTTP 连接”将多个 HTTP 请求的 TCP 连接保持为连接状态(默认为启用)。
连接限制可以阻止 IIS 控制所有连接,还可以阻止客户端访问服务器上的其他服务。
作为安全性方面的最低要求,请将连接超时值从“无限制”更改为默认值 1000(IIS 建议值)。使用“无限制”作为超时值将增加服务器受到拒绝服务 (DoS) 攻击的危险性。此外,请将“保持 HTTP 连接”保留为打开状态,因为高于 IE 4.01 的所有浏览器都支持该设置。 11-10
第 11 章 Microsoft CRM 安全
. 在 IIS 5 上按站点配置带宽限制
1. 打开 Internet 服务管理器。
2. 展开管理器,右键单击所需的特定网站名称。单击“属性”。
3. 单击“性能”选项卡,在“连接”框中选择“限制为:”,然后选择一个值。
. 在 IIS 6.0 上按站点配置带宽限制
1. 打开 Internet 信息服务 (IIS) 管理器。
2. 展开管理器,右键单击所需的特定网站名称。单击“属性”。
3. 单击“性能”选项卡,选择“连接限制为:”,然后选择一个值。
其他服务器安全建议
● 在 machine.config 和 web.config 中,您可以确定是否启用了调试,以及是否向客户端发送详细错误消息。您应确保在所有生产服务器上禁用调试,并且在出现问题时,向客户端发送的是常规错误消息。这可以避免向客户端发送有关 Web 服务器配置的非必要信息。
● 确保 IIS 主目录是安装在非系统 NTFS 分区上的,以获得文件系统级别的安全性。非系统分区是指未包含操作系统文件的分区。(例如,通常情况下,C:Inetpub 是系统分区,而 D:Inetpub 却不是。)
● 确保应用最新的操作系统和 IIS Service Pack 及更新程序。有关最新的详细信息,请访问 Microsoft 安全性与隐私保护 (http://go.microsoft.com/fwlink/?LinkId=52245)。
● 在 Windows Server 2003 和 IIS 6.0 上,Microsoft CRM 服务器程序会创建称为“CRMAppPool”的应用程序池,该池以安装过程中指定的用户凭据运行。我们建议不要在该应用程序池下安装任何其他 ASP.NET 应用程序。对于 IIS 5.0 和以 IIS 5.0 隔离模式运行的 IIS 6.0,我们建议 Microsoft CRM 网站应是以 IIS 为宿主的唯一网站。
您可以使用 IISADMPWD 虚拟目录来重置 Windows NT.、Windows 2000 和 Windows Server 2003 密码。该目录主要用于 Intranet 情形,不会随 IIS 5.0 和 IIS 6.0 一起安装,但当 IIS 4.0 升级到 IIS 5.0 或 IIS 6.0 时,也不会将其移除。如果您不使用 Intranet 或者将服务器连接到 Web,则应将其移除。有关详细信息,请参阅 Microsoft 知识库文