有关 Internet 信息服务的 5 个热点问题及其解答

| 不使用 DNS 如何解析正确的 IP 地址 | |
| 应该删除哪些 ISAPI 筛选器? | |
| 如何安装 .NET Framework(在 IIS 服务器上) |
问: 我们有一家小公司,公司使用了一台 IIS 服务器,我们的 Windows 2000 Server 上有两个 NIC。一个用于公共网络,将 IIS 连接至 Internet,另一个用于我们的专用网络。当键入 http://服务器名 时,名称解析为公共网络的 IP 地址,而不是专用网络的 IP 地址。我们该如何在不使用 DNS 的情况下,对服务器进行配置,以使服务器名称与专用网络相关联?
答:在键入 http://服务器名 时,第一件事情是检查服务器的名称,看是否有匹配项。如果有匹配项,绑定至“Microsoft 网络客户端”的第一个接口将被用作服务器的 IP 地址。您可以通过设置绑定顺序来控制使用哪个 IP 地址,设置方法是依次单击“网上邻居”、“属性”、“高级”和“高级设置”。在“连接”框中,将代表内部网络的连接移至列表顶部。我还强烈建议您禁用“Microsoft 网络的文件和打印机共享”,以及公共网卡上的“Microsoft 网络客户端”。另外,使用防火墙(例如 Microsoft Internet Security and Acceleration Server)正确地保护服务器以及内部网络的安全也是非常重要的。
问:在 Internet 信息服务插件中,WWW 服务主属性中列出了几个 ISAPI 筛选器,这些筛选器都是默认情况下随 IIS 安装的。删除不需要的应用程序映射是常见的安全操作,但是有关默认 ISAPI 筛选器以及它们在服务器上执行何种服务的参考信息却不多。您能否解释一下它们执行哪些操作,删除它们会带来什么不良影响?
答:要了解有关 ISAPI 筛选器的背景信息,可以参见 2002 年 5 月份的 IIS 有问必答——“ISAPI 筛选器能否在独立的进程空间中运行?”。至于是否可以删除 ISAPI 筛选器,我的回答是,一般说来不会有问题,因为如果需要的话,您随时可以将它们添加回来。您只需停止和重新启动 IIS,以使更改生效。
默认安装的筛选器如下:
| • | Sspifilt – 提供对 SSL 的支持 |
| • | Compression – 在启用压缩功能后使用 |
| • | Md5filt – 摘要身份验证 |
| • | Fpexedll.dll – 实现与 FrontPage 97 的兼容 |
大多数情况下,除保留 sspifilt.dll 之外,您可以安全地删除其他所有筛选器。但是这些筛选器的存在并不会对性能带来很大的负面影响,而且至今也没有与之有关的任何安全漏洞。但是,删除或禁用任何不必要的功能通常被认为是“最佳操作”。
问:我该如何在服务器上安装 .NET Framework?我们已经安装了 IIS 4 和 IIS 5 服务器,还可以安装 .NET Framework 吗?
答:您可以在 Windows NT 4(IIS 4)、Windows 2000(IIS 5)以及Windows XP Professional(IIS 5.1)和 Windows 98(PWS)上安装 .NET Framework。可以从 http://msdn.microsoft.com/netframework/downloads/updates/sp1/default.aspx 处下载重新分发版的 .NET Framework 以及 .NET Framework Service Pack 1 (SP1)。
在系统上安装该软件之前,最好执行一次完整的备份。在安装 .NET Framework 之前应该确保有一份完好的备份,以备安装时出现自然或数字灾难。.NET Framework 的安装过程非常简单,只需启动安装软件包,其余的操作都会自动执行。
在安装完成后,您会注意到 Web 服务器上发生了一些变化。下面我们以 IIS 5 为例简要地介绍一些主要变化。
您会发现,在“服务”控制台中有一个 ASP.NET State Service,而且它的启动状态设置为“手动”。这个服务被设置为运行在 ASPNET 用户帐户下。ASPNET 是在安装时创建的一个新帐户,用于运行 ASP.NET State Service 以及 ASP.NET 工作进程(后面会对其予以更多的解释)。ASPNET 用户帐户具有一个不会过期的强密码,而且属于 Users 组的成员。
在运行 ASP.NET 应用程序时,会启动运行该应用程序的“工作进程”。工作进程即为执行 Web 应用程序工作的进程,非常类似于 IIS 4 上的 dllhost.exe。
您可以将 ASP.NET 配置为运行在 Inetinfo 进程内。大多数开发人员和管理员都希望使用 .NET 工作进程模型,以利用服务器良好的运行状况以及其他可用功能。这个进程称为 ASPNET.WP.EXE,而且将运行在 System、ASPNET 或您指定的任何其他用户帐户环境下。该设置以及其他许多配置设置都是在 config 文件中指定的,这个文件控制用于管理 ASP.NET 应用程序的参数。这些选项的内容远远超出了本专栏的讨论范围。如果要了解相关信息,建议您访问 http://msdn.microsoft.com/library/en-us/vsent7/html/vxoriDistributedApplicationSecurityRecommendations.asp。
在 IIS 插件的 Web站点主属性中,您会发现安装了一个新的 ISAPI 筛选器。apsnet_filter.dll 这个筛选器控制无 cookie 会话的状态。另外,您还会发现安装了一系列应用程序扩展名(如图 1 所示)。图中并没有显示已添加的所有扩展名,但是您可以看到,其中添加了许多扩展名。
其中有些扩展名,例如 .aspx 和 .asax 很容易识别,因为它们是 ASP.NET 应用程序的常用扩展名,其他则为 Visual Studio 应用程序的扩展名。
最后,您会发现有一个名为 aspnet_client 的文件夹,该文件夹中含有集成了 ASP.NET 的“SmartNavigation”功能的 Javascript。如果启用 SmartNavigation,网页设计人员就可以在页面以及其他内容之间保持滚动条和元素焦点的位置。
只有管理员才能看出 IIS 5 在安装 .NET Framework 后发生的这些变化。有关如何配置 ASP.NET 以控制 Web 应用程序的安全性以及性能参数的资料非常多。建议您访问 http://msdn.microsoft.com/msdnmag/issues/02/04/ASPSec/ASPSec.asp,因为其中提供了非常好的参考内容。
将您的问题提交给 IIS 有问必答。挑选出的问题会连同答案一起刊登在下一期的 IIS 有问必答 专栏中。
要获取 IIS 有问必答专栏前几个月的问题与解答,请单击此处。
我们代表 Microsoft 公司衷心希望本文章中的信息能对您有所帮助,但是应由您自己承担使用本文所带来的风险。本文中的所有信息都“按原样”提供,对于其准确性、完整性、特殊用途的适用性、所有权和不侵权原则,并没有任何明示或暗示的保证;本著作提及的任何第三方产品和信息,Microsoft 公司都并未参与创作,也不向您推荐、支持或作出任何保证。对使用该信息而造成的任何损失,不管是直接的、间接的、特别的,还是偶然的或必然的,即使已经警告过可能会有这种损失,Microsoft 公司将不承担任何责任。