译者序
序言
前言
第一部分 安全性概述与安全应用程序的设计
第1章 安全性基础
1.1 为何要开发安全应用程序
1.2 安全的定义
1.3 为什么安全性难以实现
1.4 基本原则
1.5 威胁、安全保护措施、弱点与攻击
1.6 本章小结
第2章 开发安全Web应用程序的过程
2.1 安全特性的设计过程
2.1.1 对业务和产品的需求
2.1.2 信息需求
2.1.3 威胁与风险
2.1.4 安全策略
2.1.5 安全技术
2.1.6 安全服务程序
2.2 应用程序的设计
2.3 应用程序开发的举例
2.3.1 建立业务模型
2.3.2 建立逻辑模型
2.3.3 建立物理模型
第二部分 各种不同的安全技术及其利弊的权衡
第3章 Windows 2000的安全特性概述
3.1 Active Directory的作用
3.2 经过身份验证的登录
3.3 身份验证
3.4 优先权
3.5 用户账户与用户组
3.6 域与工作组
3.7 域/账户名与用户主名
3.8 管理账户
3.9 安全身份标识符
3.10 令牌
3.11 访问控制列表
3.11.1 如何确定访问权
3.11.2 使用命令行来运行ACL
3.11.3 最低优先权的原则
3.11.4 核查ACE
3.12 身份模仿
3.13 身份委托
3.14 Windows 2000的其他安全特性
3.14.1 Encrypting File System
3.14.2 IP Security协议
3.14.3 Security Configuration Editor
3.14.4 Windows File Protection
3.15 本章小结
第4章 Internet Explorer的安全特性概述
4.1 个人信息保密
4.2 代码安全与带有恶意的内容
4.3 安全区域
4.3.1 Internet Explorer Administration Kit
4.3.2 其他工具中的安全区域
4.4 SSL/TLS与证书
4.5 Cookie安全特性
第5章 Internet Information Services安全特性概述
5.1 Internet身份验证
5.2 配置SSLJ/TLS
5.2.1 对SSL/TLS进行配置的具体操作方法
5.2.2 SSL/TLS与多个Web站点
5.2.3 SSL/TLS与多个Web服务器
5.2.4 设置SSL/TLS密码
5.3 IIS授权检查:Windows 2000的安全特性与Web相结合
5.3.1 Web许可权
5.3.2 根据IP地址与域名来实施访问限制
5.3.3 Permissions向导
5.4 IIS进程的身份标识
5.4.1 保护等级
5.4.2 为什么必须使用IWAM_machinename账户
5.4.3 保护等级、ISAPI应用程序和ISAPI过滤器
5.4.4 保护等级、身份模仿和RevertToSelf
5.5 本章小结
第6章 SQL Server安全特性概述
6.1 安全模式
6.1.1 集成式安全模式
6.1.2 混合式安全模式
6.1.3 设置SQL Server的安全模式
6.2 登录、用户和访问许可权
6.3 网络安全特性选项
6.3.1 Multi-Protocol网络库
6.3.2 Super Socket网络库
6.4 SQL Server的登录
6.4.1 标准安全登录
6.4.2 集成式Windows登录
6.4.3 服务器的固定职能组
6.5 SQL Server数据库的用户
6.5.1 标准安全用户
6.5.2 Windows组和用户
6.5.3 dbo用户
6.5.4 宾客用户
6.6 SQL Server数据库的职能组
6.6.1 固定数据库职能组
6.6.2 用户数据库职能组
6.6.3 Public职能组
6.6.4 应用程序职能组
6.7 SQL Server的许可权
6.7.1 语句许可权
6.7.2 对象许可权
6.7.3 grant、revoke和deny
6.7.4 对象所有权链
6.7.5 在SQL Server 2000中执行安全性核查功能
6.8 本章小结
第7章 COM+的安全特性概述
7.1 COM+1.0的结构
7.1.1 授权检查方式概述
7.1.2 身份验证方式概述
7.2 COM+1.0的身份验证方式
7.2.1 客户机与应用程序之间的信赖关系
7.2.2 对身份验证方式进行配置
7.2.3 应用程序的身份
7.3 COM+1.0的授权检查特性
7.3.1 COM+1.0的职能组
7.3.2 控制对方法和专用应用程序资源的访问
7.3.3 三级授权检查方案
7.4 故障调试方法
7.5 在Internet上使用DCOM
7.5.1 COM Internet服务程序
7.5.2 简单对象访问协议
第8章 身份验证和授权检查的实际应用
8.1 在何处执行身份验证和授权检查操作
8.2 应用程序与操作系统的身份信息传递方式
8.3 各种IIS身份验证方式的性能的比较
8.4 身份验证和授权检查的实际举例
8.4.1 完全采用身份委托的运行环境
8.4.2 将IIS、COM+和SQL Server用作控制程序
8.4.3 Microsoft Passport
8.5 关于定制身份验证方式和口令的注意事项
8.6 本章小结
第9章 个人信息保密、数据完整性保护、核查和不得否认的实用技术
9.1 个人信息保密和数据完整性保护技术概述
9.2 哪些地方会出现个人信息保密和数据完整性保护的问题
9.2.1 客户计算机上的个人信息保密和数据完整性问题
9.2.2 在代理服务器上的个人信息保密和数据完整性保护问题
9.2.3 Internet上的个人信息保密和数据完整性保护问题
9.2.4 防火墙的个人信息保密和数据完整性保护问题
9.2.5 Web服务器上的个人信息保密和数据完整性保护问题
9.2.6 数据库中的个人信息保密和数据完整性保护问题
9.3 如何减少对个人信息保密和数据完整性构成的威胁
9.3.1 端对端的安全协议
9.3.2 永久性数据的安全保护
9.4 核查
9.5 关于不得否认技术的介绍
9.5.1 关于不得否认技术的更加正式的定义
9.5.2 为什么要使用不得否认技术
9.5.3 使用有关的技术来支持不得否认
9.5.4 Web应用程序中的不得否认
9.6 本章小结
第三部分 实际应用
第10章 建立安全解决方案
10.1 综合各种因素
10.1.1 配置计算机
10.1.2 对域进行配置
10.1.3 对用户进行配置
10.1.4 对应用程序进行配置
10.1.5 所有配置已经完成
10.2 在速度与安全性之间权衡利弊
10.2.1 数据库与连接合并功能
10.2.2 标识用户身份、模仿身份和身份委托的连接速度
10.3 配置值的检查表
10.3.1 客户机的设置
10.3.2 Web服务器的设置
10.3.3 Middleware服务器的设置
10.3.4 数据库服务器的设置
第11章 安全应用程序的故障诊断
11.1 可以使用的工具和日志
11.1.1 充分利用MMC
11.1.2 其他非常有用的工具
11.1.3 人们不太了解的问题诊断工具
11.2 读取Windows 2000登录事件的方法
11.3 读取IIS日志事件的方法
11.4 问题与解决办法
11.4.1 运行COM+组件时返回Permission denied:‘CreateObject’
11.4.2 Permission denied:(访问被拒绝),但是COM+应用程序的旋转球仍然在转
11.4.3 Login Failed for user ‘NULL’Reason:Not associaated with a trusted SQL Serverconnection(用户“NULL”登录失败,原因:与受信赖的SQL Server连接无关)
11.4.4 Error:[DBNMPNTW]Access denied.(故障:[DBNMPNTW]访问被拒绝)80004005 Microsoft OLE-DB Provide for SQL Server
11.4.5 Error:Login failed for user‘EXAIR\Alice’.(故障:用户“EXAIR\Alice”登录失败)80040E4D Microsoft OLE DB Provider for SQL Server
11.4.6 Error:Login failed for user‘EXAIR\AppAccount’(故障:用户‘EXAIR\AppAccount’登录失败)80040 E4D Microsoft OLE DBProvider for SQL Server
11.4.7 Error:EXECUTE permission denied on object‘spGetCurrentUser’data base‘ExAirHR’,owner‘dbo’(故障:对对象(数据库‘ExAirHR’所有者‘dbo’)执行EXECUTE许可权被拒绝)80040E09Microsoft OLE DB Provider for SQL Server”
11.4.8 Internet Explorer中的客户证书对话框是空的
11.4.9 SQL Server报告的用户名与IIS返回的用户名不一致
11.4.10 当将DNS名字用作Web服务器名字时提示输入身份凭证
11.4.11 使用SSL/TLS时的安全告警
11.4.12 当你知道你拥有对该资源的访问权时,出现401.2-Unauthorized Error(未经授权的错误)
11.4.13 401.3-Unauthorized Error或者要求管理员输入用户名口令
11.4.14 使用Digest身份验证方式时出现故障代码401.4-Authorization Denied
11.4.15 当你知道客户证书没有被撤消时,出现故障代码403.13-Client Certifi-cateRevoked(客户证书已经被撤消)
11.4.16 403.15-Forbidden:client access LicensesExceeded(禁止:客户访问许可证的数量已经超过规定)
第12章 防止攻击的安全措施
12.1 为什么有人要攻击Web服务器
12.2 攻击Web服务器的方法
12.2.1 步骤1:寻找攻击的主机
12.2.2 步骤2:扫描以便找出打开的端口
12.2.3 步骤3:收集其他信息
12.2.4 步骤4:实施攻击
12.3 一些常见的攻击
12.3.1 创建IP数据包
12.3.2 LAND(DoS攻击)
12.3.3 Smurf(DoS攻击)
12.3.4 SYN泛滥(DoS攻击)
12.3.5 Teardrop(DoS攻击)
12.3.6 HTTP“..”(信息泄露的攻击)
12.3.7 将HTML或者脚本程序发送给Web服务器(多种形式的攻击)
12.3.8 HTTP“::$DATA”(信息泄露的攻击)
12.3.9 Windows NULL会话和Windows远程注册表访问(信息泄露的攻击)
12.3.10 IP数据包分段(DoS攻击)
12.3.11 ping泛滥(DoS攻击)
12.3.12 路由跟踪(探测/信息泄露攻击)
12.3.13 分布式DoS攻击
12.3.14 关于攻击的小结
12.4 如何确定是否遭到了攻击
12.4.1 激活核查日志
12.4.2 入侵检测工具
12.5 用户输入的攻击
12.5.1 将HTML、脚本程序或者专门创建的输入发送给服务器
12.5.2 将大量的数据发送给服务器
12.6 当遇到攻击时应该怎么办
12.7 掌握最新的安全问题
12.8 最后应该考虑的问题
12.9 本章小结
第四部分 参考信息
第13章 使用ADSI、WMI和COM+进行安全管理
13.1 什么是WMI
13.2 什么是ADSI
13.3 管理与安全特性配置的示例代码
13.3.1 Windows 2000的设置
13.3.2 Internet Information Services 5的设置
13.3.3 SQL Server 7和SQL Server 2000的设置
13.3.4 其他COM+脚本程序的设置
13.3.5 与IIS安全性相关的常用ADSI设置项
第14章 Windows 2000中的Kerberos身份验证方式简介
14.1 什么是Kerberos身份验证
14.1.1 Kerberos支持互相进行身份验证
14.1.2 Kerberos支持身份委托特性
14.2 Kerberos身份验证是如何进行的
14.3 几种有用的工具
14.3.1 KerbTray和Klitst
14.3.2 SetSPN
14.4 Kerberos的票券运行流程
14.5 本章小结
第15章 关于Windows 2000中的密码技术和证书的介绍
15.1 密码技术的基础知识
15.1.1 数据的保密
15.1.2 检查数据的完整性
15.1.3 检验数据的真实性(某种程度上的真实性)
15.1.4 数字签名和签名操作过程
15.1.5 密钥协议
15.2 关于证书的基础知识
15.3 Windows 2000中的密码技术和证书
15.3.1 CryptoAPI
15.3.2 Windows 2000中的证书
15.3.3 Microsoft Office 2000中的证书
15.4 本章小结
参考文献