当前位置:首页 > 工业技术
ASP.NET安全应用程序开发
ASP.NET安全应用程序开发

ASP.NET安全应用程序开发PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)微软公司著;詹文军,王新程译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302068631
  • 页数:461 页
图书介绍:本书主要围绕身份验证、授权和安全通信三方面,系统地介绍了ASP.NET安全应用程序的设计开发。
《ASP.NET安全应用程序开发》目录

第1章 安全简介 1

1.1 相关背景 1

1.2 安全基础 2

1.2.1 身份验证 2

1.2.2 授权 2

1.2.3 安全通信 2

1.3 各种开发技术 3

1.4 设计原则 4

1.5 本章小结 5

第2章 ASP.NET应用程序的安全模型 6

2.1 .NET Web应用程序 6

2.1.1 逻辑层 6

2.1.2 物理部署模型 7

2.2 实现技术 8

2.3 安全体系结构 9

2.3.1 跨层安全性 10

2.3.2 身份验证 11

2.3.3 授权 13

2.3.4 关守和关口 15

2.4 .NET框架安全机制 17

2.4.1 代码访问安全性 17

2.4.2 主体和标识 18

2.4.3 WindowsPrincipal和WindowsIdentity 20

2.4.4 GenericPrincipal和相关的标识对象 20

2.4.5 ASP.NET和HttpContext.User 21

2.4.6 远程处理和Web服务 21

2.5 本章小结 22

第3章 身份验证和授权 23

3.1 设计身份验证和授权策略 24

3.1.1 确定资源 24

3.1.2 选择授权策略 24

3.1.3 选择用于资源访问的标识 25

3.1.4 考虑标识的流动 26

3.1.5 选择身份验证方式 26

3.1.6 确定如何流动标识 26

3.2 授权方式 27

3.2.1 基于角色的授权 27

3.2.2 基于资源的授权 28

3.2.3 资源访问模型 28

3.2.4 受信任子系统模型 28

3.2.5 模拟/委托模型 30

3.2.6 选择资源访问模型 31

3.3 流动标识 32

3.3.1 应用程序级的标识流动和操作系统级的标识流动 33

3.3.2 模拟和委托 33

3.4 基于角色的授权 35

3.4.1 .NET角色 35

3.4.2 Enterprise Services(COM+)角色 36

3.4.3 SQL Server用户定义的数据库角色 36

3.4.4 SQL Server应用程序角色 36

3.4.5 .NET角色和Enterprise Services(COM+)角色 37

3.4.6 使用.NET角色 38

3.5 选择身份验证机制 41

3.5.1 Internet方案 42

3.5.2 Intranet/Extranet方案 43

3.5.3 各种身份验证机制的比较 44

3.6 本章小结 45

第4章 安全通信 46

4.1 了解需要保护的内容 46

4.2 SSL/TLS 47

4.3 IPSec 48

4.4 RPC加密 49

4.5 点对点安全 50

4.5.1 浏览器到Web服务器的通信 50

4.5.2 Web服务器到远程应用程序服务器的通信 50

4.5.3 应用程序服务器到数据库服务器的通信 51

4.5.4 对SQL Server使用SSL 51

4.6 在IPSec和SSL之间进行选择 52

4.7 Farming和负载平衡 52

4.8 本章小结 52

第5章 Intranet安全机制 54

5.1 ASP.NET到SQL Server 55

5.1.1 特性 55

5.1.2 提供安全保护 55

5.1.3 结果 56

5.1.4 安全配置步骤 57

5.1.5 分析 59

5.1.6 问题和解答 60

5.1.7 相关方案 60

5.2 ASP.NET到Enterprise Services到SQL Server 62

5.2.1 特性 62

5.2.2 提供安全保护 62

5.2.3 结果 63

5.2.4 安全配置步骤 64

5.2.5 分析 66

5.2.6 缺陷 66

5.3 ASP.NET到Web服务到SQL Server 67

5.3.1 特性 67

5.3.2 提供安全保护 68

5.3.3 结果 68

5.3.4 安全配置步骤 69

5.3.5 分析 71

5.3.6 缺陷 73

5.3.7 问题和解答 73

5.3.8 相关方案 73

5.4 ASP.NET到远程处理到SQL Server 73

5.4.1 特性 74

5.4.2 提供安全保护 74

5.4.3 结果 75

5.4.4 安全配置步骤 75

5.4.5 分析 78

5.4.6 缺陷 79

5.5 使原始调用者流动到数据库 79

5.5.1 ASP.NET到SQL Server 80

5.5.2 ASP.NET到Enterprise Services到SQL Server 81

5.5.3 特性 81

5.5.4 提供安全保护 82

5.5.5 结果 82

5.5.6 安全配置步骤 83

5.5.7 分析 86

5.5.8 缺陷 87

5.6 本章小结 87

第6章 Extranet安全机制 88

6.1 公开Web服务 88

6.1.1 特性 89

6.1.2 提供安全保护 89

6.1.3 结果 90

6.1.4 安全配置步骤 91

6.1.5 分析 93

6.1.6 缺陷 94

6.1.7 问题和解答 94

6.2 公开Web应用程序 96

6.2.1 方案特性 96

6.2.2 提供安全保护 97

6.2.3 结果 97

6.2.4 分析 100

6.2.5 缺陷 101

6.3 本章小结 102

第7章 Internet安全机制 102

7.1 ASP.NET到SQL Server 103

7.1.1 特性 103

7.1.2 提供安全保护 103

7.1.3 结果 104

7.1.4 安全配置步骤 104

7.1.5 分析 106

7.1.6 缺陷 108

7.1.7 相关方案 108

7.2 ASP.NET到远程Enterprise Services到SQL Server 109

7.2.1 特性 109

7.2.2 提供安全保护 110

7.2.3 结果 111

7.2.4 安全配置步骤 111

7.2.5 分析 114

7.2.6 缺陷 115

7.2.7 相关方案 115

7.3 本章小结 116

第8章 ASP.NET安全机制 117

8.1 ASP.NET安全体系结构 117

8.2 身份验证和授权策略 121

8.2.1 可用的授权选项 121

8.2.2 使用模拟功能的Windows身份验证 122

8.2.3 不使用模拟功能的Windows身份验证 124

8.2.4 使用固定标识的Windows身份验证 125

8.2.5 窗体身份验证 126

8.2.6 护照身份验证 127

8.3 配置安全性 128

8.3.1 配置IIS安全性 129

8.3.2 配置ASP.NET安全性 129

8.3.3 保护资源安全 132

8.3.4 保护通信安全 134

8.4 通过编程实现安全性 134

8.4.1 一种授权模式 134

8.4.2 创建自定义IPrincipal类 136

8.5 Windows身份验证 137

8.6 窗体身份验证 138

8.6.1 窗体身份验证的开发步骤 139

8.6.2 窗体实现指南 143

8.6.3 装载多个使用窗体身份验证的应用程序 144

8.6.4 无cookie的窗体身份验证 144

8.7 护照身份验证 144

8.7.1 将ASP.NET配置为使用护照身份验证 144

8.7.2 将护照标识映射为Global.asax中的角色 145

8.7.3 测试角色成员关系 145

8.8 自定义身份验证 145

8.9 ASP.NET的进程标识 146

8.9.1 使用具有最低权限的账户 146

8.9.2 避免使用SYSTEM账户 146

8.9.3 使用默认的ASPNET账户 147

8.10 模拟 149

8.10.1 模拟功能和本地资源 149

8.10.2 模拟功能和远程资源 149

8.10.3 模拟和线程 149

8.11 访问系统资源 149

8.11.1 访问事件日志 150

8.11.2 访问注册表 150

8.12 访问COM对象 151

8.13 访问网络资源 152

8.13.1 使用ASP.NET进程标识 153

8.13.2 使用服务组件 153

8.13.3 使用匿名Internet用户账户 154

8.13.4 使用LogonUser并模拟特定的Windows标识 156

8.13.5 使用原始调用者 156

8.13.6 访问UNC文件共享上的文件 157

8.13.7 访问非Windows网络资源 157

8.14 安全通信 158

8.15 存储机密信息 158

8.15.1 在ASP.NET中存储机密信息的选项 159

8.15.2 在单独的逻辑卷上的文件中存储机密信息 159

8.16 保护会话状态和视图状态 160

8.16.1 保护视图状态 160

8.16.2 保护Cookie 160

8.16.3 保护SQL会话状态 161

8.17 Web场 162

8.17.1 会话状态 162

8.17.2 DPAPI 163

8.17.3 在Web场中使用窗体身份验证 163

8.17.4 <machineKey>元素 163

8.18 本章小结 165

第9章 Enterprise Services安全机制 166

9.1 安全体系结构 166

9.1.1 关守和关口 167

9.1.2 使用服务器应用程序获得改进的安全性 168

9.1.3 服务器应用程序和库应用程序的安全性 169

9.1.4 代码访问安全性的要求 169

9.2 配置安全性 170

9.2.1 配置服务器应用程序 170

9.2.2 配置ASP.NET客户端应用程序 177

9.2.3 对Enterprise Services应用程序配置模拟级别 177

9.3 通过编程实现安全性 178

9.3.1 编程方式的基于角色安全性 178

9.3.2 标识调用者 179

9.4 选择一个进程标识 179

9.4.1 避免以交互用户的身份运行服务器应用程序 179

9.4.2 使用具有最低权限的自定义账户 180

9.5 访问网络资源 180

9.5.1 使用原始调用者 180

9.5.2 使用当前的进程标识 181

9.5.3 使用特定的服务账户 181

9.6 流动原始调用者 182

9.7 RPC加密 183

9.8 创建服务组件 184

9.8.1 DLL锁定问题 184

9.8.2 版本控制 184

9.8.3 QueryInterface异常 185

9.9 DCOM和防火墙 185

9.10 从ASP.NET调用服务组件 185

9.10.1 调用者的标识 186

9.10.2 使用Windows身份验证和模拟功能 186

9.10.3 在Machine.config中配置身份验证和模拟特性 186

9.10.4 配置接口代理 186

9.11 安全概念 188

9.11.1 Enterprise Services(COM+)角色和.NET角色 189

9.11.2 身份验证 190

9.11.3 模拟 192

9.12 本章小结 193

第10章 Web服务安全机制 195

10.1 Web服务安全模型 195

10.1.1 平台/传输级(点对点)安全 195

10.1.2 应用程序级安全 196

10.1.3 消息级(端对端)安全 197

10.2 平台/传输级安全体系结构 198

10.3 身份验证和授权策略 200

10.3.1 使用模拟功能的Windows身份验证 200

10.3.2 不使用模拟功能的Windows身份验证 202

10.3.3 使用固定标识的Windows身份验证 203

10.4 配置安全性 204

10.4.1 配置IIS 204

10.4.2 配置ASP.NET 205

10.4.3 保护资源的安全 205

10.4.4 禁用HTTP-GET和HTTP-POST 205

10.4.5 安全通信 206

10.5 将用于身份验证的凭据传递给Web服务 206

10.5.1 指定用于Windows身份验证的客户端凭据 207

10.5.2 从非Windows客户端调用Web服务 209

10.5.3 代理服务器身份验证 209

10.6 流动原始调用者 209

10.6.1 Kerberos委托的默认凭据 210

10.6.2 基本或窗体身份验证的显式凭据信息 212

10.7 受信任的子系统 215

10.7.1 流动调用者的标识 215

10.7.2 配置步骤 216

10.8 访问系统资源 217

10.9 访问网络资源 217

10.10 访问COM对象 217

10.11 为Web服务使用客户端证书 218

10.11.1 利用证书对Web浏览器客户端进行身份验证 218

10.11.2 使用受信任子系统模型 218

10.12 安全通信 221

10.12.1 传输级选项 221

10.12.2 消息级选项 221

10.13 本章小结 222

第11章 .NET远程处理安全机制 223

11.1 .NET远程处理体系结构 223

11.1.1 远程处理接收器 224

11.1.2 ASP.NET为宿主时的请求剖析 225

11.1.3 ASP.NET和HTTP信道 226

11.2 .NET远程处理关守 227

11.3 身份验证 228

11.3.1 装载于ASP.NET 228

11.3.2 装载于Windows服务 228

11.4 授权 229

11.5 身份验证和授权策略 230

11.6 访问系统资源 231

11.7 访问网络资源 231

11.8 将用于身份验证的凭据传递给远程对象 232

11.9 流动原始调用者 234

11.9.1 Kerberos委托的默认凭据信息 235

11.9.2 基本或窗体身份验证的显式凭据 237

11.10 受信任的子系统 240

11.10.1 流动凋用者的标识 241

11.10.2 选择宿主 241

11.10.3 配置步骤 241

11.11 安全通信 243

11.11.1 平台级选项 243

11.11.2 消息级选项 243

11.12 选择宿主进程 244

11.12.1 建议 244

11.12.2 装载于ASP.NET 244

11.12.3 装载于Windows服务 245

11.12.4 装载于控制台应用程序 246

11.13 远程处理与Web服务的比较 246

11.14 本章小结 248

第12章 数据访问安全性 249

12.1 数据访问安全简介 249

12.1.1 SQL Server关守 250

12.1.2 受信任子系统和模拟/委托模型的比较 251

12.2 身份验证 252

12.2.1 Windows身份验证 252

12.2.2 SQL身份验证 257

12.3 授权 259

12.4 安全通信 261

12.4.1 安全选项 261

12.4.2 选择选项 261

12.5 使用最低权限的连接 262

12.5.1 数据库信任应用程序 262

12.5.2 数据库信任不同的角色 262

12.5.3 数据库信任原始调用者 263

12.6 创建最低权限的数据库账户 263

12.7 安全地存储数据库连接字符串 264

12.7.1 选项 264

12.7.2 使用DPAPI 265

12.7.3 使用Web.config和Machine.config 268

12.7.4 使用UDL文件 268

12.7.5 使用自定义文本文件 269

12.7.6 使用注册表 270

12.7.7 使用COM+目录 270

12.8 根据数据库对用户进行身份验证 271

12.8.1 保存单向密码哈希值(带有salt值) 271

12.8.2 创建salt值 271

12.8.3 创建哈希值(带有Salt) 271

12.9 SQL注入攻击 272

12.9.1 问题 272

12.9.2 SQL脚本注入攻击 273

12.9.3 保护模式匹配语句 275

12.10 审核 275

12.11 用于SQL Server的进程标识 277

12.12 本章小结 277

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

13.1 疑难解答过程 279

13.2 身份验证问题疑难解答 280

13.2.1 IIS身份验证问题 281

13.2.2 使用Windows身份验证 281

13.2.3 使用窗体身份验证 282

13.2.4 Kerberos疑难解答 282

13.3 授权问题疑难解答 282

13.3.1 检查Windows ACL 282

13.3.2 检查标识 283

13.3.3 检查<authorization>元素 283

13.4 ASP.NET 283

13.4.1 启用跟踪功能 283

13.4.2 配置设置 284

13.5 确定标识 284

13.5.1 确定Web页中的标识 284

13.5.2 确定Web服务中的标识 287

13.5.3 确定Visual Basic 6 COM对象中的标识 287

13.6 .NET远程处理 288

13.7 SSL 288

13.8 审核和记录 289

13.8.1 Windows安全日志 289

13.8.2 SQL Server审核 289

13.8.3 IIS记录 290

13.9 疑难解答工具 291

13.9.1 File Monitor(FileMon.exe) 291

13.9.2 Fusion Log Viewer(Fuslogvw.exe) 291

13.9.3 ISQL.exe 292

13.9.4 Windows Task Manager 292

13.9.5 Network Monitor(NetMon.exe) 293

13.9.6 Registry Monitor(regmon.exe) 293

13.9.7 WFetch.exe 293

13.9.8 Visual Studio.NET工具 293

13.9.9 WebServiceStudio 293

13.9.10 Windows 2000 Resoure Kit 294

附录A 参考 295

A.1 如何创建自定义账户来运行ASP.NET 295

A.2 如何对Active Directory使用窗体身份验证 301

A.3 如何对SQL Server 2000使用窗体身份验证 309

A.4 如何通过窗体身份验证创建GenericPrincipal对象 318

A.5 如何对Windows 2000实现Kerberos委托 324

A.6 如何实现IPrincipal 326

A.7 如何创建DPAPI库 335

A.8 如何从ASP.NET使用DPAPI(计算机存储区) 343

A.9 如何通过Enterprise Services从ASP.NET使用DPAPI(用户存储区) 348

A.10 如何创建加密库 359

A.11 如何在注册表中存储加密的连接字符串 369

A.12 如何通过Enterprise Services使用基于角色的安全性 375

A.13 如何使用客户端证书从ASP.NET调用Web服务 380

A.14 如何使用SSL调用Web服务 391

A.15 如何在Windows服务中装载远程对象 395

A.16 如何在Web服务器上设置SSL 400

A.17 如何设置客户端证书 404

A.18 如何使用IPSec在两台服务器之间提供安全通信 408

A.19 如何使用SSL保护与SQL Server 2000之间的通信 415

附录B 配置的存储位置和编辑工具 423

附录C 工作内幕 429

C.1 IIS和ASP.NET处理 429

C.2 ASP.NET管道处理 430

附录D ASP.NET标识矩阵 437

相关图书
作者其它书籍
返回顶部