| 本章内容 | |
| 目标 | |
| 适用范围 | |
| 如何使用本章内容 | |
| 摘要 | |
| IIS 安全配置 | |
| ASP.NET 安全配置 | |
| 企业服务安全配置 | |
| ASP.NET Web 服务安全配置 | |
| .NET Remoting 安全配置** | |
| SQL Server 安全配置 |
本章总结了 .NET Web 应用程序可以使用的各种身份验证、授权和安全通信配置设置。它详细介绍了保存每个配置项的位置以及可以使用哪些工具来编辑这些设置。
本章的目标是:
| • | 了解 .NET 安全配置存储 |
| • | 了解可编辑安全设置的工具 |
本章适用于以下产品和技术:
| • | Windows 2000 Server 2000 |
| • | Microsoft .NET Framework |
| • | Microsoft SQL Server 2000 |
本章是《构建安全的 ASP .NET 应用程序》指南的参考章节。它包含一些补充信息,可以帮助您进一步了解本指南其他章节中所述的解决方案,应在阅读时一并阅读。
下表总结了 .NET Web 应用程序可以使用的身份验证、授权和安全通信服务组合。表中列出了每种核心 .NET Web 应用程序技术可以使用的各种安全服务、保存每种技术相关安全配置设置的位置以及可以使用哪种工具来编辑这些设置。
注意:Internet 信息服务 (IIS) 元数据库中的设置是使用 IIS MMC 管理单元配置的,或者通过脚本以编程方式配置的。可以使用任何文本编辑器(如“记事本”)或 XML 编辑器(如 Microsoft Visual Studio® .NET XML 编辑器)编辑 machine.config 或 web.config 中保存的设置。
| 身份验证 | 配置 | 工具 |
匿名 | IIS 元数据库 | IIS MMC 管理单元 脚本 可用来创建测试证书的 Makecert.exe |
授权 | 配置 | 工具 |
NTFS 权限 IP 和 DNS 限制 | Windows (NTFS) 文件系统 IIS 元数据库 | Windows 资源管理器 |
安全通信 | 配置 | 工具 |
SSL IPSec | Windows (NTFS) 文件系统 计算机的本地策略(注册表)或 Microsoft Active Directory® 目录服务 | IIS MMC 管理单元脚本 本地安全策略 MMC 管理单元 域安全策略 MMC 管理单元 Ipsecpol.exe |
其他网关守卫 | 配置 | 工具 |
IP 地址和域名限制 | IIS 元数据库 | IIS MMC 管理单元脚本 |
| 身份验证 | 配置 | 工具 |
Windows | machine.config 或 web.config 的 <authentication> 元素 | Notepad.exe |
授权 | 配置 | 工具 |
URL 授权
.NET 角色 | Machine.config 或 Web.config 的 <authorization> 元素
| Notepad.exe Windows 资源管理器 对于 Windows 组,使用 Active Directory 用户和计算机 MMC 管理单元或(对于本地设置)使用“计算机管理”工具 ADSI 脚本 对于自定义组 - 取决于自定义数据存储 |
| 身份验证 | 配置 | 工具 |
DCOM/RPC 身份验证 | COM+ 目录 注意:服务组件(和常规 DCOM)代理的计算机范围的设置保存在 | 组件服务 MMC |
授权 | 配置 | 工具 |
企业服务 (COM+) 角色 Windows ACL(在服务组件中使用模拟时) | COM+ 目录 Windows (NTFS) 文件系统 | 组件服务 MMC Windows 资源管理器 |
安全通信 | 配置 | 工具 |
RPC 加密(数据包保密性)
| COM+ 目录 注意:服务组件(和常规 DCOM)代理的计算机范围的设置保存在 Machine.config 中。 计算机的本地策略(注册表)或 Active Directory | 组件服务脚本(目录自动化对象)
|
* 企业服务组件的安全服务适用于服务器应用程序和库应用程序驻留的组件。但是,库应用程序有一些限制。因为许多安全默认值是从主进程继承的,所以不能直接进行配置。库应用程序也可以明确地关闭进程范围内的身份验证。有关详细信息,请参见第 9 章企业服务安全性。
| 身份验证 | 配置 | 工具 |
Windows 自定义 | Machine.config 或 Web.config 的 <authentication> 元素 自定义数据存储(如 SQL Server 或 Active Directory) | 记事本 Visual Studio .NET 任何 XML 编辑器 取决于自定义存储 |
授权 | 配置 | 工具 |
URL 授权 文件授权 .NET 角色 | Web.config Windows (NTFS) 文件系统 Active Directory | 记事本 Visual Studio .NET 任何 XML 编辑器 Windows 资源管理器 对于 Windows 组,使用 Active Directory 用户和计算机 MMC 管理单元或(对于本地设置)使用“计算机管理”工具 ADSI 脚本 |
安全通信 | 配置 | 工具 |
SSL IPSec | IIS 元数据库 计算机的本地策略(注册表)或 Active Directory | IIS MMC 管理单元脚本 本地安全策略 MMC 管理单元 |
注意:下表假定在 ASP.NET 中驻留对象并使用 HTTP 通道
| 身份验证 | 配置 | 工具 |
Windows 自定义 | IIS 元数据库 自定义数据存储(如 SQL Server) | IIS MMC 管理单元脚本 取决于自定义存储 |
授权 | 配置 | 工具 |
URL 授权 文件授权 .NET 角色 | Web.config Windows (NTFS) 文件系统 Active Directory | 记事本 Visual Studio .NET 任何 XML 编辑器 Windows 资源管理器 对于 Windows 组,使用 Active Directory 用户和计算机 MMC 管理单元或(对于本地设置)使用“计算机管理”工具 ADSI 脚本 |
安全通信 | 配置 | 工具 |
SSL IPSec | IIS 元数据库 计算机的本地策略(注册表)或 Active Directory | IIS MMC 管理单元脚本 本地安全策略 MMC |
** 为 .NET Remoting 显示的安全服务假定 .NET 远程组件驻留在 ASP.NET 中并且使用的是 HTTP 通道。在使用 TCP 通道且在 IIS 外部(例如,在自定义的 Win32 进程或 Win32 服务中)驻留的 .NET 远程组件没有可用的默认安全服务。有关详细信息,请参见第 11 章 .NET Remoting 安全性。
| 身份验证 | 配置 | 工具 |
集成 Windows | SQL Server SQL Server | SQL Server 企业管理器 |
授权 | 配置 | 工具 |
对象权限 | SQL Server | SQL Server 企业管理器 |
安全通信 | 配置 | 工具 |
SSL IPSec | 服务器的计算机证书存储 计算机的本地策略(注册表)或 Active Directory | 证书 MMC 管理单元 本地安全策略管理单元 |