扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:微软 来源:微软 2008年4月25日
核心功能和服务
微软已对 IIS 6.0 进行了重新设计以便利用基本 Windows内核HTTP.sys。这使其具有内置的响应和请求缓存和队列功能,并能够将应用程序进程请求直接路由到工作进程,从而改善可靠性和性能。
IIS 6.0 引入了两种用于配置应用程序环境的操作模式:工作进程隔离模式和IIS 5.0 隔离模式。在安装 IIS6.0时默认的隔离模式取决于您执行的是全新安装还是升级。
在全新安装 IIS 6.0 之后,IIS 以工作进程隔离模式运行。
在从较低版本的 IIS 6.0 升级之后,隔离模式与以前安装的 IIS 6.0 版本所配置的相同。
在从 IIS 5.0 或 IIS 4.0 升级之后,在默认情况下,IIS 6.0 以 IIS5.0隔离模式运行,这样可保持与现有应用程序的兼容性。
有关从一种隔离模式切换到另一种隔离模式的信息,请参阅配置隔离模式。
Windows2000 WindowsXP Professional Windows Server2003 家族 32 位 32位和64 位 32 位和 64 位 TCP/IP 内核
DLLhost.exe处于中等或高应用程序隔离模式下的多个 DLL 主机
TCP/IP 内核
DLLhost.exe处于中等或高应用程序隔离模式下的多个 DLL 主机
HTTP.sys 内核
当 IIS 以 IIS 5.0隔离模式运行时:Inetinfo.exe对于进程内应用程序或DLLhost.exe对于进程外应用程序
当 IIS 以工作进程隔离模式运行时:W3wp.exe多工作进程
二进制二进制 XML Windows 身份验证
SSL
Kerberos
Windows 身份验证
SSL
Kerberos
安全向导
Windows 身份验证
SSL
Kerberos
安全向导
Passport 支持
HTMLA 无 HTMLA
终端服务
远程管理工具 HTML
终端服务
IIS 群集 Windows 支持 Windows 支持 Windows9x 上的个人 Web 管理器
Windows2000 上的 IIS
可选WindowsXP Professional 上的 IIS Windows
IIS 5.0 | IIS 5.1 | IIS 6.0 | |
---|---|---|---|
平台 | |||
体系结构 | |||
应用程序进程模型 | |||
配置数据库配置 | |||
安全性 | |||
远程管理 | |||
群集支持 | |||
WWW 服务 | |||
IIS 5.0 隔离模式
IIS 5.0 隔离模式按照与 IIS 5.0中的进程管理相似的方式管理应用程序进程:所有的进程内应用程序都在Inetinfo.exe 内运行,进程外应用程序在单独的DLL宿主中运行。一些现有应用程序可能无法并发运行或将会话状态与应用程序分开存储。因此,在 IIS5.0隔离模式中运行进程可以确保与大多数现有应用程序的兼容性。
配置数据库配置
IIS 6.0 的配置数据库以XML文件形式存储,而不是以早期版本中的二进制格式存储。位置仍在原处,但是操作方式更新、回滚、还原和扩展已发生了变化。有两个重要文件,并非一个:MetaBase.xml和MBSchema.xml。
有关 IIS 配置数据库的详细信息,请参阅关于配置数据库。
管理
在 IIS 4.0 中,应用程序既可以在与 Internet 服务相同的进程中运行,也可以在单独的进程中运行。在 IIS5.0和 5.1 中,应用程序现在可以分为若干汇集的进程以增强性能并提高可伸缩性。 详细信息,请参阅关于应用程序。在 IIS6.0工作进程隔离模式中,可将应用程序组合到任意数量的应用程序池中。
“应用程序映射”属性页包含一个超文本传输协议 HTTP动作列表,它们可由映射到特定文件类型的应用程序进行处理。该动作列表与IIS 4.0 有一处不同。在 IIS 4.0中,列表中包含“已排除”或未被处理的动作。这个改变是为了适应新的HTTP动作,以便将其添加到协议中。有关应用程序映射的详细信息,请参阅设置应用程序映射。
群集不是 IIS 6.0 的功能不支持 IISsynche.exe。群集是 Windows Server2003家族的功能。有关 Windows 群集 MSCS 的信息,请参阅 Windows Server 2003 家族的帮助。
与 IIS 4.0 相比,IIS 5.0 中自定义错误文件的位置已经改变。详细信息,请参阅启用详细的自定义错误消息。
已经添加了新的自定义错误文件,以便报告更详细的错误信息以及与新功能有关的错误。有关可用的自定义错误消息的完整列表,请参阅关于自定义错误消息。
基于 Web 的 Internet 服务管理器 HTML 已经由 Web 工具应用。要使用 Internet 服务管理器HTML远程管理 IIS, 请参阅如何远程管理服务器。
以编程方式管理
在早期版本的 IIS 中,可以从编译的 C++ 应用程序使用管理基本对象 ABO 或者从 C++ 或脚本文件使用ActiveDirectory 服务界面 ADSI 以编程方式管理 IIS。IIS 6.0 包括了 Windows 管理规范WMI提供程序,WMI 这一技术允许管理员以编程方式控制所有服务和应用程序。详细信息,请参阅使用 IIS WMI提供程序。有关新的ADSI 方法的信息,请参阅 IIS 6.0 中的配置数据库更改。
Active Server Pages
从 IIS 6.0 开始,Microsoft Active Server Pages ASP 可以与MicrosoftASP.NET 一起使用。有关配置 IIS 以运行 ASP.NET 应用程序的信息,请参阅 ASP.NET。有关IIS 6.0 中ASP 功能更改的信息,请参阅 ASP 中的重要更改。
ASP 挂起检测
当 IIS 网站繁忙时,可能会出现这种情况:已经产生了最大数量的 ASP 线程,而一些ASP线程却挂起,这会导致性能降低。IIS 6.0 能够通过回收作为 ASP ISAPI 扩展ASP.dll的特定实例宿主的工作进程来解决线程挂起问题。当 ASP 线程在 IIS 6.0 中挂起时,ASP.dll 调用ISAPI服务器支持函数 HSE_REQ_REPORT_UNHEALTHY,WWW 服务回收作为ASP.dll宿主的工作进程,并在事件日志中创建一个项目。
有关 ISAPI 服务器支持函数的详细信息,请参阅 MSDN? Online 上 ISAPI扩展参考中的ServerSupportn。
安全性
IIS 6.0 中的一个最重要的变动涉及 Web 服务器安全性。为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将IIS安装在 Microsoft Windows Server 2003 家族的成员上。
要点 为了更好地预防恶意用户和攻击者的攻击,没有将 IIS 默认安装到 Microsoft? Windows?Server2003 家族的成员上。而且,当您最初安装 IIS时,该服务在高度安全和“锁定”的模式下安装。在默认情况下,IIS只为静态内容提供服务-即,ASP、ASP.NET、服务器端包含、WebDAV 发布和 FrontPage? ServerExtensions等功能只有在启用时才工作。如果安装 IIS 之后未启用该功能,则 IIS 返回一个 404错误。您可以为动态内容提供服务,并通过IIS 管理器中的 Web 服务扩展节点启用这些功能。同样,如果应用程序扩展未在 IIS中进行映射,则 IIS 返回一个 404错误。要映射扩展,请参阅设置应用程序映射。有关如何排解 404 错误包括 404.2 和404.3、与 IIS 6.0的新安装相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。
通过 Web 服务器证书向导和 CTL 向导,您可以同步 Web 和NTFS的安全设置、获得并安装服务器证书以及创建和修改证书信任列表。还可以选择一个加密服务提供程序 CSP以使用证书加密数据。详细信息,请参阅使用证书向导。
IIS 6.0 中的其他安全性变动包括下列内容:
在升级版本上禁用:除非满足下列条件之一,否则在 Windows Server 2003家族的升级版本上禁用万维网发布服务WWW服务:
在开始升级过程之前,您已在 Windows 2000 Server 上运行了 IIS锁定向导。IIS锁定向导通过禁用不必要的功能来减少攻击面,并且它允许您确定为站点启用哪些功能。IIS Lockdown Tool中提供了 IIS锁定向导。
要点 如果使用 WWW 服务,则强烈建议您在升级到 Windows Server 2003 家族中的产品之前,在Windows2000 Server 上运行 IIS 锁定向导。IIS 锁定向导通过禁用或删除 Windows 2000Server安装中不需要的功能来保护计算机的安全。否则,升级后计算机上仍保留这些功能,这会使您的服务器易受攻击。
注册表项 RetainW3SVCStatus已添加到注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC的下面。在RetainW3SVCStatus 下,您可以添加任何值,然后给它赋予一个 DWORD值。例如,您可以创建注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\RetainW3SVCStatus\do_not_disable,并且DWORD 值为 1。
对于无人参与的安装,“DisableWebServiceOnUpgrade =false”项存在于无人参与的安装脚本中。
通过组策略禁用 IIS:通过使用 Windows Server 2003家族成员,域管理员可以禁止用户在其计算机上安装IIS。
以具有低级访问权限的帐户运行:IIS 工作进程在访问权限极少的用户上下文中运行。这大大减少了潜在攻击的影响。
提高 ASP 的安全性:所有的 ASP 内置功能总是以具有极少访问权限的帐户 IUSR_computername运行。
运行可执行文件的限制:为了运行系统文件夹中的大多数可执行文件如 cmd.exe,您必须是Administrators组、LocalSystem、Interactive 或 Service 帐户的成员。该限制限制了对Administrators的远程访问,因此匿名用户无法运行可执行文件。
修补程序管理:对于修补程序管理,管理员可在不中断服务的情况下安装最新的安全修补程序。
已知的扩展:IIS只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。
内容的写保护:在默认情况下,拒绝匿名用户以 IUSR_computername 帐户运行对 Web内容进行写入访问。
超时和限制:在 IIS 6.0中,默认设置是安全而主动的,这样可最大限度地减少因以前太宽松的超时和限制而造成的攻击。
上载数据限制:管理员可以限制能上载到服务器的数据。
缓冲区溢出保护:工作进程会检测缓冲区溢出,并在检测到时退出程序。
文件验证:IIS 在将请求发送到请求处理程序ISAPI 扩展之前会验证请求的内容是否存在。
索引资源:该权限现在会在默认情况下启用。
脚本资源访问:该权限允许访问ASP页脚本和其他脚本的“源代码”,它是新增功能,且在默认情况下被禁用。它可在选择了“读取”或“写入”权限时可用。
子验证:在新安装的 IIS 6.0 中,在默认情况下不再启用。有关详细信息,请参阅匿名身份验证中的“使用子验证”部分。
UNC 身份验证:在此版本的 IIS 中,UNC 身份验证方法检查是否有用户凭据。详细信息,请参阅 UNC身份验证。
新策略:“禁止安装 IIS”策略已经添加到 Windows Server2003产品家族中。该策略允许域管理员控制可以在域中哪些计算机上安装 IIS。详细信息, 请参阅 Windows帮助中的组策略。
Fortezza:已取消了对该功能的支持。
性能
为了限制分配给 ASP 页的内存量,IIS 已经将 AsptFileCacheSize 的默认值设置为 250 个ASP页,并将 AsptEngineCacheMax 的默认值设置为 125 个脚本引擎。在具有一组大量经常请求的ASP页的站点上,可以将 ASPtFileCacheSize 设置得更高一些。因为ASP页的编译比从缓存中检索页要慢很多,所以这会改善性能。在只具有少量经常请求的ASP页的站点上,可通过将该数字设置得小一些来节省内存。
IIS 工具组件
Windows NT Server 的协作数据对象 CDONTS:CDONTS 已从 Windows Server2003家族中删除。如果 Web 应用程序使用 CDONTS,则可以将它们转换为 Microsoft 协作数据对象CDO。CDONTS中的大多数方法在 CDO 中都有相匹配的方法,但是名称可能不同。有关平台软件开发工具包 PSDK 中 CDO的参考资料,请参阅MSDN Online 上的 Overview of CDO。
未安装 IIS 工具组件:Ad Rotator、BrowserCapabilities、ContentLinker、Content Rotator、Counters、LoggingUtility、My Info、PageCounter、Status 和工具不随 IIS 6.0 一起安装。但是,如果您的 Web服务器是从低版本的 IIS升级的,则这些工具组件不会被删除。您可以从 IIS 6.0 资源工具包中获取工具组件 DLL文件的副本。
64 位 Windows Server 2003 家族上的 IIS
在 64 位 Windows Server 2003 家族的操作系统上, IIS 作为 64 位应用程序运行。这意味着不能从64位 Windows Server 2003 家族的操作系统上的 IIS 调用 32 位应用程序。例如,Jet数据库引擎将不能转换为64 位应用程序,因此,不能使用 ActiveX? 数据对象 ADO 从 ASP 页打开 MicrosoftAccess数据库。但是,仍可以使用 ADO 访问其他驱动程序,如 SQL 和 Exchange。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。