日期:2011-08-15 浏览次数:20415 次
本单元概要
Microsoft ® Windows ® Server 2000 和 Windows Server ™ 2003 操作系统提供了伸缩性非常好、非常可靠的 Web 宿主环境。它们可以用于在一个 Web 服务器或者 Web 服务器场上安全地寄宿成百上千个 Web 站点和 ASP.NET 应用程序。
但是,当在共享宿主场景中使用 ASP.NET 应用程序时,必须考虑如何使应用程序互相独立,以及独立于共享系统资源,包括文件系统、注册表和事件日志。没有足够的独立性,恶意或者设计不良的应用程序会对服务器上的其他应用程序产生负面影响,或者访问未授权的资源。这种应用程序独立对于寄宿多家不同公司的大量应用程序的 Internet 服务提供商 (ISP) 尤其重要。
本单元阐述了在 Windows 2000 和 2003 中可以使用哪些技术隔离 ASP.NET 应用程序,以确保所寄宿的 Web 站点数据的完整性、保密性和真实性。
返回页首
目标
通过本单元能够:
• 理解 Windows 2000 和 2003 中 ASP.NET 的体系结构和主要组成部分。
• 使用多个标识、应用程序池和代码访问安全隔离 Web 应用程序。
• 配置匿名帐户模拟。
• 在使用集成 Windows 身份验证或者证书对用户进行身份验证时,配置固定的帐户模拟以访问本地或者远程的资源。
• 提高窗体身份验证的安全性。
• 理解在访问 UNC 共享中存储的数据时,如何使用凭据。
返回页首
应用范围
本单元适用于下列产品和技术:
• Microsoft Windows Server 2000 和 2003
• Microsoft .NET Framework 1.1 和 ASP.NET 1.1
返回页首
如何使用本单元
本单元主要关注如何获得共享宿主环境中的应用程序独立。关键的要素是代码访问安全。在使用本单元的同时还应该结合以下内容:
• 阅读单元 8“代码访问安全实践”。该单元更详细地解释了代码访问安全的工作原理,以及如何使用它约束单独的程序集,例如限制程序集访问文件系统、注册表、网络和其他关键资源的能力。
• 阅读单元 9“在 ASP.NET 中使用代码访问安全”。该单元解释了如何将代码访问安全策略用于 ASP.NET 应用程序,并讨论了构建部分信任应用程序的注意事项和意义。
• 阅读单元 16“保护 Web 服务器的安全”。该单元说明了如何保护 Windows 2000 操作系统和 Microsoft .NET Framework。安全的基础平台是保护一个 ASP.NET Web 应用程序或者 Web 服务的前提条件。
本页内容
本单元概要
目标
应用范围
如何使用本单元
简介
Windows 2000 上的 ASP.NET 体系结构
Windows Server 2003 上的 ASP.NET 体系结构
用标识隔离应用程序
用应用程序池隔离应用程序
用代码访问安全隔离应用程序
窗体身份验证的问题
UNC 共享寄宿
小结
返回页首
简介
在共享宿主场景中,确保应用程序不会对其他应用程序的操作和安全产生负面影响,是非常重要的。
获得应用程序独立有许多方式。可用的选择因 Web 服务器上运行的 .NET Framework 的版本和操作系统的版本的不同而不同。
• 如果运行的是 .NET Framework 的 1.1 版本,可以使用代码访问安全提供的资源约束模型提供一层应用程序独立。这种应用程序独立是通过限制应用程序访问不同类型的资源(如文件系统、注册表、事件日志、Active Directory、数据库、网络资源等等)而实现的。
• Windows Server 2003 通过 Internet 信息服务 6.0 (IIS 6) 应用程序池提供了进程独立,可以使多个应用程序运行在不同的 IIS 辅助进程实例中。进程独立在 Windows 2000 上是不可能的,因为所有 Web 应用程序都运行在单独的 ASP.NET 辅助进程实例中,而应用程序域提供了独立性。
表 1 总结了 Windows 2000 和 Windows Server 2003 上应用程序独立的各种选择。
表 1 Windows 2000 和 Windows Server 2003 上的应用程序独立功能
独立功能 Windows 2000 Windows Server 2003
进程独立
否
是(IIS 6 应用程序池)
应用程序域独立
是
是
多个线程标识
是
是
代码访问安全资源约束
是(.NET Framework 1.1 版)
是(.NET Framework 1.1 版)
运行着 .NET Framework 1.1 版的 Windows Server 2003 是寄宿多个 ASP.NET 应用程序的推荐平台,因为它支持进程独立,并为应用程序独立提供了最大范围的选择。
返回页首
Windows 2000 上的 ASP.NET 体系结构
在 Windows 2000 上,多个 Web 应用程序运行在一个 ASP.NET 辅助进程 (Aspnet_wp.exe) 实例中。每个应用程序都驻留在自己的应用程序域中,为托管代码提供了一定程度的独立性。Windows 2000/IIS 5 体系结构如图 1 所示。
图 1. 带有 IIS 5 的 Windows 2000 上的 ASP.NET 体系结构
表 2 总结了图 1 中所描述的体系结构的组成部分
表 2 Windows 2000 ASP.NET 体系结构组成部分 | |