分享
 
 
 

构建安全的 ASP.NET 应用程序

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

构建安全的 ASP.NET 应用程序

路线图

总目录

概览

简介

ASP.NET 应用程序的安全模型

身份验证和授权

安全通信

Intranet

Extranet 安全性

Internet

ASP.NET 安全性

企业服务安全性

Web 服务安全性

远程处理安全性

数据访问安全性

安全问题疑难解答

如何做(How to)文章集锦

附录:

工作原理

ASP.NET 标识矩阵

基本配置

配置存储和工具

密钥和证书

.NET Web 应用程序安全性

术语表

参考中心

身份验证、授权和安全通信

J.D. Meier、Alex Mackman、Michael Dunner 和 Srinath Vasireddy

Microsoft Corporation

2002 年 10 月

概览

本节概要介绍本指南各章节的大致内容和范围。

第 1 章 — 简介

本章着重说明了本指南的目标,介绍了关键术语并且提出了后面章节指导所遵循的中心原则。

第 2 章 — .NET Web 应用程序安全模型

本章从安全角度介绍了 .NET Web 应用程序的共同特征,并介绍了 .NET Web 应用程序安全模型,还介绍了在构建安全的 .NET Web 应用程序时将要用到的核心实施技术。

同时,本章还介绍了可用于开发纵深防御安全策略的各种网关守卫程序,解释了使用主体对象和标识对象进行基于主体的授权的概念。

本章将帮助您解答以下问题:

.NET Web 应用程序通常采用什么样的部署模式?

用于构建 .NET Web 应用程序的各种技术提供了哪些安全功能?

我该了解哪些网关守卫?如何使用它们提供纵深防御安全策略?

什么是主体对象和标识对象?为什么它们非常重要?

.NET 安全性与 Windows 安全性之间存在什么样的关系?

第 3 章 — 身份验证和授权

设计一种跨应用程序多层的一致的身份验证和授权策略是一项很关键的任务。本章提供有关的指导,以帮助您为特定的应用程序方案开发合适的策略,还将帮助您选择最适合的身份验证和授权技术,并以正确的方式应用于您的应用程序。

阅读本章可以了解到如何执行以下任务:

选择适当的身份验证机制识别用户。

开发有效的授权策略。

选择适当的基于角色的安全类型。

比较和对比 .NET 角色与 Enterprise Services (COM+) 角色。

使用数据库角色。

在受信任的子系统资源访问模型与模拟/委派模型之间做出选择,后者用于在操作系统级别让原调用方安全上下文通过应用程序的多个层。

图 1 和图 2 显示这两个核心资源访问模型。

图 1 受信任的子系统模型

在受信任的子系统模型中:

使用固定的受信任 标识和安全上下文执行下游资源访问。

下游资源管理器(例如,数据库)委托上游应用程序对调用方进行适当的身份验证和授权。

资源管理器向应用程序授予资源访问权限。原调用方没有资源管理器的直接访问权限。

下游与上游组件之间存在信任界线。

原调用方标识(用于审核)在应用程序(而非操作系统)级别传递。

图 2 模拟/委派模型

在模拟/委派模型中:

使用原调用方的安全上下文执行下游资源访问。

下游资源管理器(例如,数据库)向各个调用方授权。

原调用方标识在操作系统级别传递,可供进行平台级别审核和进行按调用方授权使用。

第 4 章 — 安全通信

本章介绍了两项核心技术,它们能在 Internet 和公司 Intranet 上,为客户端和服务器间的网络数据流提供消息机密性和消息完整性保障,这就是 SSL 和 IPSec。本章还讨论了 RPC 加密技术,这种技术可用来保障与远程服务组件通信的安全。

阅读本章可以了解到如何执行以下任务:

在应用程序的各层上应用安全通信技术。

在 SSL 和 IPSec 之间选择。

配置安全通信。

使用 RPC 加密。

本章讲解在应用程序的各物理层之间提供安全通信信道的需要,如图 3 所示。

图3 能够安全通信的典型 Web 部署模型

第 5 章 — Intranet

本章介绍一组常用的 Intranet 应用程序方案,并针对每种方案介绍了推荐的安全配置。同时,本章还介绍了构建每种安全解决方案所需的配置步骤,对每种方案的分析,以及其他相关但具体情况不同的方案。

本章介绍的应用程序方案如下:

ASP.NET 到 SQL Server .图 4 中显示了此方案。

ASP.NET 到 Enterprise Services 到 SQL Server

ASP.NET 到 Web 服务到 SQL Server

ASP.NET 到 Remoting 到 SQL Server

将原调用方传递到数据库.它包括多层 Kerberos 委派方案,如图 5 所示。

图4 ASP.NET 到远程 SQL Server 方案的安全配置

图5 ASP.NET 到远程 Enterprise Services 到远程 SQL Server Kerberos 委派方案的安全配置

阅读本章可以了解到如何执行以下任务:

使用本地 ASPNET 帐户从 ASP.NET Web 应用程序调用远程 SQL Server 数据库。

使用 Windows 身份验证与 SQL Server 之间建立受信任的数据库连接。

使用 SQL Server 用户定义的数据库角色授予数据库访问权限。

避免在应用程序中存储凭据。

使用 SSL 和 IPSec 的组合保护机密数据。

实施 Kerberos 委派,以便将原调用方的安全上下文通过应用程序的多个层传递到后端数据库。

使用基本身份验证传递原调用方的安全上下文。

联合使用 ASP.NET 文件授权、URL 授权、.NET 角色和 Enterprise Services (COM+) 角色向用户授权。

在 ASP.NET Web 应用程序中有效地使用模拟。

第 6 章 — Extranet

本章介绍一组常用的 Extranet 应用程序方案,并针对每种方案提供了推荐的安全配置、配置步骤及分析。

本章介绍的 Extranet 方案如下:

公开 Web 服务(B2B 合作伙伴交换)

图 6 中显示了此方案。

公开Web 应用程序(合作伙伴应用程序门户)

图 6 Web 服务 B2B 合作伙伴交换方案的安全配置

阅读本章可以了解到如何执行以下任务:

对照专用的 Extranet Active Directory 使用客户端证书身份验证,以此验证合作伙伴公司的身份。

将证书映射到 Windows 帐户。

使用 ASP.NET 文件授权和 .NET 角色向合作伙伴公司授权。

使用 ASPNET 标识访问位于公司 Intranet 上的远程 SQL Server 数据库。

第 7 章 — Internet

本章介绍一组常用的 Internet 应用程序方案,并针对每种方案介绍了推荐的安全配置、配置步骤及分析。

本章介绍的 Internet 应用程序方案如下:

ASP.NET 到 SQL Server

ASP.NET 到远程 Enterprise Services 到 SQL Server

图 7 中显示了此方案。

图 7 ASP.NET 到远程 Enterprise Services 到 SQL Server 的安全配置

阅读本章可以了解到如何执行以下任务:

通过 SQL Server 凭据数据库使用表单身份验证。

避免在凭据数据库中存储密码。

使用 URL 授权和 .NET 角色向 Internet 用户授权。

从 ASP.NET Web 应用程序通过防火墙对 SQL Server 使用 Windows 身份验证。

使用 SSL 和 IPSec 的组合保护机密数据。

使用 SOAP 从 ASP.NET Web 应用程序通过防火墙与远程 Enterprise Services 应用程序进行通信。

保护对应用程序中间层服务组件的调用。

第 8 章 — ASP.NET 安全性

本章深入介绍了 ASP.NET Web 应用程序的安全性建议,其中包括 IIS 和 ASP.NET 所提供的身份验证、授权和安全通信服务,如图 8 所示。

图 8 ASP.NET 安全服务

阅读本章可以了解到如何执行以下任务:

配置各种 ASP.NET 身份验证模式。

实施表单身份验证。

实施 Windows 身份验证。

使用 IPrincipal 和 IIdentity 对象。

有效地使用 IIS 和 ASP.NET 网关守卫。

配置和使用 ASP.NET 文件授权。

配置和使用 ASP.NET URL 授权。

使用主体权限要求和 IPrincipal.IsInRole 实施声明式、命令式和编程方式的基于角色的安全机制。

了解何时应该以及何时不应该在 ASP.NET Web 应用程序中使用模拟。

选择适当的帐户来运行 ASP.NET。

使用 ASP.NET 进程标识访问本地和网络资源。

使用本地 ASPNET 帐户访问远程 SQL Server 数据库。

从 ASP.NET 调用 COM 对象。

在 Web 宿主环境中有效地使用匿名 Internet 用户帐户。

在 ASP.NET Web 应用程序中存储机密。

保护会话和视图状态。

在网络场方案中配置 ASP.NET 安全性。

第 9 章 —企业服务安全性

本章解释如何保护 Enterprise Services 应用程序所包含的服务组件中的业务功能。本章介绍了如何以及何时使用 Enterprise Services (COM+) 角色进行授权,以及如何配置 RPC 身份验证和模拟,还介绍了如何从 ASP.NET Web 应用程序安全调用服务组件以及如何通过中间层服务组件标识和传递原调用方的安全上下文。

图 9 显示了本章介绍的 Enterprise Services 安全功能。

图 9 Enterprise Services 安全性概况

阅读本章可以了解到如何执行以下任务:

使用 .NET 属性配置 Enterprise Services 应用程序。

保护服务器和库应用程序。

选择适当的帐户来运行 Enterprise Services 的服务器应用程序。

同时以编程方式和声明方式实施方法级别基于 Enterprise Services (COM+) 角色的安全性。

将 ASP.NET 配置为 DCOM 客户端。

从 ASP.NET 安全地调用服务组件。

比较 Enterprise Services (COM+) 角色与 .NET 角色。

在服务组件内标识调用方。

在服务组件内使用编程模拟将原调用方的安全上下文传过 Enterprise Services 应用程序。

从服务组件访问本地和网络资源。

使用 RPC 加密来保护传递给服务组件和从服务组件传出的机密数据。

了解 RPC 身份验证级别协商的过程。

通过防火墙使用 DCOM。

第 10 章 — Web 服务安全性

本章重点介绍使用 IIS 和 ASP.NET 的基础功能的 Web 服务的平台级别安全性。对于消息级别安全性,Microsoft 正在开发 Web 服务开发工具包,利用该工具包,您可以构建符合 WS-Security 规范(全局 XML 体系结构 (GXA) 提案的一部分)的安全解决方案。

图 10 显示了 ASP.NET Web 服务平台安全性体系结构。

图 10 Web 服务安全性体系结构

阅读本章可以了解到如何执行以下任务:

实施基于平台的 Web 服务安全解决方案。

开发 Web 服务的身份验证和授权策略。

在 Web 服务中使用客户端证书身份验证。

使用 ASP.NET 文件授权、URL 授权和 .NET 角色在 Web 服务中提供授权。

将原调用方的安全上下文传过 Web 服务。

使用 SSL 调用 Web 服务。

从 Web 服务访问本地和网络资源。

将身份验证凭据通过 Web 服务代理传递到 Web 服务。

为 Web 服务实施受信任的子系统模型。

从 Web 服务调用 COM 对象。

第 11 章 –远程处理安全性

.NET Framework 提供了远程处理的基础结构,这样客户端就可以与驻留在远程应用程序域或进程中的对象或远程计算机上的对象通信。本章介绍了如何实施安全的 .NET Remoting 解决方案。

阅读本章可以了解到如何执行以下任务:

为远程组件选择适当的主机。

使用所有可用的网关守卫提供纵深防御安全机制。

使用 URL 身份验证和 .NET 角色授予远程组件的访问权限。

在远程处理中使用文件身份验证。这要求创建与远程组件对象 URI 相对应的、实际的 rem 或 .soap 文件。

从远程组件访问本地和网络资源。

将身份验证凭据通过远程组件代理对象传递到远程组件。

将原调用方的安全上下文传过远程组件。

联合使用 SSL 和 IPSec 保护远程组件的往来通信。

了解何时使用远程处理,何时使用 Web 服务。

第 12 章 — 数据访问安全性

本章介绍有助于您开发安全的数据访问策略的建议和指导。图 11 显示了本章介绍的几项关键内容。这包括:安全存储连接字符串;使用适当的标识访问数据库;保护传入和传出数据库的数据;使用适当的身份验证机制;在数据库中实施授权。

图 11

阅读本章可以了解到如何执行以下任务:

从 ASP.NET 对数据库使用 Windows 身份验证。

保护连接字符串。

从 ASP.NET Web 应用程序使用 DPAPI 存储机密(如连接字符串和凭据)。

将身份验证凭据安全地存储在数据库中。

验证用户输入,以防 SQL 注入式攻击。

减轻与使用 SQL 身份验证相关的安全威胁。

了解要使用的数据库角色类型。

比较和对比数据库用户角色与 SQL Server 应用程序角色。

使用 IPSec 和 SSL 保护与 SQL Server 的通信。

创建权限最少的数据库帐户。

在 SQL Server 中启用审核。

第 13 章 – 安全问题疑难解答

本节介绍一组疑难解答提示、技术和工具,帮助您诊断与安全有关的问题。

其他信息

本指南这一节中的补充信息可帮助您加深对前面各章讲述的技术、策略和安全解决方案的理解。详尽的“如何做”主题为您提供了循序渐进的步骤,从而帮助您实施特定的安全解决方案。它包含以下信息:

工作原理

ASP.NET 标识矩阵

基本配置

配置存储和工具

密钥和证书

.NET Web 应用程序安全性

术语表

参考中心

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有