ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Internet Information Services 5.0 技术概述(转)

Internet Information Services 5.0 技术概述(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-01-25 16:36:05 0 删除 编辑
Internet Information Services 5.0 技术概述
操作系统
白皮书
摘要

本白皮书为信息技术专业人员,提供随 Microsoft Windows 2000 提供的 Internet Information Services 5.0 的新功能的技术概述。这些新功能包括可靠性和性能改进,如“可靠重新启动”、“应用程序保护”以及支持群集技术等。另外,本白皮书还包括对安全问题的深入讨论,并介绍 IIS 5.0 支持的新安全协议,包括传输层安全和摘要式身份验证。对于使用 Internet 共享信息的人员,白皮书中还介绍了 Web 分布式制作和版本控制 (WebDAV)。应用程序开发人员将从本书中找到有关对 Active Server Page (ASP) 的改进的若干说明。

引言

由于 Internet 越来越深入地渗透到众多主流业务之中,所以让 Web 服务与主流业务的计算系统相融合的需求也越来越迫切。为了满足这种需求,Microsoft® Windows® 2000 Server 中包括了 Internet Information Services (IIS) 的更新版,称为 IIS 5.0。如图 1 所示,Internet Information Services 在 Windows 2000 中作为一个企业服务运行。它使用 Windows 2000 提供的其它服务,如安全服务和 Active Directory™ 目录服务。

此版本改进了 Web 服务器的可靠性、性能、管理、安全性和应用程序服务。大部分改进都是通过 IIS 5.0 集成 Windows 2000 提供的新操作系统功能的方式来获得的。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 1 Windows 2000 Server 服务

在 IIS 4.0 中,Microsoft 将重点放在安全性、管理、可编程性以及对 Internet 标准的支持上。在越来越以 Internet 为中心的业务环境中,建立 Web 站点需要的功能和能力才是 IIS 5.0 的构建基础。同时,IIS 5.0 还可以更容易地使用以前版本中提供的技术。具体地说,IIS 5.0 的功能改进主要体现在以下四个方面:

可靠性和性能。有很多功能使得 IIS 可以更好、更可靠地执行。为了更快速更方便地重新启动 IIS,IIS 5.0 的可靠重新启动功能,可以使管理员不必重新启动计算机即可重新启动 Web 服务。为改进可靠性,“应用程序保护”功能提供一种可以在与 Web 服务分开的池中运行应用程序的能力。IIS 5.0 中的新“CPU 限制”和“套接字共用”功能也能够改进可靠性。对于应用程序开发人员来说,Web 站点的性能可以通过某些新功能来改进,如无脚本 Microsoft Active Server Pages (ASP) 处理、ASP 自调以及性能增强的 ASP 对象。

管理。 IIS 5.0 易于安装和维护。其中的许多功能都支持这种不断增加的易维护要求,包括简化的安装过程、新安全任务向导、解释各进程使用的时间的能力、以及灵活的远程管理等。

安全。IIS 5.0 增加了对重要行业标准安全协议的支持,包括摘要式身份验证、Server Gated Cryptography、Kerberos v5 身份验证协议、传输层安全和 Fortezza。另外,其中的三个新任务向导,使得管理员可以更方便地管理站点的安全设置。

应用程序环境。开发人员将会发现,因为 IIS 5.0 建立在 Windows 2000 Server 的新技术的基础上,从而扩展了 Web 服务器的应用程序开发环境。这些新技术包括 Active Directory 以及扩展的组件对象模型 (COM+)。另外,还有对 IIS Active Server Pages 的增强,如无脚本 ASP 处理,以及改进的流控制和错误处理,让开发人员编写更有效的以 Web 为中心的应用程序。

本白皮书提供 IIS 5.0 中的主要功能和能力的技术概述,以使信息技术和业务专业人员,评估 IIS 5.0 采用何种方式能够适应其业务计算系统环境。

可靠性和性能

IIS 5.0 性能更好并且更为可靠的原因有许多。从内部说,IIS 5.0 引擎的速度通过编码的改进得到提高。新的“可靠重新启动”功能使系统管理员可以更快速地重新启动服务器。除这些固有功能之外,此版本还引入了一些可以改进 Web 站点的速度和可靠性的新性能。

IIS 5.0 中一个更有意义的可靠性改进是,通过对共用进程外应用程序的支持,增加了应用程序保护功能。一般说来,进程中应用程序运行的速度越快,可靠性就会越低。不过,运行共用进程外应用程序,比运行独立进程外应用程序的速度更快。IIS 4.0 仅支持独立进程外应用程序。

为更好地控制资源消耗,新的限制功能(基于 Windows 2000 新的“作业对象”功能),使得管理员更容易地分配进程可使用的 CPU 带宽量,以及站点可使用的网络带宽量。另外,新的“套接字共用”功能使得共享一个端口的多个站点也可以共享一组套接字。有了 Windows 2000 Advanced Server,通过使用群集和复制功能,可以进一步改善站点的可靠性。

应用程序保护

基于 Windows 的操作系统在被称为进程 的内存区中运行服务和应用程序。在 IIS 5.0 中,应用程序保护是指应用程序在其中运行的操作系统进程。在 IIS 早期版本中,所有 Internet Server API (ISAPI) 应用程序(包括 ASP 技术)都共享服务器进程的资源和内存。虽然这样可使性能更快,但不稳定组件可能会使服务器出现故障,使得开发、调试新组件变得更困难。另外,除非重新启动服务器,否则不能卸载进程内的组件 - 这意味着修改现有组件,将会影响共享同一服务器的所有站点,不管是直接还是间接受到升级影响。

IIS 4.0 允许应用程序可以在 Web 服务 (Inetinfo.exe) 所在的相同进程内运行,或者在与 Web 服务 (MTX.EXE ) 分开的进程内运行。在 IIS 5.0 中,还有第三种选择:应用程序可以在与 Web 服务分开的共用进程中运行。这三种选择提供了多种级别的保护,每一种保护级别都对性能产生影响。与 Web 服务分开程度越高,导致性能越低。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 2 应用程序保护

默认情况下,Web 服务 (Inetinfo.exe) 将在它自己的进程中运行,而其它应用程序将在单个、共用进程 (DLLHost.exe) 中运行。如果池中的一个应用程序发生故障,会使池中的所有应用程序都停止运行,但 Web 服务器仍然运行。为保护基本的应用程序,可以设置高优先级的应用程序作为独立进程运行(使用 DLLHost.exe 的另一个实例)。

至于性能,在 Web 服务进程 (inetinfo.exe) 中运行的应用程序运行速度更快,但要冒更大的风险,既出现意外情况的应用程序会使 Web 服务不可用。建议的配置是,在 inetinfo.exe 自己的进程中运行 inetinfo.exe,在关键应用程序各自的进程中运行关键应用程序,在共享的、共用的进程中运行其余的应用程序,如上面的图 2 所示。(注意:因为对性能的影响,不能运行 10 个以上的独立应用程序。)

如果决定作为独立进程运行应用程序,或者决定在单个共用的进程中与其它应用程序一起运行,需要从主目录或虚拟目录属性页的应用程序保护下拉列表中,选择高(独立的)或中(共用的)。

注意 应用程序保护只能在应用程序的起始点目录上设置。可以在“组件服务”管理工具中为组件设置进程选项。

可靠的 IIS 重新启动

如果系统发生故障,最重要的是能够尽快地备份 IIS 并使其恢复运行。过去,若要重新启动 IIS,重新启动系统是一种可接受的方法,但不是最佳选择。为可靠地重新启动 IIS,管理员需要在每次停止后启动四个独立服务,并要求管理员具有一定的专业知识,如掌握 Net 命令的语法。为避免发生这种情况,Windows 2000 中包括了 IIS Reliable Restart,这是一个更快速、更容易、更灵活的一步重新启动进程。

管理员只须用鼠标右键单击 Microsoft 管理控制台 (MMC) 上的某一项,或使用命令行应用程序,就可以重新启动 IIS。为更加灵活,命令行应用程序也可以通过其它 Microsoft 和第三方工具(如 HTTP-Mon 和 Windows 2000 任务计划程序)来执行。如果 INETINFO 进程意外终止,IIS 将使用 Windows 2000 服务控制管理器的功能,自动重新启动 IIS 服务。

套接字共用

IIS 5.0 改善性能的另一个方面,是添加了优化对 Web 站点访问的能力。套接字是网络上某个特殊节点的标识符。套接字由节点地址和识别服务的端口号组成。例如,Internet 节点上的端口 80 代表 Web 服务器。

在 IIS4 中,可以将不同的 Web 站点绑定到不同的 IP 地址。各个站点不共享套接字,但唯一 IP 地址上的每个站点有若干个套接字。这些套接字是在站点启动时创建的,它们占用大量的非分页内存 (RAM)。这种内存占用限制了绑定到可以在单台计算机上创建的 IP 地址的站点数。

对于 IIS 5.0,此进程已经得到修改,这样,绑定到不同的 IP 地址但共享同一端口号的若干个站点,可共享同一组套接字。最终结果是,与 IIS 4.0 相比,可以将更多的站点绑定到同一计算机上的某个 IP 地址。在 IIS 5.0 中,这些共享套接字,可以在所有已经启动的站点中灵活地使用,这样就减少了资源占用。

为减少内存使用并提高性能,默认情况下,对所有使用同一端口,但具有不同 IP 地址的站点已经启用套接字共用。通常,这种行为不应修改;但是,如果关键站点与其它不那么重要的站点共享其端口,则可以对关键站点禁用套接字共用。如果要进行更改,只能在站点级更改,以便其它站点可以继续利用套接字共用功能。

多站点宿主

Windows 2000 Server 支持在一台服务器上装载多个 Web 站点的能力。如果某个公司要对不同的部门装载不同的站点,或者 ISP 对不同的客户装载多个站点,这可以节省该公司花费的时间和金钱。

在一台服务器上装载多个站点的关键,是在它们之间进行区别的能力。进行这种区别有若干种方法,每种方法都要使用 Web 站点标识。每个 Web 站点都有一个由三部分组成的唯一标识,用于接收并响应请求:端口号、Internet 协议 (IP) 地址以及主机头名。有了 IIS 5.0,各个公司可以使用三种技术在一台服务器装载多个 Web 站点,即,分配不同的端口、不同的 IP 地址或者不同的主机头名。

端口号。通过使用附加的端口号,只需一个 IP 地址就可以装载许多的站点。为了让客户端访问到您的站点,客户端需要在静态 IP 地址的末端附加端口号(默认 Web 站点除外,它使用端口 80)。因而,如果主站点地址是 http://172.28.114.10:80,通过使用附加的端口号可以创建更多的站点,如:http://172.28.114.10:1050。这种方法有一个缺点:使用这种方法装载多个站点时,要求客户端输入实际的数字 IP 地址、DNS 名称、或计算机名,后跟端口号。

多个 IP 地址。作为多个端口号的替代方法,可以在一台计算机上装载多个 IP 地址。通过将多个 IP 地址绑定到一个网卡,或者通过为每个 IP 地址添加另一个网卡,即可做到这一点。要想使用多个 IP 地址,如果计划通过 DNS 名称访问站点,还必须将主机名及其对应的 IP 地址,添加到名称解析系统。IIS 将接受只有该 IP 地址的传入请求。只有将主机头用做您的唯一 ID 时,才需要使用完全合格域名称。那时,客户端仅需要在浏览器中输入文本名称,就可访问您的 Web 站点。
注意 如果使用这种方法在 Internet 上装载多个站点,则需要通过 InterNIC 注册文本名称。

主机头名称。为装载多个站点,可以在单个静态 IP 地址上使用不同的主机头名称。通过对主机头的支持,一个单位可仅使用一个 IP 地址和一个端口(如:http://172.28.114.10),就可以在运行 Microsoft Windows 2000 Server 的一台计算机上装载多个 Web 站点。这让 ISP 和公司内部网(Intranet),在一台服务器上装载多个 Web 站点,同时又可为每个站点提供独立的用户域。与前一种方法一样,需要将主机名添加到您的名称解析系统中。不同之处是,一旦某个请求到达计算机,IIS 5.0 将使用在 HTTP 头中传递的主机名,来确定客户端请求的站点。如果使用此方法在 Internet 上装载多个站点,另外还需要通过 InterNIC 注册 DNS 名称。
注意 当使用安全套接字层 (SSL) 时不能使用主机头,因为使用 SSL 时的 HTTP 请求是加密的。主机头是加密请求的一部分,不能解译,也不能发送到正确的站点。另外,要知道旧版本的浏览器不能够将主机头名称传递回 IIS。Microsoft® Internet Explorer 3.0、Netscape Navigator 2.0,以及这两个浏览器的更高版本,都支持使用主机头名称;但这两个浏览器的早期版本却不支持。使用旧版本浏览器的访问者,只能访问 IP 地址的默认 Web 站点,要访问正确的站点,还需要其它的支持。
群集

改进 Web 站点的可靠性和可用性的一种方法,是将多台计算机连接在一起。这样做可以达到两个目的。首先,第二台计算机充当备份计算机,当其它计算机发生故障时,随时承担负载。其次,相互连接的计算机也可以共享工作负载。将计算机连接在一起完成这样的任务就叫做群集。

在 Microsoft® Windows® 2000 Advanced Server 中,群集功能可以通过群集软件连接多个服务器,以便使多个服务器作为一台计算机出现在 Web 站点的用户面前。这种连接可使用户使用独立服务器节点不能提供的功能,如故障转移(承担发生故障的服务器的工作),负载平衡(在多台服务器间分配负载)。使用服务器群集可以提高站点的容错能力,因为如果有一个服务器节点停止工作,另一个服务器节点可以立即承担请求负载,对用户而言只产生最小的中断。另外,服务器群集还可以共享包含重要信息(如数据库)的群集磁盘。

通过在两台或多台服务器之间分配请求负载,以便不会有服务器节点过载或未被充分利用,负载平衡可使这些服务器支持更大的活动量。

Windows 群集服务提供两种群集技术与 IIS 一起使用:“网络负载平衡”群集和服务器群集。“网络负载平衡”群集最多可提供 32 台服务器的高可扩展性和高可用性。服务器群集通过两个连接的服务器的故障转移群集,提高可用性。根据需要以及可用资源的情况,可以在多节点“网络负载平衡”群集(提供高可扩展性和高可用性)中,或者在两节点服务器群集(仅提供高可用性)中安装 IIS。

服务器群集通过手动或编程方式,将 Web 或 FTP 站点分配到某个特定的首选服务器节点,来提供静态负载平衡。“网络负载平衡”群集则通过在多个服务器节点中分配客户端连接来提供负载平衡。通常,配置群集是为了达到负载平衡和容错。

图 3 群集服务

群集功能能够在发生故障时将进程从一台服务器转移到另一台服务器,并在服务器之间平衡负载,从而提高系统可靠性。以上图表显示了基本的服务器群集配置。每个服务器节点都有一个可以包含该节点特定信息的本地盘。两个节点共享硬盘上的资源,虽然一次只能有一个节点可以访问该硬盘上的资源。可以将这些节点配置为使用专门用于群集通信的专用相互连接,或者让所有网络通信(包括客户端和内部群集通信)在同一网络连接上发生。当部署在服务器群集中时,这种配置(没有专用相互连接)对于在 IIS 中的所有复制和群集功能是必不可少的。群集结构使得负载平衡和故障转移成为可能。

复制

当使用群集服务器时,可以将一台服务器上的内容复制到另一台计算机中。复制是指将内容和配置设置从一台服务器拷贝到其它服务器,以便所有的服务器可以向用户提供相同的资源。需要复制所有的群集的配置设置,不管它们是否共享内容。对于共享数据存储设备,如磁盘驱动器的群集,不需要复制内容。许多群集应用程序既支持内容复制,也支持配置设置复制。IIS 5.0 提供了一个可以将配置设置,从一台计算机复制到任何数量的其它计算机的工具。

Internet Information Services (IIS) 可与 Windows 2000 Advanced Server 的“群集”服务功能集成在一起。IIS 提供了命令行工具 (Iissync.exe)。该工具是为了将 IIS metabase 和其它配置设置(如应用程序)从一个服务器节点复制到其它节点。该工具用于在群集节点之间进行复制。当用于创建独立服务器时,不受支持。(IIS metabase 是存储 IIS 配置设置的一种分层结构。它是在 IIS 4.0 中引入的,目的是为了提供更便捷的管理,需要的磁盘空间比注册表少。)此工具提供手工方法复制这些设置。

对于既需要复制内容,也需要复制设置的情况,可以使用 Content Deployment 服务(以前称为 Content Replication System 或 CRS)在 Web 群集中的计算机之间进行复制。Content Deployment 是 Microsoft® Site Server 的功能。

限制

进程限制

如果在一台计算机上运行多个 Web 站点,且这些基本上使用 HTML 页,或者在 Web 服务器所在的同一台计算机上还运行其它应用程序,则可以限制允许 Web 站点应用程序使用处理器的时间。这样有助于确保其它 Web 站点或非 Web 应用程序有处理器时间可以使用。

IIS 5.0 中有一个可控制处理器时间的新功能叫做“进程限制”。(有时也叫做进程限定、CPU 限定或作业对象限定。)“进程限制”功能让服务器管理员对进程外应用程序使用 CPU 进行限制。进程外应用程序是指在与核心 IIS 进程分开的内存空间中运行的应用程序 - 这样,如果某个应用程序停止响应或不可用,不会让 Web 服务器停止对请求进行应答。

每 Web 站点带宽限制

如果您的 Web 服务器使用的网络或 Internet 连接,也被其它服务(如电子邮件或新闻)使用,则可以限制您的 Web 服务器使用的带宽,以便为其它服务释放带宽。IIS 5.0 中被称做“每 Web 站点带宽限制”的新功能,让管理员通过限制可用于该网卡的带宽,控制每个站点使用的服务器带宽量。例如,这使得 ISP 可以保证向每个站点提供预设的带宽量。如“处理器限制”的情况一样,此设置仅影响静态 HTML 文件,对动态 ASP 文件或任何其它类型的动态内容没有影响。

注意 如果使用在默认情况下启用的套接字共用(如上所述),那么限制一个站点上的带宽也会对共享该端口号的所有其它站点产生限制。

管理

虽然 IIS 4.0 引入大量的新技术,但 IIS 5.0 的核心设计目标,是使得 Web 服务器更易于管理人员使用。例如,有些管理员觉得 IIS 4.0 不易安装。所以,IIS 5.0 的安装进程被内置到 Windows 2000 Server 安装程序中。同时,为了更方便地配置安全设置,还包括三个新安全向导。另外,此版本中还包括经过改进的命令行管理脚本以及其它内置式管理脚本。

集成的安装程序和升级程序

IIS 5.0 的安装进程与 Windows 2000 Server 安装程序是集成在一起的,默认情况下,IIS 5.0 作为 Windows 2000 Server 的网络服务来安装。安装向导帮助您安装 IIS 5.0 的新副本,或升级旧版本。

当安装 Windows 2000 Server 时,IIS 创建默认的 Web 站点和 FTP 站点。使用“控制面板”中的“添加/删除程序”应用程序,可以添加或删除 IIS 或选择其它组件。

如果将 Windows 95 或 Windows 98 操作系统升级到 Windows 2000,IIS 5.0 在 Windows 2000 的所有版本中都可用。IIS 5.0 将升级在 Windows 95、Windows 98、Windows NT Server 3.51、Windows NT Server 4.0 和 Windows NT Workstation 4.0 上运行的现有 Web 站点。拥有任何 Windows NT Server 3.51 或 4.0 现有版本的客户,将自动升级到 Windows 2000 Server 中的新 Web 服务,并可以利用 Windows 2000 Server 和 IIS 的新功能和新服务。

集中化的管理

IIS 5.0 是使用通过“Internet 信息服务”Microsoft 管理控制台 (MMC) 管理单元进行管理。IIS 5.0 的这个管理工具与 Windows 2000 的其它管理功能集成在一起。(在以前的版本中,此工具被称做“Internet 服务管理器”。)若要访问“Internet 信息服务”管理单元,可以单击管理工具,单击计算机管理,然后在服务器应用程序和服务下选择它。基于浏览器的管理工具“Internet 服务管理器”,在“管理工具”程序组中不再提供,但它仍然可让您通过 HTTP 连接,远程管理 IIS。另外,可以利用 IIS 管理单元,使用“终端服务”,来远程管理 IIS。

远程管理

IIS 5.0 具有基于 Web 的管理工具,借助于该工具,可通过任何平台的任何浏览器对服务器进行远程管理。正如本地管理一样,远程管理 IIS 5.0 有两种界面选择:基于浏览器和通过 MMC 管理单元。(若要远程使用 MMC 管理单元,需要在远程客户端安装 Windows 2000。还需要开放式 Internet 防火墙)。基于浏览器的 Internet 服务管理器 (HTMLA),可让您通过 Internet 或通过代理服务器远程管理某些 IIS 功能。除了这两种选择外,还可以使用“终端服务”访问 MMC 或 HTMLA 管理工具。这种方法要求在服务器上安装“终端服务”,同时还要求客户端允许远程访问。

委派管理

为帮助分配管理任务的工作量,借助于 IIS 5.0,管理员可以设置被称为 Web 站点操作员的管理帐户,该帐户在 Web 站点上具有有限的管理特权。例如,装载若干不同公司的若干站点的 ISP,可以在每个公司中指定代表,作为每个公司 Web 站点的操作员。操作员可以管理仅影响其各自站点的属性。他们不能访问影响 IIS、IIS 所在的 Windows 服务器计算机,或网络的属性。这让在一台服务器上装载多个 Web 站点的 IT 或 ISP 管理员,在不放弃整个管理控制的情况下,委派日常的管理任务。

进程帐号

进程帐号(有时叫做 CPU 使用量日志、CPU 帐号或作业对象帐号)是 IIS 5.0 中的新功能,该功能可让管理员监视并记录 Web 站点使用服务器的 CPU 资源的情况。ISP 可以使用此信息,确定哪些站点使用过多的 CPU 资源,或者哪些站点可能具有出现错误的脚本或通用网关接口 (CGI) 进程。IT 管理人员可以使用此信息,将装载 Web 站点和/或应用程序的成本,记入公司内相应部门的帐内。

进程帐号以每个服务器为基础启用,并以每个 Web 站点为基础记录信息,但不提供关于单个应用程序或 CGI 应用程序的 CPU 使用量的详细信息。“进程帐号”功能只能记录进程外应用程序(即,不与 Web 服务器共享进程的那些应用程序)的信息。进程帐号只能用于 Web 站点,不能用于 FTP 站点。

进程帐号向 W3C 扩充日志文件中添加了一些字段。只有当选择了 W3C 扩充日志文件格式时,才记录这些字段。在文件中进程帐号信息还穿插有其它的记录信息。管理员可以使用从进程帐号中获得的信息,确定是否应对 Web 站点启用进程限制(如上所述)。

改进的命令行管理脚本

IIS 5.0 还提供可以从命令行执行的脚本,使公共 Web 服务器任务的管理自动进行。管理脚本使大部分公共管理任务自动进行。可以使用它们创建并控制 Web 站点、应用程序、目录等等。管理员也可以创建自定义脚本,使 IIS 管理自动进行。

用 Microsoft Visual Basic® Scripting Edition (VBScript) 编写的“管理脚本”,要与 Cscript.exe 命令行脚本工具一起使用,而如果 Cscript 注册为运行 .vbs 文件,则工作性能最好。可以使用默认情况下安装到 Inetpubadminscripts 目录的 Microsoft VBScript 文件,运行“管理脚本”。为了提高性能,还可以使用 adsutil.vbs 的可执行版本(adsutil.exe,默认情况下也安装到目录 Inetpubadminscripts)。此版本使用的参数与 adsutil.vbs 一样。Adsutil.exe 是一个示例文件,演示如何在 C/C++ 中使用 Active Directory Service Interfaces (ADSI) 处理 metabase。(Adsutil.exe 能读取文件中的命令,而 adsutil.vbs 却不能。)

备份和恢复 IIS

IIS MMC 管理单元包括可以备份 IIS 配置的选项,这样可以保存 IIS 5.0 metabase 设置,以方便返回安全的已知状态。

使用此方法可以备份并恢复 Web 服务器配置,但不能备份并恢复内容文件或保留在注册表中的那些设置。如果重新安装 IIS,则此方法将不能使用,而且得到的备份文件,也不能用于恢复运行 Windows 2000 的其它计算机上的 IIS 配置。使用基于浏览器的 Internet 服务管理器 (HTML),可以备份 IIS,但是,必须使用 IIS 管理单元来恢复配置。

自定义错误消息

当用户尝试连接到 Web 站点,并发生 HTTP 错误时,会有一条一般错误消息发送到客户端浏览器,简要说明在尝试建立连接时发生的问题。使用 IIS 5.0,可以将更多的信息式错误消息,发送到在站点上遇到 ASP 或 HTML 错误的客户端。可以使用 IIS 5.0 为您提供的或自己创建的自定义错误消息。

所有 IIS 5.0 自定义错误消息都显示行业标准 HTTP 代码,这样可以保证与 HTTP 1.1 的错误消息一致。例如,如果用户试图连接一个已经达到最大连接容量的 Web 站点,将会返回一个 HTML 页格式的 HTTP 错误,其中包含说明“Too many users”。

可以使用 IIS 中的“自定义错误”属性页,自定义以下一般 HTTP 错误: 错误码
错误消息

400

Bad request(错误请求)


401.1

Logon failed(登录失败)


401.2

Logon failed due to server configuration(由于服务器配置,登录失败)


401.3

Unauthorized due to ACL on resource(由于资源上的 ACL,未授权)


401.4

Authorization failed by filter(由于筛选器,授权失败)


401.5

Authorization failed by ISAPI/CGI application (由于 ISAPI/CGI 应用程序,授权失败)


403.1

Execute access forbidden(执行访问被禁止)


403.2

Read access forbidden(读取访问被禁止)


403.3

Write access forbidden(写入访问被禁止)


403.4

SSL required(要求 SSL )


403.5

SSL 128 required(要求 SSL 128)


403.6

IP address rejected (IP 地址被拒绝)


403.7

Client certificate required(要求客户证书)


403.8

Site access denied(站点访问被拒绝)


403.9

Too many users(用户太多)


403.10

Invalid configuration(无效的配置)


403.11

Password change(密码更改)


403.12

Mapper denied access(映射程序拒绝访问)


403.13

Client certificate revoked(客户证书被取消)


403.14

Directory listing denied(目录列表被拒绝)


403.15

Client Access Licenses exceeded(超出客户访问许可证)


403.16

Client certificate untrusted or invalid(客户证书不受信任或无效)


403.17

Client certificate has expired or is not yet valid(客户证书已过期或无效)


404

Not found(没有找到)


404.1

Site not found(站点没有找到)


405

Method not allowed(不允许使用该方法)


406

Not acceptable(不接受)


407

Proxy authentication required(要求代理身份验证)


412

Precondition Failed(前提条件不正确)


414

Request-URL too long(请求的 URL 太长)


500

Internal server error(内部服务器错误)


500.12

Application restarting(应用程序重新启动)


500.13

Server too busy(服务器太忙)


500.15

Requests for Global.asa not allowed(不允许请求 Global.asa)


500-100.asp

ASP 错误


501

Not implemented(没有实施)


502

Bad gateway(错误网关)


支持 FrontPage Server Extension

Windows 2000 Server 让管理员使用 Microsoft FrontPage® Web 创作和管理功能,来部署并管理 Web 站点。通过 FrontPage Server Extensions,管理员可以采用图形界面查看并管理 Web 站点。另外,作者可以创建、编辑 Web 页并远程向 IIS 张贴。Microsoft FrontPage MMC 管理单元是可以用来管理 FrontPage Server Extensions 和 FrontPage-extended Web 站点的程序。

文件系统

Web 分布式制作和版本控制 (WebDAV)

Web 是用于发布文档的巨大媒介,但直到目前为止,它还不能方便地让用户通过 Internet 合作编写文档。这是因为,虽然读取存储在 Web 站点上的文档很容易,但用户对文档进行修改却不容易。如果有这种能力,可以使 Intranet(内部网)的作用变得更大。

为满足这种需要,IIS 5.0 完全支持 Web 分布式制作和版本控制 (WebDAV)。这是 HTTP 1.1 标准的扩充,用于通过 HTTP 连接显示所有存储媒介(如文件系统)。

通过在 Web 服务器上设置 WebDAV 目录,可以让用户通过 Internet 或 Intranet 共享文档。IIS 5.0 中的 WebDAV 利用了 Windows 2000 提供的安全和文件访问功能,所以,您可以锁定资源,也可以解除对资源的锁定,以让多人读取该文件,同时一次仅有一个人可以修改文件。

借助于 IIS 5.0 中的 WebDAV,可以允许远程作者移动、搜索、编辑或删除您的服务器上的文件和目录 - 及其属性。使用 Web 服务器权限设置,对 WebDAV 进行配置。

WebDAV 处理诸如文件访问权限、脱机编辑、文件完整性以及当争着对某个文档进行多个修改时的冲突解决等问题。因为 WebDAV 已经内置到 IIS 5.0 中,所以它可以让您进行以下操作:

在服务器的 WebDAV 发布目录下的操纵资源。 例如,使用此功能,具有适当权限的用户可以在 WebDAV 目录下复制并移动文件。

修改与某些资源相关的属性。例如,可以编写并检索文件的属性信息。

锁定资源并解锁资源,以便有多个用户可以同时读取文件,但某一时刻只能有一个人可以修改该文件。

在 WebDAV 目录下搜索文件的内容和属性。一旦连接到 WebDAV 目录,可以快速搜索该目录上文件的内容以及属性。例如,可以搜索包含单词 table 的所有文件,或者搜索由 Fred 编写的所有文件。
在服务器上设置 WebDAV 发布目录,与通过 IIS 管理单元设置虚拟目录一样简单。一旦设置了发布目录,具有适当权限的用户就可以向服务器发布文档,并操纵目录中文件。(必须先安装 Windows 2000 Professional、Windows 2000 Server 或 Windows 2000 Advanced Server,才可以设置 WebDAV 目录。)


如果您的浏览器不支持内嵌框,请单击此处,在单独的页中查看。

图 4 使用 WebDAV 共享文档

在客户端,通过下表说明的其中一种 Microsoft 产品,或者通过支持 WebDAV 行业标准协议的任何客户端,可以访问 WebDAV 发布目录。

Windows 2000 通过添加网上邻居向导,连接到 WebDAV 服务器,并显示 WebDAV 目录的内容,好象它是本地计算机上同一文件系统的一部分。一旦连接好了,就可以拖放文件,检索、修改文件属性,并执行其它的文件系统任务。

如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 5 用户可以在 Windows 2000 中使用“添加网上邻居”向导设置到 WebDAV 目录的连接。


Microsoft Internet Explorer 5 连接到 WebDAV 目录,让您执行文件系统任务,与通过 Windows 2000 执行的一样。

Microsoft Office 2000 通过 Office 2000 中的任何应用程序,创建、发布、编辑文档,并将文档直接保存到 WebDAV 目录。
WebDAV 利用 Windows 2000 和 IIS 5.0 两者提供的安全功能。这些功能包括 IIS 管理单元中指定的 IIS 权限,以及 NT 文件系统 (NTFS) 中的自由访问控制列表 (DACL)。

因为有适当权限的客户端可以写入 WebDAV 目录,所以能控制在任何时候能访问目录的人员是非常重要的。为帮助控制访问,IIS 5.0 通过内置对 Kerberos 版本 5 身份验证协议的支持,加强了集成式 Windows 身份验证。通过选择集成式 Windows 身份验证,可以确保只有具有权限的客户端,才可以访问并写入您的 Intranet 上的 WebDAV 目录。另外,IIS 5.0 引入了一种新的身份验证类型,叫做“摘要式身份验证”。这种身份验证类型是为 Windows 域服务器创建的,它对密码和通过 Internet 传送信息提供了更可靠的安全保证。(有关身份验证的详细信息,请参见本白皮书中“安全”一节。)

Web 文件夹

到使用 WebDAV(如上所述)创建的并存储在 Web 服务器上的共享文件的快捷方式,通常叫做 Web 文件夹或 HTTP 文件夹。每当您打开支持 WebDAV 的服务器上的资源时,如果您有该服务器的读写权限,即在网上邻居中自动创建快捷方式。另外,还可以使用添加网上邻居向导,创建到 Web 服务器和其它计算机的快捷方式。

对“Web 文件夹”的支持,可以让用户导航到某个服务器,并查看其内容,好象它是本地系统同一名称空间的一部分。用户可以拖放文件,检索或修改文件的属性信息,执行其它的与文件系统相关的任务。“Web 文件夹”让用户在本地文件系统、网络驱动器以及 Internet Web 站点之间进行导航时,保持一致的外观和感觉。不过,当您浏览 Web 文件夹的内容时,可以看到一组文件和文件夹及其相关的 Internet 地址的列表。

Dfs 作为 IIS 的文件系统

IIS 5.0 中使用了 Windows 2000 分布式文件系统 (Dfs)。Dfs 是一种可以将不同计算机上的文件集合到单个名称空间中的方法。Dfs 可让系统管理员在网络上创建多个文件服务器和文件服务器共享的单个、分层视图。这样做,Dfs 可使您让用户更方便地访问并管理那些物理上分布于网络中的文件。使用 Dfs,可以使分布在多个服务器上的文件,象驻留于网络上的一个名称空间中一样,出现在用户面前。用户不再需要知道并指定文件的实际物理位置,就能访问这些文件。

Windows NT Server 4.0 或 Windows 2000 Server 中始终采用分布式文件系统,采用文件分配表 (FAT) 或 NTFS 格式。也可以将 Microsoft Dfs 用做 IIS 5.0 的文件系统,只要选择 Web 站点的根目录作为 Dfs 根目录即可。这样做,可以让您在 Dfs 树内移动资源,而不影响任何 HTML 链接。(Windows 媒体服务内容也可以存储在 Dfs 树中。)

HTTP 压缩

HTTP 压缩可以使 Web 服务器和支持压缩的客户端之间传递网页的速度更快。当带宽有限时,这很有帮助。根据存放的内容、存储空间的大小、以及一般 Web 站点访问者的连接速率,HTTP 压缩可以在 Web 服务器和支持压缩的浏览器之间更快地传递网页。如果服务器生成大量的动态内容,请考虑进行压缩产生的其它代价您是否可以担负得起。如果 percent Processor Time (通过系统监视器访问)已经非常高(80% 或更高),压缩不一定是一种好方法。

文件传输协议 (FTP) 和 FTP 重新启动

“文件传输协议”(FTP) 服务,是一种行业标准协议,用于向 Web 服务器发布信息,它已被内置到 Windows 2000 Server 中。在 IIS 5.0 中,“FTP 重新启动”协议也得到 Windows 2000 Server 的支持。它可以更快速、更流畅地从 Internet 下载信息,因为如果从 FTP 站点传输数据期间发生中断,可以支持断点续传,不必再次重新下载整个文件。

安全

安全功能是 IIS 5.0 改进的一个重要方面,它利用了完全与 Windows 2000 集成在一起的 Internet 标准安全功能。

对 IIS 5.0 安全的讨论分为三个主要部分。第一部分讨论 IIS 5.0 支持的 Internet 标准安全协议。为帮助您形象地说明新协议与安全结构的关系,本节给出以前的 IIS 版本支持的现有协议的简要说明。与 IIS 5.0 关系最为密切的是,对新兴标准的支持,其中包括:Fortezza、传输层安全、摘要式身份验证以及 Kerberos v5 身份验证协议。

安全标准与保证 Web 站点安全的多步进程一起使用。为更好地说明新功能如何改进 IIS 5.0 的安全性,本次讨论的第二节内容说明每个新功能与这些安全过程的关系。

此安全讨论的最后一节,介绍 IIS 5.0 中的新任务向导,这些新任务向导可使管理员设置 IIS 5.0 安全功能更容易。

安全标准

Microsoft 与 Internet 和计算机界的同仁共同努力,以帮助制定和实施合理的安全标准。IIS 5.0 支持的安全协议包括:

Fortezza。对美国政府的,被称为 Fortezza 的安全标准的支持,是 IIS 5.0 中的一项新功能。Fortezza 满足 Defense Message System 安全体系结构,具有加密机制,能提供消息的机密性、完整性、验证、非拒绝,以及对消息、组件和系统的访问控制。这些功能可通过服务器与浏览器软件和个人计算机内存卡国际协会 (PCMCIA) 卡硬件两者来实现。

安全套接字层 (SSL 3.0)。SSL 安全协议被 Internet 浏览器和服务器广泛用来进行身份验证、保证消息完整性和机密性。可以配置 Web 服务器的 SSL 安全功能,以验证内容的完整性,验证用户标识,并对网络传输信息进行加密。SSL 依赖于各种证书,以下将详细说明这些证书。

传输层安全 (TLS)。 TLS 建立在 SSL 的基础上。它提供加密的用户身份验证,并向独立编程人员提供了一种编写支持 TLS 的代码的方法,这些代码能够与其它进程交换加密信息,而编程人员不需要熟悉其它编程人员的代码。另外,TLS 还提供了一个可以在新公钥和大量加密方法出现时,由它们使用的框架。TLS 还有一个重点,是通过减少网络流量,并通过提供可选的会话缓存方案,该方案可以减少需要从头开始建立的连接数量,从而改进性能。

PKCS #7。此协议说明加密数据,如可以保证所含信息安全性的数字签名或数字信封的格式。这两种方法都包含在 IIS 的证书功能中。

PKCS #10。此协议说明提交到证书颁发机构的证书请求的格式。

基本身份验证。“基本身份验证”是 HTTP 1.0 规范的一部分。它通过网络发送 Base64 编码格式的密码。“基本身份验证”方法是一种广泛使用的,收集用户名称和密码信息的行业标准方法。“基本身份验证”的优点是,它是 HTTP 规范的一部分,而且得到大部分浏览器的支持。缺点是使用“基本身份验证”的 Web 浏览器,采用未加密格式传递密码。通过监视网络通信,某人使用公开得到的工具,可以轻易地截取并破译这些密码。因此,不建议使用“基本身份验证”,除非您确信用户和 Web 服务器之间的连接是安全的,例如,是通过直接电缆或专线连接。

摘要式身份验证。作为 IIS 5.0 中的新功能,“摘要式身份验证”提供与“基本身份验证”一样的功能,但需要使用不同的方法传递身份验证凭据。身份验证凭据通过单向进程(常常被称为散列)传递。此进程的结果也叫做散列或消息摘要,不能从散列中破译原始文本。
服务器生成其它信息,这些信息添加到密码,然后进行散列处理,这样没有人能够捕获密码散列,并用它来模拟真实客户。这一点很明显比“基本身份验证”强,因为使用“基本身份验证”时,密码会被截获,也会被未经授权的人员使用。

“摘要式身份验证”的结构便于通过代理服务器和其它防火墙应用程序使用,也可用于 Web 分布式制作和版本控制 (WebDAV)。因为摘要式身份验证是一种新的 HTTP 1.1 功能,并不是所有的浏览器都支持它。如果不支持该项功能的浏览器向要求使用“摘要式身份验证”的服务器发出请求,那么该服务器将拒绝该请求,并向客户端发出错误消息。“摘要式身份验证”仅在安装了 Windows 2000 域控制器的域中才得到支持,而且仅能与 Internet Explorer 5 或以上版本一起使用。

有关保证域控制器安全的详细信息,请参见 Microsoft Windows 2000 Server Resource Kit。

安全机制

IIS 5.0 中包括五个主要安全机制:

身份验证,验证用户标识。
证书,安全地收发站点标识信息。
访问控制,保护对内容的访问权限。
加密,防止擅自更改内容。
审核,监视站点上与安全相关的活动。
身份验证

“身份验证”让您确认请求访问您的站点的任何人的标识。IIS 5.0 支持的身份验证类型包括:

匿名身份验证。这种方法可以让用户访问 Web 或 FTP 站点的公共区域,不提示他们输入用户名称或密码。如果启用了“匿名身份验证”,IIS 将始终尝试首先使用它进行身份,即使还启用了其它方法。当某个用户要连接到公共 Web 或 FTP 站点时,Web 服务器分配给该用户的 Windows 用户帐户叫做 IUSR_computername,其中 computername 是正在运行 IIS 的服务器的名称。
如果服务器上有多个站点,或者站点上有多个要求不同访问特权的区域,则可以创建多个匿名帐户,每个 Web 站点或 FTP 站点、目录、或文件使用一个帐户。通过给帐户以不同的访问权限,或者通过将这些帐户分配给不同的 Windows 用户组,可以授权用户对公共 Web 和 FTP 内容的的不同区域进行匿名访问。


基本 FTP 身份验证。为使用“基本 FTP 身份验证”与 Web 服务器建立 FTP 连接,用户必须用符合有效 Windows 用户帐户的用户名和密码登录。如果 FTP 服务器不能验证用户的标识,该服务器会返回一条错误消息。FTP 身份验证不是很安全,因为用户采用未加密格式,通过网络传递用户名和密码。

匿名 FTP 身份验证。可以配置 FTP 服务器,以允许对 FTP 资源进行匿名访问。如果启用了“匿名 FTP 身份验证”,IIS 将始终尝试首先使用它,即使启用了“基本身份验证”。如果为某个资源选择采用“匿名身份验证”方式,那么对该资源的请求都会被接受,而不提示用户输入用户名或密码。

集成式 Windows 身份验证。管理员可以在连接在一起的运行 Windows 的计算机之间传递身份验证凭据。用户可以安全地验证他们自己,即可访问 Windows 2000 Server Web 站点,不必经过另一次身份验证(登录),就可以使用其它的资源。因为集成式 Windows 身份验证服务,这一点已成为现实。
“集成式 Windows 身份验证”以前称为 NTLM 或 Windows NT 质询/响应身份验证,这种身份验证是安全的,因为不通过网络传递用户名和密码。相反,用户浏览器通过与 Web 服务器的加密交换,证明对密码的辨别。交换信息的一种方法,是使用 Kerberos v5 身份验证协议。

Kerberos v5 是 Windows 2000 Distributed Services 体系结构的一个功能。Windows 2000 Server Web 服务完全与 Kerberos 安全基础结构集成在一起。Kerberos v5 向 Windows 2000 Server 提供快速的单次登录,并替换 NTLM,作为在 Windows 2000 域内或跨 Windows 2000 域访问资源的主要安全协议。为了使 Kerberos v5 身份验证成功,客户端和服务器都必须有到密钥发行中心 (KDC) 的受信任连接,而且必须与 Active Directory 兼容。

集成式 Windows 身份验证既可以使用 Kerberos v5 身份验证协议,也可以使用它自己的质询/响应身份验证协议。

虽然集成式 Windows 身份验证是安全的,但它却有两个局限。首先,只有 Microsoft Internet Explorer 2.0 或更高版本(IE 5.0 或针对 Kerberos 的更高版本)才支持这种身份验证方法。其次,集成式 Windows 身份验证通过 HTTP 或通过任何基于 CERN 的代理 Proxy 连接无法进行工作。因此,集成式 Windows 身份验证对于 Intranet 环境最为合适,在这种环境下,用户和 Web 服务器计算机位于同一个域中,管理员可以确保每个用户都具有 Microsoft Internet Explorer 2.0 或更高版本。

证书

为完成身份验证过程,您需要一种机制来验证用户标识。证书就是让服务器和客户端彼此进行身份验证的数字标识文档。服务器和客户端浏览器都需要证书,以便建立 SSL 连接,通过该连接可以传送加密信息。服务器证书通常包含关于您的公司和发布该证书的机构的信息。客户证书通常包含关于用户和发布该证书的机构的标识信息。

IIS 中的基于证书的 SSL 功能由服务器证书、可选客户证书以及各种数字密钥组成。可以通过“Microsoft 证书服务”创建这些证书,或通过相互信任的,被称为证书颁发机构 (CA) 的第三方机构来获得。

证书身份验证。可以使用 Web 服务器的安全套接字 (SSL) 功能进行两种类型的身份验证。可以使用服务器证书 ,让用户在传送个人信息(如信用卡号码)之前对您的 Web 站点进行身份验证。另外,可以使用 客户证书 ,对向 Web 站点请求信息的用户进行身份验证。SSL 通过检查登录过程中,用户 Web 浏览器提交的加密数字标识的内容进行身份验证。

客户证书映射。可以将客户证书与 Web 服务器上的 Windows 用户帐户相关联,或将它映射到 Web 服务器上的 Windows 用户帐户。创建并启用证书映射之后,每次用户用客户证书登录时,Web 服务器都会自动将该用户与适当的 Windows 用户帐户关联。用这种方法,可以自动验证以客户证书登录的用户,不需要使用“基本身份验证”、“摘要式身份验证”或“集成式 Windows 身份验证”。可以将一个客户证书映射到一个 Windows 用户帐户,也可以将多个客户证书映射到一个 Windows 用户帐户。例如,如果在服务器上有若干个不同部门或公司,每个部门或公司都有自己的 Web 站点,则可以将每个部门或公司的所有客户证书分别映射到各自自己的 Web 站点。这样,每个站点只能为自己的客户端提供访问权限。

证书存储。IIS 证书存储现在与 Windows CryptoAPI 存储集成在一起。Windows 证书管理器提供一个入点,让管理员存储、备份和配置服务器证书。

访问控制

验证用户的标识后,将要控制他们对服务器上资源的访问。IIS 5.0 使用两层访问控制:Web 权限和 NTFS 权限。Web 权限适用于所有 HTTP 客户端,并定义可以使用什么样的 HTTP 谓词访问服务器资源。NTFS 权限定义单个用户帐户对服务器上的目录和文件具有的访问权限级别。

例如,如果某个公司决定在 Web 服务器上发布其产品目录,您需要为该公司创建 Windows 用户帐户,然后对特定的 Web 站点、目录或文件配置权限。这些权限将只允许服务器管理员和公司所有者更新 Web 站点的内容。这些权限还允许公众用户浏览 Web 站点,但他们不能更改其内容。

为允许用户既可以访问 Web 站点内容,又可以修改其内容,IIS 5.0 执行 WebDAV 标准(如上所述),它是 HTTP 1.1 协议的扩展,有助于通过 HTTP 连接进行文件和目录操作。通过使用 WebDAV 谓词或命令,可以添加并读取文件和目录的属性。另外,可以远程创建、删除、移动或复制文件和目录。其它的访问控制可以通过 Web 服务器权限和 NTFS 来配置。

加密

一旦控制了对信息的访问,当信息通过 Internet 传送时需要保护该信息。使用加密手段,可以让用户安全地与您的服务器交换隐私信息,如信用卡号码或电话号码。加密是指在发送信息之前对信息进行编码,解密是指在收到信息后对它进行译码。在 IIS 中进行加密的基础是 SSL 3.0 协议,它提供一种建立与用户的加密通信链接的安全方式。SSL 确认 Web 站点的真实性,并有选择地确认访问受限制 Web 站点的用户的标识。

证书(如上所述)包括建立 SSL 安全连接时使用的加密密钥。密钥是建立 SSL 连接时用于对服务器和客户端进行身份验证的唯一值。公钥和私钥组成 SSL 密钥对。Web 服务器使用密钥对,与用户的 Web 浏览器协商建立安全连接,以确定建立安全通信需要使用的加密级别。

对于这种类型的连接,Web 服务器和用户浏览器都必须配备兼容的加密和解密功能。在交换加密期间或会话期间,就创建了密钥。服务器和 Web 浏览器使用会话密钥,加密并解密传递的信息。会话密钥的加密程度或强度以位来表示。组成会话密钥的位数越多,加密和安全的级别就越高。虽然加密密钥强度越大,提供的安全级别也越高,但它们需要占用更多的资源才能实施。Web 服务器的会话密钥一般是 40 位,但可以达到 128 位,这取决于您要求使用的安全级别(请参见下面的“服务器网关加密”一节)。

服务器网关加密 (SGC) 是 SSL 的扩展,可使具有出口版本 IIS 的金融机构使用加强(128 位)加密。虽然 SGC 功能内置在 IIS 5.0 中,使用 SGC 还需要有特定的 SGC 证书。

可以配置 Web 服务器,使其对全部 SSL 安全通信会话,要求最小 128 位会话密钥强度,而不是默认的 40 位密钥强度。然而,如果设置最小 128 位密钥,当用户要与服务器建立安全通信通道时,使用的浏览器必须可以用 128 位会话密钥进行通信。

重要说明:

由于出口限制,128 位密钥强度加密功能只能在美国和加拿大使用。有关升级到 128 位加密功能的信息,请访问 Windows 2000 Server 技术支持 Web 站点,网址是: http://support.microsoft.com/support/ 。

当为特定的 Web 站点设置安全属性时,也自动对属于该站点的目录和文件设置相同的安全属性,除非以前已经对那些单个目录和文件设置了安全属性。

当要对 Web 站点设置安全属性时,Web 服务器将提示您提供有关重新设置单个目录和文件的属性的权限。如果选择重新设置这些属性,则以前的安全设置将被新设置取代。当您对包含以前设置了安全属性的子目录的目录或文件设置安全属性时,也适用同样的条件。

如果 Web 站点的服务器证书密钥长度少于 128 位,但要对该 Web 站点设置申请 128 位密钥,将禁止对该站点进行访问。
审核

保证安全的最后一个步骤是定期监视站点的使用情况。管理员可以使用监视审核技术,监视广泛的用户和 Web 服务器安全活动。审核的组成包括,对目录和文件访问或服务器事件创建审核策略,监视安全日志,以检测未经授权人员的任何访问企图。

可以配置安全日志,使其记录关于目录和文件访问的信息,或记录关于服务器事件的信息,或者两者同时记录。例行审核服务器配置,检查资源容易受到未经授权访问和篡改的区域,是一个好主意。可以使用集成的 Windows 工具,或内置在 IIS 5.0 中的日志功能,或使用 ASP 应用程序创建您自己的审核日志。

可以监视目录或文件级的访问企图,包括成功或未成功的。这包括读取文件、写入文件和浏览目录等事件。可以选择对任何文件或目录进行审核的事件。服务器文件系统必须配置为 NTFS,才能使用这些审核功能。

可以监视服务器端的事件,如登录和注销 Web 服务器,更改 Web 服务器安全策略,以及关闭服务器计算机。审核事件应针对整个计算机进行,而不是针对某些目录和文件。这种审核级别在“Microsoft 管理控制台”中使用审核策略进行设置。另外,可以监视企图对 Web 或 FTP 站点、虚拟目录或文件的访问,包括成功或未成功的。这包括读取文件或写入文件等事件。可以选择要对任何站点、虚拟目录或文件进行审核的事件。这种审核级别可使用 IIS 管理单元进行设置。

安全向导

为使建立和维护安全设置更为简单,IIS 5.0 包括三个新安全任务向导:

证书向导简化了证书管理任务,如创建证书请求以及管理证书寿命周期。安全套接字层 (SSL) 安全,对提供电子商务和敏感业务信息的 Web 站点来说,是不断增强的普遍要求。新向导使建立采用 Windows 2000 Server 的,支持 SSL 的 Web 站点更加容易。另外,此向导还可以更容易地建立和维护 SSL 加密和客户证书身份验证。
如今,获得、配置和更新服务器证书可以全部通过“Web 服务器证书向导”一个界面来完成。该向导可以检查是否已经安装服务器证书,以及服务器证书是否快过期。可以使用该向导,用从证书颁发机构 (CA),从联机 CA,如 Microsoft 证书服务,或者以前从“密钥管理器”中获得的某个文件,得到的另一个服务器证书来替换服务器证书。也可以自某一个 Web 站点的证书重新分配给另一个 Web 站点。

注意 只能向“企业证书服务器”联机申请服务器证书。IIS“Web 服务器证书向导”不能识别同一台计算机上的独立“证书服务器”。使用脱机证书请求将申请保存到文件,然后作为脱机申请进行处理。使用本地“企业证书服务器”进行联机登记不会受到影响。

如果没有使用联机证书颁发机构,则需要把“Web 服务器证书向导”生成的申请文件保存到磁盘,然后将它发送到 CA。当收到响应时,可以启动向导,它将从以前停止的位置开始。如果您要替换证书,在新申请完成之前,IIS 将继续使用旧证书。


权限向导指导管理员完成在 IIS Web 站点上设置权限和验证访问的任务,使得建立和管理要求对其内容进行验证访问的 Web 站点更容易。
“权限向导” 采用情景方法,设置 Web 和 FTP 权限、NTFS 访问权限和身份验证方案。与其使用单独的用户界面设置每个区域,不如选择与您站点的需要最类似的配置,向导会为您设置全部的访问权限和身份验证方案。这样做的最大好处是,向导可以确保 Web(或 FTP)以及 NTFS 权限得到适当协调,并使用正确的身份验证方案。所有这些设置仍可以在 IIS 管理单元中更改。配置是:

公共 Web 站点。这是最常见的配置,采用这种配置时,站点上的信息是为 Internet 上的公众而准备的。它使用匿名身份验证,允许用户浏览所有的文件并访问 Web 服务器上的 ASP 应用程序。同时,它还使管理员对站点进行完全控制。

安全 Web 站点。 这种配置用于公司 Extranet,即通过 Internet 可以访问的 Intranet。这种站点上的信息只面向少数人。它使用“基本身份验证”、“摘要式身份验证”或“集成式 Windows 身份验证”。只允许经授权用户浏览所有文件并访问 Web 服务器上的 ASP 应用程序。同时,它还使管理员对站点进行完全控制。

证书信任列表 (CTL) 向导让管理员配置 CTL。CTL 是关于特定目录的受信任证书颁发机构 (CA) 的列表。通过配置您的 CTL,可以允许使用某个 CA 发布的证书,但不能使用其它 CA 发布的证书。 如果 ISP 的服务器上有若干个 Web 站点,而且每个站点需要不同的已被批准 CA 的列表,那么 CTL 对这样的 ISP 来说特别有用。CTL 只适用于 Web 站点级,不适用于 FTP 站点。
应用程序环境

IIS 5.0 中添加了性能增强功能,借助它,可以更容易地开发支持 Web 的应用程序。 IIS 中的 Active Server Pages (ASP) 技术,与 Windows 2000 Server 中的数据访问和组件服务一起,提供圆满的应用程序环境。

在本版本中,增强的流控制和错误处理、Windows 脚本组件及其它改进,使得 ASP 更易于脚本作者和 Web 应用程序开发人员使用。另外,诸如无脚本 ASP、ASP 自调、增强性能的对象,以及 Windows 2000 操作系统中的改进,都可以加快 ASP 应用程序的运行速度。

ASP 中的新功能

ASP 是服务器端脚本环境,可以用来创建并运行动态、交互式 Web 服务器应用程序。通过使用 ASP,可以将 HTML 页、脚本命令和组件对象模型 (COM) 组件结合在一起,创建易于部署和修改的交互式 Web 页或基于 Web 的应用程序。IIS 5.0 中有一些新 ASP 功能,如新的流控制功能和错误处理功能,借助于这些功能,可以更方便地编写和控制 Web 应用程序的行为。其它新功能(如无脚本 ASP 处理)改进了 ASP 页的性能。

流控制功能

新的流控制功能让 Web 开发人员编写更有效的基于 ASP 的应用程序,减少客户端和服务器之间需要的来回次数。

使用 Response.Redirect 方法重定向浏览器,需要一个到服务器的来回,这意味着服务器向浏览器发送 HTTP 响应,指出新 URL 的位置。浏览器自动离开服务器的请求队列,并发送一个指向此 URL 的新 HTTP 请求。服务器然后将这个请求,与同时到达的其它客户端的请求一起添加到请求队列中。如果 Web 站点繁忙,服务器和浏览器之间的来回将浪费带宽,并降低服务器的性能 - 特别是将浏览器重定向到同一服务器上的某个文件时。

ASP Server 对象如今有两个新方法可以用于控制程序流:Server.Transfer 和 Server.Execute。如图 6 所示,可以使用 Server.Transfer 方法,而不使用 Response.Redirect 方法,从一个 ASP 文件转移到相同服务器上的另一个文件。使用 Server.Transfer 方法,可以直接转移对 ASP 文件的请求,不必离开服务器请求队列,这样就可免除来回造成的浪费。

图 6 当 URL 被重定向到同一服务器的另一个 ASP 页时,Server.Transfer 方法可以减少到服务器的来回次数。

ASP 还提供了 Server.Execute 方法,用来转移到某个文件,执行其内容,然后返回到启动该转移的文件。如果您熟悉 VBScript,将使您联想到,Server.Execute 类似于过程调用,只不过这里不执行过程,而是执行完整的 ASP 文件。

浏览器功能组件

为使 Web 应用程序对特定用户浏览器更快地作出响应,ASP 具有一个新功能,可确定浏览器的准确功能。当浏览器发送 cookie 说明其功能时(这种 cookie 可以使用简单的客户端脚本来安装),开发人员可以创建 Browser Capabilities 组件的实例,检索 cookie 返回的浏览器属性。可以使用此功能发现浏览器的功能,因而对应用程序作出相应的调整。

Browser Capabilities 组件创建 BrowserType 对象,该对象为脚本提供有关客户端 Web 浏览器功能说明。当浏览器连接到 Web 服务器时,它自动发送 HTTP 用户代理头。这个头是一个 ASCII 字符串,可以标识浏览器以及版本号。BrowserType 对象将该头与 Browscap.ini 文件中的各项进行比较。如果找到一个一样的,BrowserType 对象会采用列出该匹配用户代理头的浏览器的属性。如果该对象在 Browscap.ini 文件中没有发现该头的匹配,它将使用 * 和 ? 通配符搜索最相似的匹配。如果使用通配符不能找出匹配,当在 Browscap.ini 文件指定了默认浏览器设置时,该对象将使用默认的浏览器设置。如果该对象没有发现匹配,而且在 Browscap.ini 文件中也没有指定默认浏览器设置,则该对象将把每个属性设置为字符串 UNKNOWN。

只须更新 Browscap.ini 文件,即可为此组件添加属性或新浏览器定义。

错误处理

ASP 现在有新的错误处理功能,可以帮助您发现其 Web 应用程序中的错误。此功能让您捕获自定义错误消息 ASP 文件中的错误。可以使用新的 Server.GetLastError 方法显示有用信息,如错误说明或发生错误的行号。可以使用 ASPError 对象,获得关于在 ASP 页的脚本中发生的错误情况的信息。ASPError 对象由 Server.GetLastError 方法返回。ASPError 对象显示只读属性。

无脚本 ASP

在以前的版本中,所有 ASP 页的处理方法都把它们当作包含脚本来处理。这意味着,即使没有脚本的网页,也要在提供给客户端之前,发送给 ASP 分析程序,即使它们不需要服务器端处理。编码为静态 HTML 的网页一般处理速度比较快,因为它们不需要这一步到服务器的来回。如果开发人员要避免对 ASP 分析程序的无谓调用,它们必须将无脚本网页编码为 HTML,只对包含脚本的网页,使用 .asp 扩展名。IIS 5.0 解决了这个影响效率的问题,它添加了一个初始步骤,在将 ASP 网页发送到分析程序之前,检查 ASP 网页,看看其中是否包含服务器端脚本。如果网页中不包含脚本,则不必发送到分析程序就可以使用。虽然 HTML 网页仍比 ASP 网页的处理速度更快,通过使用 IIS 5.0,不包含脚本的 ASP 网页与以前相比,运行速度更快。而且,不必跟踪两种不同类型的文件。

性能增强的对象

为提高基于 Web 应用程序的运行速度,IIS 5.0 ASP 包含其流行的可安装组件的性能增强版本,这将在各种 Web 发布环境中可靠地扩展。这些为提高其性能改写的组件,用于完成通常需要执行的任务,如滚动播放广告 (adrot.dll) 和确定浏览器的功能 (browscap.dll)。

ASP 自调

IIS 将增减线程数量,无论是启用 ASP 线程门控还是不启用 ASP 线程门控。当启用 ASP 线程门控时,ASP 将监视 CPU 并在它达到设置阈值时,开始限制允许执行的 ASP 线程数。

为适应不断变化的负载情况,IIS 执行线程门控,以动态控制同时执行的线程数。默认情况下,禁用线程门控。ASPThreadGateEnabled 属性的默认设置,以及其它线程门控属性,是为适应多数服务器配置和流量条件而设计的。改变这些属性会导致性能显著下降。

ASPThreadGateEnabled 属性的 Web 服务设置,可以用于所有级别的所有进程内和共用进程外应用程序节点上。进程内和共用进程外应用程序将忽略 Web 服务器级或以下级别上的 Metabase 设置。但是,如果该节点是独立的进程外应用程序,将使用 Web 服务器级或以下级别的设置。

XML 集成

正如 HTML 可以让您说明 Web 文档的格式一样,可扩展标记语言 (XML) 让您按语义说明数据或文档的复杂结构,然后可以在各种应用程序、客户端和服务器上共享这些数据或文档。使用包括在 Internet Explorer 4.0 或更高版本中的 Microsoft XML Parser,可以创建服务器端应用程序,以使 Web 服务器与 Internet Explorer 4.0 或更高版本,或与其它具有 XML 分析功能的服务器交换 XML 格式的数据。

Windows 脚本组件

ASP 支持 Microsoft 新的脚本技术,即 Windows 脚本组件。此技术让开发人员将业务逻辑脚本程序编程可反复使用的 COM 组件,以便在 Web 应用程序以及其它兼容 COM 的程序中使用。

Windows 脚本组件提供一种使用脚本语言(如 VBScript)和其它与 ECMA 262 语言规范兼容的语言(如 Microsoft JScript® 2.0 和 JavaScript 1.1),创建 COM 组件的简易方法。在诸如 IIS、Microsoft Windows Scripting Host (WSH) 和可以支持 COM 组件的任何其它应用程序中,可以象使用 COM 组件一样使用脚本组件。

具有 SRC 属性的“服务器端包含”

“服务器端包含”让您在 Web 文档中包含动态文本,如当前日期。在 IIS 5.0 中,如今可以使用 HTML SCRIPT 元素的 SRC 属性来执行服务器端包含。当使用 SRC 属性指定虚拟路径或相对路径,并使用 RUNAT=SERVER 属性表示服务器端执行时,可以获得 #Include 指令所能获得的功能。

编码的 ASP 脚本

传统上,Web 开发人员不能阻止其它人查看其脚本背后的逻辑。如今,ASP 支持 VBScript 和 JScript 5.0 中提供的一种新的脚本编码工具。Web 开发人员可以向客户端和服务器端应用一种编码方案,使得程序逻辑显示为难以读懂的 ASCII 字符。解码后,逻辑则显示为标准的 ASCII 字符。编码脚本在运行时由脚本引擎解码,所以不需要另外的工具。虽然此功能还不能算是一个安全加密的解决方案,它却可以阻止多数不可靠的用户浏览或复制脚本。

IIS 和组件服务

Windows 2000 中包含的 IIS 5.0 和 组件服务 (COM+) 一起,组成创建 Web 应用程序的基本体系结构。在 IIS 4.0 中,Microsoft Transaction Server (MTS) 提供了事务处理支持。在 IIS 5.0 和 Windows 2000 中,除其它的组件开发和部署功能之外,“组件服务”还提供所有的 MTS 事务处理支持。IIS 使用 Component Services 提供的功能:

将应用程序分离到独立的进程中。
管理 COM 组件(包括 ASP 内置式对象)之间的通信。
协调事务处理 ASP 应用程序的事务处理过程。
IIS 和 Active Directory

Windows 2000 Server 中的 Active Directory 用于存储并管理关于网络资源的信息。通过提供基本信息的集中式存储,Active Directory 简化了网络管理,使用户更易于查找资源,也使开发人员更易于编写需要当前重要信息的应用程序。

Microsoft Active Directory 服务接口 (ADSI) 是基于 COM 的目录服务模型,允许兼容 ADSI 的客户应用程序,使用一个、标准的接口集,访问各类不同的目录协议,包括 Active Directory、LDAP 和 NDS。ADSI 使客户应用程序不必知道基本数据存储或协议的实施和运行详细信息。

一个被称为 ADSI provider 的应用程序,可以用于 ADSI 客户应用程序。ADSI provider 显示的数据在由 provider 定义的自定义名称空间中组织。除了实现 ADSI 定义的接口外,ADSI provider 还可实施 ADSI 架构。该架构用于提供有关 ADSI provider 提供的名称空间结构和对象的元数据。管理员和应用程序开发人员可以向现有 ADSI provider 添加自定义对象、属性和方法,为管理员配置站点提供更大的灵活性。

IIS 当前用 IIS metabase 存储多数 Internet 站点配置信息。IIS 提供一个低级 DCOM 接口,允许应用程序访问并处理 metabase。为使访问 metabase 容易进行,IIS 还包括一个囊括了 DCOM 接口提供的多数功能的 ADSI provider,并将它提供给任何兼容 ADSI 的客户应用程序。

小结

IIS 5.0 添加了性能和可靠性改进,增强了 Web 服务器支持各种要求的能力。如果发生故障,重新启动服务器更加容易,这样站点可以更快地重新启动和运行。新的应用程序保护改进了可靠性。过去,要保护服务器不受出现问题的应用程序的干扰,需要在独立的进程中运行每个应用程序,这会大大地降低性能。现在,为更好地在性能和保护之间找到最佳平衡点,可以将那些非关键的应用程序放在一个共用进程中运行,而只把关键的应用程序放在独立进程中运行。使用 Windows 2000 Advanced Server 中的群集服务还能获得更高的可靠性。通过支持多站点宿主,可以在同一台服务器上建立有一个以上的 Web 站点,可扩展性得到更一步的改进。

对管理员来说,各种改进使安装和管理 IIS 更容易。以前,安装 IIS 相对来说有些复杂。而今,IIS 5.0 可以作为 Windows 2000 安装过程的一部分来安装。维护任务的简化体现在以下几个方面:从集中位置访问管理工具、远程管理有多种选择、以及管理员可以向选定的用户委派任务。通过对 WebDAV 的支持,IIS 5.0 使得用户可以访问并修改存储在 Web 服务器上的文档,增强了使用 Internet 或 Intranet 辅助协作的能力。

对诸如“摘要式身份验证”、Kerberos 和 Fortezza 等新的安全协议的支持,让 IIS 用户利用越来越强的 Internet 安全防范措施。对这些协议的支持,扩展了开发人员可以安全地部署支持 Internet 应用程序的环境。

应用程序开发人员将发现,IIS 5.0 建立在 Microsoft Web 服务器以前版本的基础上,并引入了帮助更容易地创建功能更全面、更灵活的 Web 站点,以及基于 Web 的应用程序的技术。主要改进包括更好的 ASP 流控制和更快的无脚本 ASP 页处理。

通过将 Windows 2000 与 IIS 5.0 相结合,可以创建各种各样的、利用原有技术的 Internet 和 Intranet 站点。

其它资源

Windows 2000 Server Web 站点:

http://www.microsoft.com/windows/server/

IIS 5.0 功能介绍:

http://www.microsoft.com/windows/server/Overview/features/web.asp

Microsoft 开发人员网络联机库 IIS SDK:

http://msdn.microsoft.com/library/psdk/iisref/psdkwelc.htm .

Microsoft TechNet IIS 站点:

http://www.microsoft.com/technet/iis/

Microsoft Interactive Developer Journal 文章:Internet Information Services 5.0:

http://www.microsoft.com/Mind/0499/IIS5/IIS5.HTM


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-124564/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621523