第1章 边界安全基础 1
1.1 行业术语 1
第一部分 网络边界基础 1
1.1.1 边界 2
1.1.2 边界路由器 2
1.1.3 防火墙 2
1.1.4 IDS 2
1.1.5 VPN 3
1.1.6 软件结构 3
1.1.7 DMZ和被屏蔽的子网 3
1.2 纵深防御 4
1.2.2 边界 5
1.2.1 纵深防御中的部件 5
1.2.3 内部网络 8
1.2.4 人为因素 11
1.3 实例分析:纵深防御的运转 12
1.4 小结 13
第2章 报文过滤 14
2.1 TCP/IP预备知识:报文过滤的工作原理 14
2.1.1 ICP端口和UDP端口 14
2.1.2 TCP的三次握手过程 15
2.2 使用Cisco路由器做为报文过滤器 15
2.2.1 Cisco ACL 16
2.2.3 Cisco IOS的基本知识 17
2.2.2 过滤规则的顺序 17
2.3 有效使用报文过滤设备 18
2.3.1 基于源地址的过滤:Cisco标准ACL 18
2.3.2 基于端口和目的地址的过滤:Ciscor扩展ACL 24
2.4 报文过滤器存在的问题 27
2.4.1 欺骗与源路由 27
2.4.2 报文分片 27
2.4.3 静态报文过滤器中的“漏洞” 28
2.4.4 双向通信与established关键字 28
2.4.5 FTP协议 30
2.5 动态报文过滤与自反访问表 32
2.5.1 使用自反ACL解决FTP问题 33
2.5.3 自反访问表存在的问题 34
2.5.2 使用自反ACL解决DNS问题 34
2.6 小结 35
2.7 参考资料 35
第3章 有状态防火墙 36
3.1 有状态防火墙的工作原理 36
3.2 状态的概念 37
3.2.1 传输协议与网络协议和状态 38
3.2.2 应用级通信和状态 41
3.3 有状态过滤和有状态检查 45
3.4 小结 54
3.5 参考资料 55
4.1 基础知识 56
第4章 代理防火墙 56
4.2.1 反向代理 58
4.2 代理的类型 58
4.2.2 应用级代理 59
4.2.3 电路级代理 59
4.3 代理或应用网关防火墙 59
4.3.1 代理防火墙的优点 59
4.3.2 代理防火墙的缺陷 60
4.3.3 没有代理的情况 60
4.4 代理的协议问题 61
4.4.1 IPSec 61
4.4.2 SSL 61
4.5.1 SOCKS 63
4.5 常见的代理软件 63
4.5.2 Gauntlet 64
4.5.3 PORTUS 65
4.6 小结 65
4.7 参考资料 66
第5章 安全策略 67
5.1 防火墙策略 67
5.1.1 积极的策略实施 68
5.1.2 不可实施的策略 68
5.2 策略的开发步骤 73
5.2.1 识别风险 73
5.2.2 报告发现的问题 74
5.2.3 按需创建或更新安全策略 75
5.2.4 判断策略的一致性 75
5.2.5 探寻公司的规则和文化 75
5.2.6 策略的要素 77
5.2.7 好策略的特点 77
5.3 边界策略 78
5.3.1 现实世界的操作和策略 78
5.3.2 通信路径的规则 80
5.4 小结 80
5.5 参考资料 81
6.1 路由器作为边界设备 83
第6章 路由器的作用 83
第二部分 边界的延伸 83
6.1.1 路由 84
6.1.2 安全的动态路由 85
6.2 路由器作为安全设备 87
6.2.1 路由器作为纵深防御的一部分 87
6.2.2 路由器作为惟一的边界安全设备 90
6.3 路由器加固 94
6.3.1 操作系统 94
6.3.2 锁住管理点 95
6.3.3 禁止不必要的服务 101
6.3.4 因特网控制消息协议的阻断 102
6.3.6 路由器日志基本原理 104
6.3.5 欺骗和源路由 104
6.4 小结 105
6.5 参考资料 106
第7章 网络入侵检测 107
7.1 网络入侵检测基本原理 107
7.1.1 入侵检测的必要性 107
7.1.2 网络IDS特征码 108
7.1.3 假阳性和假阴性 109
7.1.4 警报、日志和报告 111
7.1.5 入侵检测软件 111
7.1.6 IDS 112
7.2.1 发现薄弱点 113
7.2 边界防御体系中网络IDS的作用 113
7.2.2 检测由你的主机发出的攻击 114
7.2.3 事故处理和调查 114
7.2.4 弥补其他防御部件的不足 114
7.3 IDS感测器的放置 115
7.3.1 安装多个网络感测器 116
7.3.2 在过滤设备附近放置感测器 116
7.3.3 在内部网络中放置IDS感测器 117
7.3.4 使用加密 117
7.3.5 在大流量环境中的处理 117
7.3.9 使用防火墙/IDS混合设备 118
7.3.8 维护感测器安全性 118
7.3.6 配置交换机 118
7.3.7 使用IDS管理网络 118
7.4 实例分析 119
7.4.1 实例分析1:简单的网络结构 119
7.4.2 IDS部署建议 119
7.4.3 实例分析2:多个外部接入点 120
7.4.4 IDS部署建议 121
7.4.5 实例分析3:无限制网络 121
7.4.6 IDS部署建议 121
7.5 小结 122
第8章 虚拟专用网 123
8.1 VPN基础知识 123
8.2.1 VPN的优点 126
8.2 VPN的优缺点 126
8.2.2 VPN的缺陷 128
8.3 IPSec基础知识 129
8.3.1 IPSec协议包 130
8.3.2 IKE 132
8.3.3 IPSec安全协议AH和ESP 134
8.3.4 IPSec配置实例 139
8.4 其他VPN协议:PPTP和L2TP 147
8.4.1 PPTP 147
8.4.2 L2TP 148
8.4.3 PPTP、L2TP以及IPSec的比较 148
8.4.4 PPTP和L2TP实例 149
8.5 小结 151
8.6 参考资料 152
第9章 主机加固 153
9.1 安全加固级别 153
9.2 级别1:防止本地攻击的安全加固 154
9.2.1 管理工具的使用限制 154
9.2.2 进行正确的文件访问控制 155
9.2.3 管理用户 156
9.2.4 有效地管理用户 157
9.2.5 记录与安全相关的信息 157
9.2.7 UNIX日志 158
9.3 级别2:抵御网络攻击的安全加固 158
9.2.6 Windows日志 158
9.3.1 删除不必要的账号 159
9.3.2 使用健壮的口令 159
9.3.3 停止未用的网络服务 161
9.3.4 改变缺省的SNMP字符串 161
9.3.5 禁用资源共享服务(Windows) 161
9.3.6 禁用远程访问服务(UNIX) 162
9.4 级别3:抵御应用程序攻击的安全加固 163
9.4.1 定义访问方法 163
9.4.2 应用程序的口令 164
9.4.3 操作系统和应用程序的补丁 164
9.5.1 常见的安全弱点 165
9.5.2 安全加固核查清单 165
9.5 其他加固方针 165
9.6 小结 166
第10章 主机防御部件 167
10.1 主机和边界 167
10.1.1 工作站考虑事项 168
10.1.2 服务器考虑事项 169
10.2 反病毒软件 170
10.2.1 反病毒软件的优点 171
10.2.2 反病毒软件的局限性 172
10.3 以主机为中心的防火墙 174
10.3.1 工作站上的防火墙 174
10.3.2 服务器上的防火墙 177
10.4 基于主机的入侵检测 185
10.4.1 基于主机的IDS的作用 186
10.4.2 基于主机的IDS种类 187
10.5 主机防御部件的难点 191
10.5.1 受到损害的主机上的防御部件 191
10.5.2 控制分布式主机防御部件 192
10.6 小结 193
10.7 参考资料 193
第三部分 边界设计 195
第11章 设计基础 195
11.1 收集设计需求信息 195
11.1.1 确定哪些资源需要保护 196
11.1.2 确定谁是潜在的攻击者 198
11.1.3 定义业务需求 201
11.2 设计要素 204
11.2.1 防火墙和路由器 205
11.2.2 防火墙与虚拟专用网 207
11.2.3 多重防火墙 208
11.3 小结 211
11.4 参考资料 211
第12章 资源隔离 212
12.1 安全区域 212
12.1.1 同一个子网 212
12.1.2 多个子网 215
12.2.1 邮件中继 219
12.2 常见的设计要素 219
12.2.2 分割DNS 222
12.2.3 无线网络 226
12.3 基于VLAN的分隔 229
12.3.1 VLAN边界 230
12.3.2 跳过VLAN 230
12.3.3 专用VLAN 231
12.4 小结 232
12.5 参考资料 232
第13章 软件结构 234
13.1 软件结构和网络防御 234
13.1.1 软件结构的重要性 234
13.2 软件结构对网络防御的影响 235
13.1.2 评估应用程序安全的必要性 235
13.2.1 防火墙和报文过滤设备的改动 236
13.2.2 与网络配置的冲突 237
13.2.3 加密连接 238
13.2.4 性能和可靠性 239
13.2.5 特殊的操作系统 239
13.3 软件部件的部署 239
13.3.1 单一系统上的应用程序 239
13.3.2 多级应用程序 239
13.3.3 管理员对系统的访问 240
13.4 确定潜在的软件结构问题 241
13.4.1 软件评估检查表 241
13.3.4 内部用户使用的应用程序 241
13.4.2 应用程序相关信息的来源 242
13.4.3 处理不安全的应用程序 242
13.5 软件测试 243
13.5.1 主机安全 243
13.5.2 网络设置和安全 244
13.6 网络防御设计建议 244
13.7 实例分析:客户反馈系统 245
13.7.1 部署位置 246
13.7.2 结构上的建议 246
13.8 实例分析:基于Web的在线帐单应用程序 246
13.8.1 部署位置 247
13.9 小结 248
13.8.2 结构上的建议 248
13.10 参考资料 249
第14章 VPN集成 250
14.1 安全Shell 250
14.1.1 标准SSH连接 250
14.1.2 SSH隧道 252
14.2 SSL 253
14.2.1 SSL标准连接 253
14.2.2 SSL隧道 256
14.3 远程桌面解决方案 257
14.3.1 单会话软件 257
14.3.2 多会话软件 258
14.4 IPSec 259
14.4.1 IPSec客户集成 260
14.4.2 IPSec服务器集成 261
14.4.3 IPSec边界防御调整 261
14.4.4 IPSec结构 262
14.5 VPN其他需要考虑的事项 262
14.5.1 专有VPN的执行 262
14.5.2 受到损害或怀有恶意的VPN客户 263
14.6 VPN设计实例分析 263
14.7 小结 266
15.1 性能与安全 267
15.1.1 定义性能 267
第15章 根据性能调整设计 267
15.1.2 了解在安全中性能的重要性 268
15.2 影响性能的网络安全设计元素 269
15.2.1 网络过滤器的性能影响 269
15.2.3 实例分析 275
15.2.2 网络结构 277
15.3 加密的影响 277
15.3.1 密码服务 277
15.3.2 了解网络层和传输层的加密 278
15.3.3 使用硬件加速器来提高性能 280
15.3.4 实例分析 280
15.4 通过负载平衡来提高性能 282
15.4.2 第4层调度程序 283
15.4.1 负载平衡存在的问题 283
15.4.3 第7层调度程序 284
15.5 小结 284
15.6 参考资料 284
第16章 实例设计 285
16.1 安全设计标准回顾 285
16.2 实例分析 286
16.2.1 实例分析1:使用宽带连接进行远程工作 286
16.2.2 实例分析2:存在基本Internet连接的小企业 288
16.2.3 实例分析3:小型电子商务站点 291
16.2.4 实例分析4:一个复杂的电子商务站点 295
16.2.5 DMZ区域 298
16.3 小结 300
第17章 维护安全边界 301
17.1 系统监控与网络监控 301
第四部分 边界安全评估方法 301
17.1.1 Big Brother简介 302
17.1.2 建立监控过程 304
17.1.3 进行远程监控时需要考虑的安全事项 310
17.2 事故响应 313
17.2.1 通知选项 313
17.2.2 一般的响应准则 314
17.2.3 恶意事故响应 314
17.2.4 自动化事件响应 315
17.3.1 变更管理的基础 316
17.3 适应变更 316
17.3.2 修改-管理控制的实现 318
17.4 小结 321
17.5 参考资料 321
第18章 网络日志分析 322
18.1 网络日志文件的重要性 322
18.1.1 日志文件的特征 322
18.1.2 日志文件的作用 324
18.2 日志分析基础 326
18.2.1 开始入手 326
18.2.2 自动化日志分析 327
18.2.3 时间戳 330
18.3 分析路由器日志 331
18.3.1 Cisco路由器日志 331
18.3.2 其他路由器日志 331
18.4 分析网络防火墙日志 332
18.4.1 Cisco PIX日志 332
18.4.2 Check Point的Firewall-1日志 333
18.4.3 IFTables日志 334
18.5 分析以主机为中心的防火墙和IDS日志 334
18.5.1 ZoneAlarm 335
18.5.2 Tiny Personal Firewall 336
18.6 小结 337
18.5.3 B1ackICE Defender 337
第19章 防御部件故障诊断 339
19.1 故障诊断过程 339
19.1.1 收集症状 339
19.1.2 检查最近的变更 340
19.1.3 形成假定 340
19.1.4 测试假定 340
19.1.5 分析结果 341
19.1.6 如必要的话重复以上步骤 341
19.2 故障诊断经验法则 341
19.2.1 一次只进行一次修改 341
19.2.5 不要实现一种比原问题带来更多麻烦的修复方法 342
19.2.4 将重点一直放在问题修复上 342
19.2.3 换个角度考虑 342
19.2.2 开放思维 342
19.2.6 应当记住:最难于诊断的问题往往是最容易忽略的问题 343
19.3 故障检修员的工具箱 343
19.3.1 应用层故障诊断 343
19.3.2 传输层故障诊断 346
19.3.3 网络层故障诊断 354
19.3.4 链路层故障诊断 359
19.4 小结 361
19.5 参考资料 361
20.1 外部评估 362
第20章 评估技术 362
20.1.1 计划 363
20.1.2 初期侦察 364
20.1.3 系统列举 366
20.1.4 服务列举 368
20.1.5 弱点发现 372
20.1.6 弱点调查 375
20.2 内部评估 376
20.2.1 准备内部评估 376
20.2.2 验证访问控制 377
20.3 小结 380
20.4 参考资料 382
21.1 攻击网络的黑客方法 383
第21章 攻击设计 383
21.2 对抗性检查 384
21.3 GIAC GCFW学生实习设计 386
21.3.1 实习设计1 386
21.3.2 确定留下的入口:内部防火墙 393
21.3.3 实习设计2 396
21.4 小结 404
21.5 参考资料 404
第22章 纵深防御的重要性 405
22.1 纵深防御结构的一个例子——城堡 405
22.1.1 坚固的城墙与火力更强的炮弹 406
22.1.2 密道 406
22.1.3 隐藏技术 408
22.1.4 防御熟悉内幕的人 410
22.2 具有吸收能力的边界 412
22.2.1 “蜂蜜罐” 413
22.2.2 速率限制 413
22.2.3 故障恢复 415
22.3 信息的纵深防御 415
22.3.1 扩散问题 415
22.3.2 密码术与纵深防御 417
22.4 小结 417
第五部分 附录 419
附录A Cisco访问列表配置示例 419
附录B 密码术基础 428
附录C 网络空隙 432