打印本文 打印本文 关闭窗口 关闭窗口
确保 ASP.NET 应用程序和 Web Services 的安全
作者:武汉SEO闵涛  文章来源:敏韬网  点击数5004  更新时间:2009/4/23 10:47:44  文章录入:mintao  责任编辑:mintao

确保 ASP.NET 应用程序和 Web Services 的安全

更新日期: 2004年04月12日
本页内容
本模块内容 本模块内容 目标 目标 适用范围 适用范围 如何使用本模块 如何使用本模块 方法 方法 必备知识 必备知识 描述 Machine.Config 和 Web.Config 描述 Machine.Config 和 Web.Config Machine.Config 和 Web.Config 指南 Machine.Config 和 Web.Config 指南 ASP.NET 中的信任级别 ASP.NET 中的信任级别 ASP.NET 的进程标识 ASP.NET 的进程标识 模拟 模拟 身份验证 身份验证 授权 授权 会话状态 会话状态 视图状态 视图状态 计算机密钥 计算机密钥 调试 调试 跟踪 跟踪 异常管理 异常管理 远程处理 远程处理 Web Services Web Services 禁止访问的资源 禁止访问的资源 bin 目录 bin 目录 事件日志 事件日志 文件访问 文件访问 ACL 和权限 ACL 和权限 注册表 注册表 数据访问 数据访问 UNC 共享 UNC 共享 COM/DCOM 资源 COM/DCOM 资源 拒绝服务注意事项 拒绝服务注意事项 Web 场注意事项 Web 场注意事项 安全 ASP.NET 应用程序的快照 安全 ASP.NET 应用程序的快照 小结 小结 其他资源 其他资源

本模块内容

安全的 ASP.NET Web 应用程序依赖于完全安全的网络、主机和平台基础结构。当上述条件满足后,攻击者将尝试利用 Web 应用程序和 Web Services(通常在端口 80 上侦听)中的漏洞。如果未有效配置 Web 应用程序,攻击者可能会获得系统的访问权限并利用系统。

作为管理员,您必须检查默认的计算机级配置和各个应用程序配置,以处理和删除所有漏洞或不安全设置。

本模块从系统管理员的角度描述了 ASP.NET 中的新增内容,并描述了如何配置计算机范围和应用程序特定的安全设置。此外,本模块还提供了确保 ASP.NET Web 应用程序和 Web Services 安全的方法,这种方法是为确保网络、应用程序服务器、数据库服务器和 Web 服务器安全而推荐的方法的补充。

返回页首返回页首

目标

使用本模块可以实现:

使用 Aspnet_setreg.exe 实用程序在注册表中存储凭据和连接字符串。

使用配置文件 (*.config) 管理 Web 应用程序环境。

了解如何分层实施和处理 Machine.config 和 Web.config。

锁定配置设置。

强制实施计算机范围和 Web 应用程序安全策略。

使用 <location> 元素自定义文件和目录安全设置。

确保 ASP.NET 进程标识的安全,并在 ASP.NET 应用程序中使用自定义模拟。

了解 ASP.NET 进程帐户所需的 NTFS 权限。

使用表单身份验证和 URL 授权来保护资源。

确保 ASP.NET 会话状态的安全。

确保 Web 场的安全并保护 bin 目录。

返回页首返回页首

适用范围

本模块适用于下列产品和技术:

Microsoft Windows Server 2000

Microsoft .NET Framework 1.1 和 ASP.NET 1.1

Microsoft SQL Server 2000

返回页首返回页首

如何使用本模块

本模块着重描述了 ASP.NET 应用程序的主要安全注意事项。为了充分理解本模块内容,请:

阅读模块 16 保护 Web 服务器。本模块描述了如何确保 Windows 2000 操作系统和 Microsoft .NET Framework 的安全。安全的基础平台是确保 ASP.NET Web 应用程序或 Web Services 安全的前提。

使用快照。表 19.4(在本模块结尾部分)中显示了安全 ASP.NET 应用程序的快照,该应用程序在 Machine.config 和 Web.config 中具有安全的配置设置。可在配置服务器和应用程序设置时使用此表。

使用检查表。本指南“检查表”部分的检查表:保护 ASP.NET 的安全提供了可打印的作业指导,以供快速参考。使用基于任务的检查表可以快速评估需要哪些步骤,并帮助您逐步完成各个步骤。

要获取相关指南,请阅读模块 20 驻留多个 ASP.NET 应用程序,本模块描述了如何将同一服务器上运行的多个 Web 应用程序与重要的系统资源隔离,以及如何将各个 Web 应用程序彼此隔离。有关配置部分信任 Web 应用程序和 Web Services 的代码访问安全性 (CAS) 策略的详细信息,请参阅模块 9 ASP.NET 代码访问安全性。

返回页首返回页首

方法

要确保 ASP.NET 应用程序的安全,应先强化操作系统和 .NET Framework 安装基准,然后应用安全的应用程序配置设置,以减小应用程序的受攻击面。

这些措施包括:

服务。.NET Framework 安装了 ASP.NET 状态服务,以管理进程外的 ASP.NET 会话状态。请确保 ASP.NET 状态服务的安全(如果已安装该服务)。如果不需要,请禁用 ASP.NET 状态服务。

协议。限制 Web Services 协议以减小攻击面。

帐户。创建默认的 ASPNET 帐户,用来运行 Web 应用程序、Web Services 和 ASP.NET 状态服务。如果创建自定义帐户以运行进程或服务,必须将其配置为最小特权用户,使其具有必需的 NTFS 权限和 Windows 特权的最小集合。

文件和目录。应确保用来保存私有程序集的应用程序 bin 目录的安全,以降低攻击者下载业务逻辑的风险。

配置存储。许多控制功能区域(如验证、授权、会话状态等)的安全相关设置在 Machine.config 和 Web.config XML 配置文件中进行维护。要确保 ASP.NET 应用程序的安全,必须使用安全的配置设置。

返回页首返回页首

必备知识

在采取措施确保 Web 应用程序和 Web Services 的安全之前,应该了解一些基本注意事项和详细信息。

ASP.NET 处理模块

在 Microsoft Windows 2000 中,Internet 信息服务 (IIS) 5.0 在 ASP.NET 工作进程 (Aspnet_wp.exe) 中运行所有的 Web 应用程序和 Web Services。隔离单元是应用程序域,每个虚拟目录都有自己的应用程序域。进程级的配置设置由 Machine.config 中的 <processModel> 元素维护。

在 Microsoft Windows Server 2003 中,IIS 6.0 应用程序池允许使用单独的进程隔离应用程序。有关详细信息,请参阅模块 20 驻留多个 ASP.NET 应用程序。

ASP.NET 帐户

ASPNET 帐户是安装 .NET Framework 时创建的最小特权本地帐户。默认情况下,它将运行 ASP.NET 工

[1] [2] [3] [4] [5] [6] [7]  下一页

打印本文 打印本文 关闭窗口 关闭窗口