第一章 认识危机——接入Internet的计算机网络 1
1.1 1988年的Internet蠕虫事件 1
1.2 Internet worm的机理 3
1.3 Internet worm的影响 4
1.4 不断增长的危险 4
1.5 什么是Internet 6
1.6 报文交换:网络的“建材” 9
1.6.1 用报文交换来传送数据 9
1.7 Internet的先驱:ARPANET 11
1.8 ARPANET通信功能的扩展:TCP/IP 12
1.9 WWW的介绍 12
1.10 作为商业机遇的、不可或缺的工具——Web 14
1.11 考虑危险 14
1.12 关于黑客定义的争论 15
1.13 威胁的种类:概述 15
1.14 企业内部网(Intranet)——Internet的表弟 19
1.15 回顾黑客的种类及更多信息 20
1.16 与安全性相关的邮件列表和新闻组 20
1.17 总结 22
1.18 附加的Internet资源: 23
第二章 网络和TCP/IP 25
2.1 基本网络和TCP/IP的简单描述 25
2.1.1 定义TCP/IP协议的组成部分 26
2.2 ISO/OSI网络模型 26
2.2.1 定义协议栈 26
2.2.2 数据是怎样在各层之间传输的 27
2.2.3 TCP/IP对ISO/OSI模型的实现 28
2.2.4 物理层 30
2.2.5 数据链路层 30
2.2.6 网络层 30
2.2.7 传输层 31
2.2.8 应用层 32
2.3 TCP/IP选址方案 33
2.3.1 地址分类 33
2.3.2定义地址类型 34
2.4传输控制协议 35
2.4.1 可靠性 35
2.4.2 滑窗 36
2.4.3 定义TCP消息 37
2.4.4 创建一个TCP连接 38
2.4.5 起始顺序号 39
2.4.6 响应数据的传输 39
2.4.7 建立正式连接 39
2.4.8 理解顺序号 39
2.4.9 使用全双工服务 40
2.4.10 终止一个TCP连接 40
2.4.11 TCP文件头 41
2.4.12 源端口和目的端口 41
2.4.13 顺序号 42
2.4.14 应答号 42
2.4.15 头文件长度 42
2.4.16 标识位 42
2.4.17 滑窗大小 42
2.4.18 TCP校验和 43
2.4.19 紧要指针 43
2.4.20 选项 43
2.4.21 从概念到设计 44
2.5 网络拓扑结构 44
2.5.1 星型拓扑 44
2.5.2 环型拓扑 45
2.5.3 总线型拓扑 45
2.5.4 总线仲裁 45
2.5.5 令牌传送 46
2.6 各种网络技术 46
2.6.1 以太网 47
2.6.2 ARCNEN 47
2.6.3 IBM令牌环网 47
2.6.4 ATM网 48
2.7 连接计算机网 48
2.7.1 转发器和信号消弱 48
2.7.2 错误控制和校验和 48
2.7.3 用网桥来改进网络 49
2.7.4 理解和使用路由器 50
2.7.5 理解和使用网关 50
2.8 网络物理结构 51
2.8.1 广播波段的不同种类 51
2.9 总结 53
2.10 与ISO/OSI及TCP/IP相关的Internet资源 53
第三章 了解和使用防火墙 56
3.1 安全性的不同形式 56
3.1.1 防止外部侵扰 57
3.1.2 防止内部系统的侵犯 58
3.2 介绍防火墙的构造 59
3.3 防火墙 60
3.3.1 冒险区 61
3.3.2 防火墙的局限性 62
3.3.3 三种类型的防火墙 63
3.3.4 网络层防火墙 63
3.3.5 应用层防火墙 65
3.3.6 链路层防火墙 66
3.4 防火墙结构 67
3.4.1 双主机防火墙 67
3.4.2 主机屏蔽防火墙 68
3.4.3 子网屏蔽防火墙 69
3.5 最小化的安全性等级分类 70
3.6 总结 74
3.7 与防火墙相关的Internet资源 74
第四章 利用加密保护你的信息传递 76
4.1 为什么说加密是非常重要的 76
4.2 加密基础知识 77
4.2.1 常规单密钥加密体系的局限性 77
4.3 公用密钥系统 80
4.3.1 RSA算法 81
4.3.2 RSA算法本身 82
4.4 DIFFIE和HELLMAN简介 84
4.4.1 Diffie-Hellman加密算法 84
4.4.2 公用密钥协议中的信息认证 85
4.5 安全性只能如此 86
4.5.1 怎样有效管理公用密钥加密 86
4.5.2 密钥证书和密钥链 87
4.6 消息摘要算法 88
4.7 机密增强型邮件(PEM) 89
4.7.1 用PEM产生认证 89
4.7.2 PEM中的信息机密性 89
4.7.3 PEM中的数据完整性 89
4.8 对主要加密程序的简短讨论 90
4.8.1 完美的加密(PGP) 90
4.8.2 PGP使用多种加密方式 90
4.9 复习公用密钥的结构 91
4.9.1 PGP的广泛使用 92
4.9.2 密码和谜 93
4.9.3 SMTP与解码 93
4.10 微软的CryptoAPI 93
4.11 对加密系统的计时入侵 96
4.12 加密新法:椭圆曲线加密 97
4.12.1 椭圆曲线的安全性 97
4.13 总结 97
4.14 文档加密和传送方面的Internet资源 98
第五章 利用数字签名证实消息源 100
5.1 数字签名的建立 100
5.2 数字签名的重要性 102
5.3 数字签名与手写签名的对比 104
5.4 使用数字签名 105
5.5 美国数字签名标准(DSS) 106
5.5.1 关注DSS 106
5.5.2 NSA的作用 107
5.5.3 卷入安全标准发展的NSA 107
5.5.4 在DSS上的进展 108
5.5.5 数字签名和机密增强型邮件(PEM) 109
5.6 重温Diffie-Hellman算法 110
5.6.1 数字签名的未来 111
5.7 数字签名和文件标识 112
5.7.1 认证机构 114
5.8 总结 116
5.9 与数字签名有关的Internet资源 116
第六章 超文本传输协议 118
6.1 HTTP——Web的基本协议 118
6.2 MIME 119
6.2.1 在网上使用MIME 120
6.2.2 MIME类型及其子类型 120
6.2.3 测试MIME类型 122
6.3 深入了解HTTP 123
6.3.1 HTTP是无状态的 123
6.3.2 无状态通信的高效性 123
6.3.3 HTTP支持动态格式 124
6.3.4 HTTP头信息 124
6.3.5 HTTP是可读的 124
6.4 HTTP怎样进行查找、检索和注释 125
6.4.1 查找资源 125
6.4.2 检索资源 126
6.4.3 注释资源 126
6.5 HTTP四步处理法 126
6.5.1 第一步:建立客户端与服务器的连接 126
6.5.2 第二步:客户端向服务器发出请求 127
6.5.3 第三步:服务器的响应 127
6.5.4 第四步:服务器与客户端断开连接 128
6.6 HTTP响应代码类型 128
6.7 进一步了解URI 130
6.8 回顾URL 130
6.8.1 URL、协议和文件类型 131
6.8.2 URL部件 131
6.9 URL和HTML 131
6.10 绝对URL和相对URL 132
6.10.1 绝对URL 132
6.10.2 相对URL 132
6.10.3 进一步了解相对URL 133
6.11 HTTP请求方法 133
6.11.1 GET方法 134
6.11.2 HEAD方法 134
6.11.3 POST方法 135
6.12 介绍其他HTTP方法 135
6.13 总头域 136
6.13.1 HTTP数据域 136
6.13.2 MIME版本域 136
6.13.3 Pragma域 136
6.14 请求头域 137
6.14.1 接受域 137
6.14.2 认证域 137
6.14.3 缘起域 137
6.14.4 If-Modified-Since域 138
6.14.5 参考域 138
6.14.6 用户代理域 138
6.15 实体头域 138
6.15.1 允许域 138
6.15.2 内容加密域 139
6.15.3 内容长度域 139
6.15.4 内容类型域 139
6.15.5 期限域 140
6.15.6 扩展头域 140
6.15.7 最新修改域 140
6.16响应 140
6.16.1 HTTP响应头域 140
6.16.2 位置域 141
6.16.3 服务器域 141
6.16.4 WWW认证域 141
6.17 实体主体 141
6.18 关于网络数据通信 142
6.19 考察一个HTTP处理范例 142
6.20 总结 143
6.21 HTTP编程方面的Internet资源 143
第七章 安全超文本传输协议 146
7.1 介绍S-HTTP 146
7.1.1 S-HTTP如何创建消息 146
7.1.2 S-HTTP怎样恢复消息 148
7.1.3 S-HTTP的加密方法 149
7.2 S-HTTP的详述 152
7.3 S-HTTP增加的内容 153
7.3.1 S-HTTP的密码算法和数字签名模式 153
7.4 数字签名与S-HTTP 154
7.4.1 密钥交换和加密 154
7.4.2 消息完整性和发送者认证 155
7.4.3 S-HTTP事务处理的新鲜度 155
7.4.4 HTTP封装 155
7.4.5 S-HTTP的请求行 155
7.4.6 S-HTTP的响应行 156
7.4.7 S-HTTP的头域行 156
7.4.8 S-HTTP接受的内容类型 156
7.4.9 解析S-HTTP头域:Prearranged-Key-Info 157
7.4.10 MAC-Info头域 157
7.5 S-HTTP消息内容 158
7.6 S-HTTP和Content-Privacy-Domain:PEM 158
7.7PEM和S-HTTP模式的一致性 159
7.8 S-HTTP的协商内容 159
7.8.1 协商头域格式 159
7.8.2 S-HTTP的协商头域 160
7.8.3 密钥模式参数 161
7.8.4 S-HTTP缺省值 163
7.8.5 S-HTTP的头域行 163
7.8.6 Certificate-Info头域行 164
7.8.7 Key-Assign头域 164
7.8.8 使用Inband密钥分配法 165
7.8.9 使用Kerberos密钥分配法 165
7.8.10 S-HTTP Nonce的用法 165
7.8.11 S-HTTP服务器状态错误报告的处理 165
7.8.12 S-HTTP的重试行为 166
7.8.13 S-HTTP自动重试的局限性 166
7.8.14 自动加密的重试 166
7.9 S-HTTP HTML元素 166
7.9.1 S-HTTP HTML和URL的扩展 167
7.9.2 CERTS元素 167
7.9.3 CRYPTOPTS元素 167
7.10总结 168
7.11 相关的Internet资源 168
第八章 用SSL安全地传送信息 171
8.1 介绍SSL 171
8.2 理解SSL是怎样提供信息的安全传送 172
8.2.1 SSL用数字证书来鉴别服务器 173
8.2.2 SSL应用RSA加密机制 175
8.2.3 SSL建立安全的连接 175
8.3 SSL浏览器和服务器的特点 175
8.3.1 如何判定你是通过安全的连接进行通讯的? 175
8.3.2 验证Navigator和Internet Explorer通讯的安全性 175
8.3.3 SSL服务器 176
8.4 SSLD——SSL DAEMON 178
8.4.1 SSLD的配置文件 179
8.4.2 SSLD安全性中一些值得注意的事件 180
8.5 SSL和防火墙管道 180
8.5.1 SSL管道和连接的方法 181
8.5.2 SSL管道与安全性考虑 182
8.5.3 SSL管道和可扩充性 182
8.6 S/MIME 184
8.7 Netscape的对象标识 184
8.8 Netscape的安全性API 185
8.9 总结 187
8.10 与SSL相关的Internet资源 187
第九章 鉴别与防御“黑客”入侵 189
9.1 最简单的“黑客”入侵 189
9.2 TCP协议劫持入侵 191
9.3 嗅探入侵 191
9.4 主动的非同步入侵 192
9.4.1 非同步后劫持入侵 193
9.4.2 TCP ACK风暴 195
9.4.3 前期非同步入侵 195
9.4.4 空数据非同步入侵 196
9.4.5 Telnet 会话入侵 197
9.4.6 进一步了解ACK风暴 198
9.4.7 检测及其副作用 198
9.4.8 防卫非同步后劫持入侵 199
9.5 另一种嗅探——冒充入侵 199
9.6 关于作假的详述 200
9.6.1 冒充e-mail 201
9.7 检测作假 202
9.8 防止作假 202
9.9 关于劫持会话入侵 203
9.9.1 检测劫持会话 203
9.9.2 防卫劫持会话 203
9.10 超级链接欺骗:SSL服务器认证中的一种入侵 203
9.10.1 超级链接欺骗的背景 204
9.10.2 实施超级链接欺骗 204
9.10.3 防卫超级链接欺骗的方法 205
9.10.4 对超级链接欺骗的长远考虑 207
9.11 网页作假 209
9.11.1 网页作假的后果 209
9.11.2 作假整个Web 210
9.11.3 入侵过程 210
9.11.4 重访表格和安全连接 211
9.11.5 开始网页作假入侵 212
9.11.6 制造错觉——状态条 212
9.11.7 位置行 213
9.11.8 查看文档信息 213
9.11.9 对网页作假入侵的补救措施 213
9.11.10 对网页作假入侵的长远解决方案 214
9.12 总结 214
9.13 与一般黑客入侵相关的Internet资源 215
第十章 在分布式系统中使用Kerberos密钥交换 218
10.1 介绍Kerberos 218
10.1.1 从不同的角度观察 221
10.1.2 回顾Kerberos认证过程 222
10.2 Kerberos协议 222
10.3 Kerberos跨领域操作 224
10.3.1 领域间密钥 224
10.3.2 认证路径 225
10.4 票据标志使用和请求 227
10.4.1 初始化票据 227
10.4.2 认证前票据 227
10.4.3 非法票据 228
10.4.4 更新的票据 228
10.4.5 过期的票据 228
10.4.6 代理的和代理票据 229
10.4.7 前趋的票据 230
10.4.8 其他的认证服务器选项 231
10.5 Kerberos数据库 231
10.5.1 数据库内容 231
10.5.2 附加的数据库域 232
10.5.3 频繁改变的数据库域 232
10.6 领域名 232
10.7 当事人名 233
10.8 Kerberos已知的易感染性 234
10.8.1 实施Kerberos必需的设想 234
10.9 Kerberos邮件列表 235
10.10 总结 236
10.11 与Kerberos相关的Internet资源 236
第十一章 保护你在电子商务中的传输信息 239
11.1 回顾电子商务的基本问题 239
11.2 数字现金 241
11.2.1 数字现金怎样解决隐私问题 241
11.2.2 数字现金的安全性 243
11.2.3 数字现金存在的问题 244
11.3 进一步理解“隐藏”签证的原理 245
11.4 信用卡的使用和Internet 246
11.4.1 浏览证书 249
11.5 总结 249
11.6 与电子商务相关的Internet资源 250
第十二章 利用审计跟踪并击退入侵 252
12.1 简化审计跟踪 252
12.1.1 关于审计问题 253
12.2 审计跟踪和UNIX 254
12.2.1 用lastlog来检查用户的最后访问 254
12.2.2 用UTMP来跟踪用户 255
12.2.3 用WTMP跟踪先前登录者 255
12.2.4 使用syslog日志 256
12.2.5 用sulog跟踪用户的变换 259
12.2.6 用aculog来跟踪dial-out访问 259
12.2.7 记录指定时间的事务 259
12.2.8 用sendmail日志来跟踪SMTP入侵者 260
12.2.9 外壳(shell)历史日志 260
12.3 Windows NT的审计 260
12.3.1 激活NT的安全日志 260
12.3.2 用NT审计基层对象 262
12.3.3 基层对象审计 263
12.3.4 用NT进行特权审计 264
12.3.5关闭FullAuditLog选项 265
12.4 Novell Net Ware审计 266
12.4.1 Net Ware怎样定义审计服务 266
12.4.2 浏览审计记录 267
12.4.3 使Net Ware中的审计器有效 267
12.4.4 使卷审计有效 268
12.4.5 使NDS容器(Container)的审计有效 269
12.5总结 270
12.6 与审计跟踪相关的Internet资源 271
第十三章 关于Java的安全性问题 273
13.1 掌握Java 273
13.2 Java怎样在浏览器中执行 276
13.3 Java组件 277
13.3.1 Applet类载入器 277
13.3.2 类校验器 277
13.3.3 Applet安全性管理器 279
13.4 基本的安全性问题 279
13.5 掌握Java基本原理 280
13.5.1 Java applet的功能性限制 280
13.5.2 使用Applet读写文件 281
13.5.3 编辑读文件的访问控制列表 281
13.5.4 编辑写文件的访问控制列表 282
13.6 使用Applet读系统属性 283
13.6.1 隐藏系统信息 284
13.6.2 显示受保护的系统信息 284
13.7 通过Applet打开与另一台机器的连接 284
13.7.1打开一个同Applet源服务器的网络连接 285
13.7.2 维持永久的Applet 286
13.8 从Applet生成程序 286
13.9 使用Java创建安全的Applet 288
13.10 理解差异所在 289
13.11 创建可信任的运算基础体制 289
13.11.1 Kimera Java安全工程 290
13.11.2 使用Kimera反汇编和字节校验码测试类 290
13.12 回顾一些有害的Applet 291
13.13 Jigsaw服务器 292
13.14总结 292
第十四章 预防病毒 296
14.1 病毒是如何工作的 296
14.2 最一般的传染威胁 299
14.2.1 通过电子邮件传输病毒的威胁 300
14.3 病毒的类型 301
14.3.1 特洛伊木马 301
14.3.2 多态病毒 301
14.3.3 行骗病毒 302
14.3.4 慢效病毒 303
14.3.5 制动火箭病毒 304
14.3.6 多成份病毒 304
14.3.7 装甲病毒 304
14.3.8 同伴病毒 305
14.3.9 噬菌体病毒 305
14.3.10 回顾蠕虫事件 305
14.3.11 病毒对网络和Internet的威胁 306
14.3.12 关于文件病毒 306
14.4 关于宏病毒 307
14.4.1 一些流行的宏病毒 309
14.4.2 宏病毒的最佳解决办法 312
14.5 互联网上的病毒欺骗 313
14.5.1 IRINA病毒 313
14.5.2 Good Times病毒 313
14.5.3 ao14free.com 314
14.5.4 怎样分辨出一个真正的病毒警告 314
14.6 防止病毒从Internet上感染你的网络 315
14.6.1 反病毒软件如何检测病毒 315
14.6.2 反病毒软件的主要出版商 315
14.7 总结 316
14.8 与病毒有关的Internet资源 317
第十五章 加强Windows NT的网络安全性 319
15.1 Windows NT简介 319
15.1.1 共享 320
15.1.2 NTFS的脆弱性 320
15.2 Windows NT安全模式的原理 321
15.2.1 SAM怎样对用户授权 324
15.3 更好地理解工作组和权限 326
15.3.1 NT缺省的域工作组 326
15.3.2 Windows NT缺省的本地组 327
15.3.3 Windows NT缺省的目录权限 328
15.3.4 Administrators及其同等物 328
15.3.5 使用安全性Administrator ID 329
15.3.6 使Administrators组安全可靠 329
15.3.7 NT怎样存储口令 330
15.3.8 黑客如何破译密码 331
15.3.9 使用Brute-Force攻击方法 331
15.3.10防备字典式破译 332
15.3.11 没有使用锁定功能的Windows NT 332
15.3.12 不加口令的Windows NT系统管理员帐号 332
15.3.13 Windows NT系统管理员帐号 333
15.3.14 Windows NT中没有密码的Guest帐号 333
15.4 NT与TCP和HTTP的联系 333
15.5 Windows NT支持多个安全性协议接口 334
15.5.1 安全消息块服务简介 335
15.6 认识Windows NT的一些缺陷 336
15.6.1 NT的示警和消息服务 337
15.6.2 防备NetBIOS完全访问共享 337
15.6.3 掌握 LAN Manager的安全性 337
15.6.4 Windows NT网络监视器 337
15.6.5 Windows NT RSH服务 338
15.6.6 Windows NT Schedule服务 338
15.7 Windws NT注册表 338
15.8 NT系统和计算机病毒 339
15.8.1 FTP服务器的安全性与NT 339
15.8.2 RollBack.exe工具 340
15.9 Windows NT远程访问服务的安全性 340
15.10 NT记录和跟踪 342
15.11 对Windows NT服务器的入侵 343
15.11.1 网络嗅探攻击 343
15.11.2 服务禁止入侵 343
15.11.3 Windows NT在TCP攻击中的弱点 343
15.12 总结 344
15.13 与Windows NT相关的Internet网址 344
第十六章 对付Novell Net Ware的安全性问题 346
16.1 介绍Novell Net Ware 346
16.2 Net Ware安全机制基础 347
16.2.1 将用户和计算机接入Net Ware 347
16.2.2 受托分配 348
16.2.3 继承权面具 349
16.2.4 受托分配跨越 350
16.2.5 口令控制 350
16.3 SYSCON工具的使用 351
16.3.1 用SYSCON来管理口令 351
16.4 控制对文件服务器的访问 351
16.4.1 超级用户身份及等价超级用户 352
16.4.2 使用安全管理ID 352
16.4.3 入侵检测 352
16.4.4 封锁用户 353
16.5 登录脚本 353
16.5.1 Net Ware不提供审计跟踪 354
16.5.2 安全管理的职责 354
16.6 检查系统的安全性 354
16.6.1 Net Ware的安全程序 354
16.6.2 Net Ware的编档者程序 355
16.7 Net Ware的安全弱点 356
16.7.1 基本防卫措施;保护服务器 356
16.7.2 保护服务器的物理措施 356
16.7.3 保护重要的离线文件 356
16.7.4 保护登录脚本 357
16.7.5 创建一份关于用户及用户访问的清单 357
16.7.6 管理控制台 357
16.7.7 打开记帐系统 358
16.7.8 不要使用超级用户帐号 358
16.7.9使用报文签证 358
16.7.10 黑客怎样绕开报文签证 359
16.7.11 谨慎使用Rconsole 359
16.7.12 检查Rconsole的名字和位置 360
16.7.13 把NetWare所有的配置文件移到更安全的地方 360
16.7.14 将网络升级为NetWare 4.x 360
16.7.15 把NetWare PUBLIC从ROOT中移走 360
16.8 访问NetWare帐号 360
16.8.1 NetWare的缺省帐号和系统帐号 360
16.8.2 保护帐号名 361
16.9 截取和保护口令 362
16.9.1 黑客怎样破译 Novell口令 362
16.9.2 对NetWare实施Brute-Force攻击 363
16.9.3 保护NetWare防止字典式攻击 363
16.10 记帐和帐号的安全性 364
16.10.1 击溃记帐系统 364
16.10.2 用站约束和时间约束来限制黑客 364
16.11 保护控制台 364
16.11.1 黑客怎样击败控制台的登录系统 365
16.11.2 黑客怎样攻击锁住的管理器 365
16.12 保护文件和目录 365
16.12.1 修改文件后,黑客怎样隐藏其身份 365
16.12.2 Net Ware的NFS及其安全性 366
16.12.3 保护磁盘空间的需求 367
16.12.4 更大系统上的安全方案 367
16.13 Net Ware和Windows 95 368
16.13.1 Net Ware上运行Windows 95的基本问题 368
16.13.2 Windows 95和Net Ware之间的问题 369
16.13.3 Windows 95和Net Ware口令间的交互 369
16.13.4 Windows 95上的登录绕过了Net Ware的安全措施 369
16.14 Net Ware的Novell Intranet Ware 370
16.14.1 用时间来控制访问 370
16.14.2 用Intranet Ware来控制对应用程序的访问 370
16.14.3 用源IP地址和目的IP地址来控制访问 371
16.14.4 Intranet Ware的访问报告和审计跟踪工具 371
16.15 Intranet Ware的安全性 371
16.15.1 黑客怎样征服Intranet Ware 371
16.15.2 Intranet Ware的FTP NLM中的漏洞 372
16.15.3 保护Intranet Ware服务,防止Internet攻击 372
16.15.4 保护口令文件 372
16.16 总结 373
16.17 与Net Ware相关的Internet资源 373
第十七章 UNIX和X-Windows的安全性 376
17.1 UNIX简介 376
17.2 UNIX帐号 376
17.2.1 掌握UNIX口令 378
17.3 掌握UNIX的shell 378
17.4 掌握UNIX文件和目录结构 379
17.5 基本UNIX命令集介绍 380
17.5.1 匹配符 380
17.5.2 掌握重定向字符 381
17.5.3 掌握命令行选项 381
17.5.4 管道符介绍 382
17.5.5 掌握后台处理 382
17.5.6 掌握ping命令 382
17.5.7 finger命令的介绍 383
17.6 Berkeley的-r命令 384
17.6.1 rlogin命令简介 384
17.6.2 rep命令简介 385
17.6.3 rsh命令简介 385
17.6.4掌握用户切换命令 386
17.7 掌握Daemons 386
17.7.1 Init daemon 387
17.7.2 LPD daemon 387
17.7.3 sendmail daemon 387
17.7.4 回顾UNIX Thus FAR 387
17.8 UNIX怎样存储口令 387
17.8.1 黑客怎样破译口令 388
17.8.2 使用Brute Force口令破译 389
17.8.3 防备字典式破译 389
17.8.4 UNIX的文件和目录保护 390
17.8.5 掌握chown命令 391
17.8.6 理解UNIX中的特殊文件 392
17.9 UNIX的缺陷 393
17.9.1 考虑删除/etc/hosts.equiv 393
17.9.2 保护$home/rhosts文件 394
17.9.3 Sendmail的调试漏洞 394
17.9.4 Sendmail的mail发送失败漏洞 394
17.9.5 fingerd缓冲区问题 395
17.10 UNIX文件加密 395
17.11 UNIX的安全方法 395
17.11.1 UNIX过滤器 395
17.11.2 掌握X-Windows 396
17.11.3 X-Windows怎样工作 397
17.12 黑客怎样找到X显示 397
17.13 X-Windows本地主机问题 398
17.14 X-Windows的窥探技术 398
17.15 掌握xterm安全性键盘选项 398
17.16 总结 399
17.17 与UNIX安全信息相关的Internet资源 399
第十八章 检测系统的弱点 402
18.1 介绍SATAN 402
18.1.1 在Linux系统中使用SATAN 403
18.2 SATAN结构概述 403
18.2.1 魔术饼发生器 404
18.2.2 策略机 405
18.2.3 近似等级 405
18.2.4 目标采集 405
18.2.5 数据采集 406
18.2.6 浏览等级 406
18.2.7 推理机 407
18.2.8 报表和分析 407
18.3 SATAN的多进程运行 408
18.3.1 第一次使用SATAN 408
18.4 分析SATAN的输出 408
18.4.1 倍加关注你所理解的信息 409
18.4.2 对弱点要格外重视 409
18.4.3 打印报告 410
18.4.4 注意反馈的主机信息 410
18.5 意识到SATAN对弱点分析的局限性 410
18.6分析NetWare和Windows NT网络 411
18.6.1 启动KSA 411
18.6.2 设置安全标准 412
18.6.3 设置帐户限制选项 413
18.6.4 设置密码强度选项 413
18.6.5 设置访问控制选项 414
18.6.6 设置系统监视选项 414
18.6.7 设置数据完整性选项 414
18.6.8 设置数据信任选项 414
18.7 启动分析 415
18.7.1 分析报告卡片 415
18.7.2 查阅危险点列表 416
18.7.3 其他各项设置 416
18.7.4 KSA的信息反馈 417
18.8 总结 418
18.9 与网络安全管理相关的Internet资源 418
第十九章 网络浏览器安全问题 420
19.1 浏览器:Web的双路窗口 420
19.1.1 两个基本浏览器 421
19.1.2 版本号的重要性 422
19.2 Microsoft Internet Explorer安全漏洞 422
19.2.1 以Internet Explorer 3.02为例 422
19.2.2 Internet Explorer 3.01 WPI蛀虫 423
19.2.3 MIT蛀虫 424
19.2.4 Internet Explorer的Java重定向安全问题 426
19.3 ActiveX安全问题 427
19.3.1 ActiveX的安全特性 428
19.3.2 扰乱计算机的控件 431
19.3.3 炸药控件 431
19.3.4 Internet Explorer安全漏洞 431
19.4 Netscape Navigator安全漏洞 431
19.4.1 Berkeley蛀虫 432
19.5 理解“cookie” 432
19.5.1 匿名 434
19.5.2 cookie.txt文件内容 434
19.5.3 编辑cookie文件 434
19.5.4 保护你的e-mail地址 435
19.6 总结 439
19.7 与浏览器安全相关的Internet资源 439
第二十章 对付恶意脚本 441
20.1 CGI 442
20.2 Web网点为什么要用CGI 443
20.2.1 什么地方适用CGI 444
20.2.2 用CGI浏览大图片 445
20.2.3 服务器与CGI脚本的关系 446
20.3 如何寻找自己的IP地址 447
20.4 如何同你的服务器接触 447
20.4.1 Web服务器与CGI脚本的接口 448
20.5 CGI环境变量 449
20.6 CGI命令行选项 452
20.7 CGI直接输出到浏览器 452
20.8 CGI头 452
20.9 考察你用C++语言编写的第一个CGI脚本 454
20.9.1 用于脚本编程的程序语言 455
20.10 PERL语言 455
20.10.1 PERL历史 455
20.10.2 PERL是一种解释型程序设计语言 456
20.10.3 PERL与C/C++程序语言的比较 456
20.10.4 PERL有很多特征 456
20.10.5 把PERL作为数据过滤器使用 457
20.10.6 把PERL作为安全网关 457
20.10.7 把PERL作为数据库前端 457
20.10.8 PERL作为一种CGI脚本语言 458
20.11 PERL的运行 458
20.12 PERL中的HELLO world 458
20.13 激活PERL 459
20.14 PERL声明 459
20.15 CGI脚本的安全性问题 460
20.15.1 一个被侵入的CGI脚本是如何影响安全性的 460
20.15.2 Web服务器的访问级别 461
20.15.3 CGI脚本安全漏洞的例子 461
20.15.4 创建shell 462
20.15.5 CGI脚本安全性解决方案 462
20.16 关于PERL脚本的总规则 464
20.17 介绍JavaScript安全性问题 464
20.18 什么地方适于JavaScript 466
20.19 用HTML注释关闭JavaScript命令显示 467
20.20 JavaScript注释 467
20.21 < script >元素 467
20.22 JavaScript串 468
20.23 用JavaScript执行简单的输出 468
20.24 创建简单的信息框 469
20.25 JavaScript变量 469
20.26 得到用户的文本输入 470
20.27 JavaScript函数 471
20.28 JavaScript对象 471
20.28.1 创建你自己的JavaScript对象 472
20.29 JavaScript事件 472
20.30 用JavaScript与form交互 473
20.31 JavaSscript固有的安全冒险行为 474
20.31.1 最近版本的Navigator有更多的安全性问题 474
20.31.2 贝尔实验室的解决办法 475
20.31.3 解释贝尔实验室发现的问题 475
20.32 总结 475
20.33 与脚本有关的Internet资源 476
第二十一章 总结:创建一个网络安全方案 479
21.1 安全方案 479
21.1.1 为什么要用安全方案 480
21.1.2 开发一套安全方案的基本准则 480
21.2 为计算机安全问题建立一个正式的方案 480
21.2.1 安全方案的职责 481
21.2.2 实施之责任 482
21.3 风险评估 482
21.3.1 确立系统资产情况 482
21.3.2 确定威胁情况 483
21.4 方案特例 483
21.4.1 谁可使用资源 484
21.4.2 每个资源的正确访问 484
21.4.3 谁被授权允许访问和同意使用 485
21.4.4 谁应有系统特权 485
21.4.5 用户的权力和职责 486
21.4.6 系统管理员和普通职员的权力和职责 486
21.4.7 保护重要信息和普通信息 486
21.5 有人违反方案时的响应 487
21.5.1 冒犯发生时的响应 487
21.5.2 本地用户冒犯远程网络方案的响应 487
21.5.3 确定外部组织的连接和职责 487
21.5.4 事故处理程序 488
21.5.5 封锁或准入 488
21.5.6 方案的解释 489
21.5.7 公布方案 489
21.6 建立程序以防安全事故 489
21.6.1 明确可能存在的问题 490
21.6.2 高效地采用控件保护资产 490
21.7 总结 491
21.8 与安全方案相关的Internet资源 491