为什么编写这些章节
本指南既不是一个安全介绍,也不是微软 .NET Framework 的安全参考;因为您可以从 MSDN 开发计划中获得 .NET Framework 软件开发包 (SDK)。本指南收集了上述文档遗漏的内容,并介绍了一种基于场景方法,用于共享建议和已经证明的技巧。我们希望这些章节尽可能接近现实操作,因此其中饱含着深刻的见解,建议和从切身经历、用户经历和微软的产品团队信息中获取的优秀经验。
可以使用很多技术来构建 .NET Web 程序。要建立高效、实用的身份验证和授权策略,您需要理解如何在各种产品和技术领域中调整各种微妙的安全特性,以及如何使它们协同工作,以产生一种高效的、纵深防御的安全策略。本指南集中讨论分布式 ASP.NET 应用程序各层之间的安全和身份管理。
更明确地说,我们选择了身份验证、授权和通信安全作为重点讨论对象。安全是个广泛的主题,不过研究显示,早期设计身份验证和授权可以消除大部分应用程序的脆弱性。通信安全是保护分布式应用程序安全的一个不可或缺的部分,它可以保护出入于应用程序以及应用程序各层之间敏感数据,包括凭据。
谁应该阅读这些章节?
如果您是一个中间件开发人员或软件设计人员,计划或正在使用下面的一种或多种技术构建 .NET Web 应用程序,您应该阅读这些章节。
• | ASP.NET |
• | Web Services |
• | Enterprise Services |
• | Remoting |
• | ADO.NET |
要想最有效地使用本指南帮助您设计和构建更安全的 .NET Web 应用程序,您应该通晓并具有一些使用 .NET 开发技术和知识的经验。熟悉分布式应用程序的体系结构,并且如果您已经实现了 .NET Web 应用程序解决方案,您应该知道自己的应用程序的体系结构和使用的模式。
您应该如何阅读这些章节
本指南是按照章节构建的。您可以挑选、选择要阅读的章节。例如,如果您对学习某种特定技术提供的深入的安全功能感兴趣,就可以直接跳到下面的章节:" “ASP.NET安全”、“企业服务安全性”、“Web 服务安全性”、“.NET 远程处理安全性”和“数据访问安全性”。
不过,建议您首先阅读前面的章节,因为它们可以帮助您自如地理解安全模型、识别核心技术和安全服务。应用程序设计人员应该确保自己阅读了“身份验证和授权”一章,这一章介绍了设计横跨 Web 应用程序各层的身份验证和授权策略的一些关键的观点。前三章介绍了基础内容,可以帮助您在阅读该本南的其他章节时获得最大的收益。
“Intranet环境中的 .NET Web 应用程序安全”、“Extranet环境中的 .NET Web 应用程序安全”和“Internet 环境中的 .NET Web 应用程序安全”三章,将会介绍了如何在特定应用场景下的保证安全性。如果您知道您的应用程序所采用的或将要采用的体系结构和部署模式,可以通过阅读这些章节来理解有关的安全主题和使特定的场景更安全所需要的基本配置步骤。
最后,各章的附加信息和参考资料有助于深化对特定技术领域的理解。本指南含有一个“如何做”文章库,可以使您在最短的时间内开发出可行的安全解决方案。
章节的组织
本指南可以分为四大部分。目的是提供一种符合逻辑的组织结构,帮助您更容易地理解内容。
第一部分,安全模块
第一部分是指南其他部分的基础。熟悉第一部分介绍的概念、原理和技术,有助于您从本指南的其他部分获得最大的收益。第一部分包括以下章节:
• | |
• | |
• |
第二部分,应用场景
大多数应用程序可以归结为intranet、extranet或 Internet 的应用程序。指南的这一部分介绍了一些常见的应用场景,每种场景都属于上面提到的类别。描述了各场景的关键特征,分析了潜在的安全威胁。
您将看到如何为各应用场景配置和实施最适宜的身份验证、授权和安全通信策略。各场景还包含详细分析的部分、应该引起注意的常见易犯的错误,和常见问题 (FAQ)。第二部分包含下面的章节:
• | “在 Intranet 环境中保护 .NET Web 应用程序” |
• | “在 Extranet 环境中保护 .NET Web 应用程序” |
• | “在 Internet 环境中保护 .NET Web 应用程序” |
第三部分,层安全
指南的这一部分包含与单独的层相关的详细信息和与安全相关的技术。第三部分包含以下章节:
• | |
• | |
• | |
• | |
• |
各章均给出了安全体系结构用于特定技术问题的概述。本指南对每种技术都给出了身份验证和授权策略,此外还就何时使用特定的策略给出了可配置的安全选项、可编程的安全选项和可操作的建议。
各章均提供了指导意见和深入的见解,有助于为每种技术选择和实现最合适的身份验证、授权和安全通信选项。此外,各章还为特定的技术提供了附加信息。最后,各章均以一个简要的建议总结结尾。
第四部分,参考
指南的参考部分包含补充信息,可以帮助您深入理解这些在前面的章节中给出的技巧、策略和安全解决方案。详细的“如何做”一章提供了一步一步的过程,帮助您实现特定的安全解决方案。本部分包含以下信息:
• | |
• | "Index of Building Secure ASP.NET How Tos" |
• | “Building Secure Microsoft ASP.NET Applications – 基本配置” |
• | “Building Secure Microsoft ASP.NET Applications – 配置存储和工具” |
• | “Building Secure Microsoft ASP.NET Applications – 参考中心” |
• | “Building Secure Microsoft ASP.NET Applications – 如何工作?” |
• | |
• |
系统要求
这些章节可以帮助您在使用 Microsoft Window2000 操作系统和 .NET Framework 的计算机上,设计和构建安全的 ASP.NET 应用程序。所针对的是 .NET Framework (带有服务补丁2)的1版本,尽管这些概念和代码也可以在 .NET Framework 的下一个版本中运行。这些章节可以使您为在下一个版本中提供的新的安全功能做好准备,也为与 Windows Server™2003 一起提供的附加功能做好准备, Windows Server™2003 是微软的下一代 Windows 服务器操作系统。
要使用这些章节,您至少需要一台运行 Windows XP Professional 或 Windows 2000 Server SP3 的计算机。此外,您还需要微软 Visual Studio_.NET 开发系统、.NET Framework SP2 和 SQL Server™2000 SP2。
为了实现上面讨论的一些方案,您还需要另一台运行 Windows 2000 Server SP3、 Window 2000 Advanced SP3 或 Windows 2000 DataCenter Server SP3 的计算机。
安装示例文件
示例文件可以在http://www.microsoft.com/mspress/guides/6501.asp 网站上下载。要下载这些实例文件,点击网页右边,“更多信息”菜单上的“Companion Content”链接。这将加载 Companion Content 页面,该页面包含可下载的示例文件的链接。