《Hardening Network Security中文版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)麦勤瑞(Mallery,J.)著;邓琦皓译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302129649
  • 页数:516 页
图书介绍:本书详细介绍网络系统的安全防护工作,并对系统管理员容易疏忽或犯错误的细节进行探讨。

目录 3

第1篇 现在就做 3

第1章 做好开门七件事 3

1.1 更改默认账号设置 5

1.1.1 更改默认口令 5

1.1.2 重命名或隐藏管理员账号 6

1.2 只为管理员任务使用管理员账号 10

1.2.1 在Microsoft Windows中使用runas命令 10

1.2.2 在Unix系统中使用su和sudo 11

1.3 识别未使用或不需要的端口 12

1.3.1 用netstat识别开放端口 13

1.3.2 利用OS特有的工具识别开放端口 17

1.4 禁止/关闭/删除未使用和不需要的服务及守护进程 18

1.4.1 禁止Windows中不必要的服务 18

1.4.2 用系统配置工具禁止预定的欺诈应用程序在启动时运行 21

1.4.3 禁止Unix中不必要的服务 22

1.5 删除欺诈连接:无线和拨号 24

1.6 为每种OS设置恶意内容过滤器 27

1.7 测试备份和恢复程序 28

第2篇 从顶层开始:系统地加固你的公司 33

第2章 为了安全,把网络划分成若干公共功能区 33

2.1 选择分段模式 34

2.1.1 根据工作职责划分网段 35

2.1.2 根据威胁等级划分网段 37

2.1.3 根据风险等级划分网段 38

2.1.4 根据服务类型划分网段 38

2.1.5 根据企业需求划分网段 39

2.2 选择适当的方式划分网段 42

2.2.1 从服务器处开始划分网段 42

2.2.2 使用网关设备划分网段 43

2.2.3 使用VLAN 50

2.2.4 使用VPN在被保护网段之间传输数据 53

第3章 用身份管理系统加固安全 54

3.1 理解身份管理驱动力 55

3.1.1 确定身份管理责任驱动力 55

3.1.2 确定身份管理节约成本和时间的驱动力 58

3.1.3 确定身份管理的安全驱动力 59

3.2 建立身份管理基础 60

3.2.1 采用基于标准的目录服务 60

3.2.2 根据企业需求选择身份管理解决方案 60

3.2.3 为实施身份管理解决方案做准备 63

3.2.4 识别内部权威来源 65

3.3 用身份管理增强公司访问控制策略 67

3.3.1 控制开始阶段 67

3.3.2 控制生成过程 69

3.3.3 控制管理过程 73

3.3.4 控制终止过程 75

3.4 通过工作流程和审计过程管理身份 76

第4章 加固跨平台认证 78

4.1 加固口令 79

4.1.1 加固用户口令 81

4.1.2 加固非用户口令 83

4.2 选择最安全的认证过程 84

4.2.1 基于个人所知的认证 85

4.2.2 基于不可变身体特征的认证 87

4.2.3 基于个人所有的认证 91

4.3 使用强认证保护敏感资源 95

4.4 加固认证资源 96

4.5 跨平台使用加固认证方法 98

第5章 加固Web服务 100

5.2 理解Web服务 102

5.1 加固Web服务环境 102

5.2.1 Web服务的处理是在机器之间的,而不是在人与机器之间 103

5.2.2 Web服务定义语言 104

5.2.3 REST和Plain-XML Web服务 104

5.2.4 RPC和基于文档的SOAP 104

5.2.5 传输独立性 105

5.3 理解和使用W3C、OASIS和WS-I等标准、概要和规范 106

5.4 实现Web服务的安全需求 107

5.4.1 为Web服务实现认证 107

5.4.2 用SAML和到网站授权的链接实现Web服务授权 111

5.4.3 保证消息完整性——XML Signature、PKCS#7 Signature、SSL/TLS和IPSec 111

5.4.4 实现保密性:XML Encryption、SSL/TLS和IPSec 114

5.4.7 保证Web服务的可用性 115

5.4.5 用XML Signature和XAdES提供Web服务审计 115

5.4.6 避免采用要求编辑XML文件来手工配置安全设置的解决方案 115

5.5 阻断“恶意XML”攻击 116

5.5.1 防止Web服务SQL注入 116

5.5.2 保护Web服务,使之免受捕获-重放攻击 117

5.5.3 确保应用服务器不处理DTD 118

5.5.4 为避免受到XML拒绝服务攻击(XDoS)而打补丁程序 119

5.5.5 不要盲目处理SOAP附件,因为其中可能藏有病毒 120

5.5.6 保证不会受到XML Signature重定向攻击 120

5.6 实现保证所在机构面向服务架构安全的策略 121

5.7 评价和实现保护Web服务的产品 122

5.6.3 保证SOA的可用性 122

5.6.2 取消安全边界 122

5.6.1 用安全令牌把安全上下文传递给服务层 122

5.7.1 Vordel——XML网关/防火墙和XML安全服务器 123

5.7.2 Teros——Web应用安全 124

5.7.3 Sarvega——XML路由器 125

第6章 加固移动环境 126

6.1 保护自身以避免在环境中移动设备的风险 127

6.1.1 制定移动设备安全策略 127

6.1.2 安全的移动认证 128

6.1.3 保护移动设备免遭恶意代码破坏 132

6.1.4 保护移动设备上存储的数据 132

6.2 保护环境以避免移动连接风险 133

6.2.1 保护环境避免近程连接威胁 134

6.2.2 保护环境避免中程连接威胁 137

6.2.3 保护环境避免远程连接威胁 137

第7章 超越访问控制:保护存储的数据 143

7.1 将加密作为一个安全层 144

7.2 精心选择密码系统 145

7.2.1 不要信赖私有加密系统 145

7.2.2 了解不同的密钥算法 145

7.2.3 加固对称密钥密码学的执行 147

7.3 了解保护数据是为了防备谁 158

7.4 确定加密什么以及为什么要加密 158

7.4.1 确定加密的法律需求 159

7.4.3 确定加密的内部商业需求 160

7.4.2 确定加密的外部商业需求 160

7.4.4 确定支持加密的良好的商业实践 161

7.5 加密数据库中的敏感数据 162

7.5.1 了解不使用数据库加密的普遍原因 163

7.5.2 为数据库选择良好的加密过程 164

7.6 提供“非”实时加密 169

7.7 在何处加密 170

7.7.1 客户端 171

7.7.2 服务器端 171

7.7.3 应用程序服务器端 171

7.7.4 网络中 172

7.7.5 数据库服务器端 172

7.8 认证 173

7.7.6 企业幕后端 173

7.9 让加密在环境中起作用 174

第8章 加固来自Web的数据库访问 177

8.1 在安装时保护DBMS 178

8.1.1 保护DBMS所在的操作系统 178

8.1.2 在只有很少的其他进程的服务器上安装DBMS 179

8.1.3 隔离DBMS使用的计算机或默认端口 179

8.1.4 为每个DBMS服务设置不同的账号 180

8.1.5 删除示例数据库和代码 181

8.2 使用许可保护数据 182

8.2.1 避免将DBMS认证用于OS登录ID 182

8.2.2 采用操作系统认证 183

8.2.3 使用应用程序角色保护程序访问 184

8.2.4 保护应用程序级安全程序中的登录 185

8.2.5 限制账号访问 185

8.2.6 保护内置账号和口令 188

8.2.7 在开发中施加保护并测试数据库 189

8.2.8 用操作系统文件许可保护DBMS 190

8.2.9 保护操作系统免遭DBMS启动的程序的威胁 191

8.3 使用应用程序分区和网络技术确保对DBMS的访问安全 192

8.3.1 使用防火墙关闭端口 192

8.3.2 隔离应用程序组件 192

8.3.3 隐藏错误信息 193

8.4.2 哈希或加密敏感数据 194

8.4.1 保护数据库连接串 194

8.4 利用良好的习惯来保护应用程序 194

8.4.3 加密客户端与服务器之间的通信 195

8.4.4 避免SQL注入攻击(SQL Injection) 196

8.5 监控和审计 197

8.5.1 DBMS监控工具 197

8.5.2 审计登录错误和成功登录 198

8.5.3 审计其他所有动作 199

8.5.4 审计检查 200

8.5.5 提前审计 201

8.5.6 策略检查 201

8.6 保护备份和存档 201

8.6.3 保护或模糊测试数据 202

8.6.1 保护数据的备份拷贝 202

8.6.2 验证远程备份的安全性 202

第9章 加固跨平台访问控制 204

9.1 了解操作系统访问控制 205

9.1.1 了解Unix的访问控制 205

9.1.2 理解Windows的访问控制 209

9.2 确定资源所需权限 218

9.3 理解基于角色的访问控制 219

9.4 加固跨平台的工具,以进行安全、无缝的访问控制 220

9.4.1 加固简单的或传统的文件共享/传输服务 220

9.4.2 理解并加固用于UNIX的Microsoft服务 221

9.4.3 理解并加固Samba 223

9.4.4 加固SMB 225

9.4.5 加固SAN 226

9.4.6 加固NFS 226

9.5 避免数据完整性问题 228

第10章 利用加密加固数据传输 229

10.1 利用加密加固数据传输 230

10.1.1 选择一个加密标准 230

10.1.2 选择一个加密协议 232

10.1.3 选择一种认证方式 237

10.2 决定是否应该使用加密 242

10.2.1 使用加密保护广域网通信 243

10.2.2 使用加密保护Internet通信 243

10.2.3 使用加密保护无线连接 244

10.2.4 使用加密保护基于局域网的主机通信 247

10.3 决定在何处使用加密 248

10.3.1 在广域网路由器之间实施加密 249

10.3.2 为VPN连接执行加密 251

10.3.3 在主机之间实施加密 253

第11章 加固远程客户端 261

11.1 选择远程访问的方式 262

11.1.1 采用基于代理的远程访问 263

11.1.2 保护直接远程访问的安全 268

11.2 保护远程客户端 270

11.2.1 加固物理安全 270

11.2.2 控制逻辑访问 271

11.2.3 采用个人防火墙 275

11.2.4 控制程序执行 279

11.2.5 保证软件完整性 280

11.3 保护远程客户端的数据 281

11.3.1 用加密手段保护数据 281

11.3.2 通过硬件限制来保护数据 284

11.3.3 通过软件限制来保护数据 284

11.4 维护远程客户端的安全策略 286

第12章 加固无线网络 288

12.1 规划安全的无线网络 289

12.2 寻找并破坏非善意无线局域网 294

12.2.1 使用无线局域网发现规程 295

12.3 设计自己的无线局域网拓扑 298

12.2.2 去除非善意无线接入点 298

12.3.1 统一的无线和有线网络 299

12.3.2 分段的无线和有线网络 300

12.3.3 无线网络以VPN方式访问有线网络 303

12.3.4 在远程/分公司办公室提供安全的无线局域网 304

12.4 加固无线广域网 304

12.4.1 CDPD(Cellular Digital Packet Data) 305

12.4.2 CDMA(Code Division Multiple Access) 305

12.4.3 GPRS(General Packet Radio Service) 305

第13章 加固混合Unix网络 306

13.1 理解混合Unix环境的基本问题 307

13.1.1 理解各种版本和支持模型 308

13.1.2 了解文化差异 309

13.2 保护Root账户 312

13.2.1 为不包括sudo的Unix平台添加sudo程序 312

13.2.2 sudo委托的配置 313

13.2.3 配置用户账户和口令 314

13.2.4 删除明文服务 316

13.2.5 减少所运行的服务的数量 317

13.2.6 打补丁 318

13.2.7 监控日志文件 319

13.2.8 从物理上保证Unix系统的安全 325

13.2.9 查看具体厂商的Unix加固资源 325

第14章 入侵检测和响应 326

14.1 设计入侵检测/防御系统 327

14.1.1 了解拓扑所需要的IDS/IPS类型 328

14.1.2 选择IDS和拓扑以满足操作需求 331

14.1.3 确定IDS的放置和监控需求 332

14.2 部署入侵检测系统 335

14.2.1 Snort:一种实用的IDS 336

14.2.2 调节IDS 337

14.3 加固入侵检测/防御系统 339

14.4 保护IDS操作 340

14.4.1 保护IDS通信 340

14.4.3 保护数据库访问权限 341

14.5 规划入侵响应过程 341

14.4.2 保护配置文件 341

14.5.1 了解入侵响应阶段 342

14.5.2 成立入侵响应小组 342

14.5.3 为入侵做准备 344

14.5.4 制定计划,测试计划,执行计划 345

第15章 管理恶意代码 346

15.1 垃圾邮件:防范1号公敌 348

15.2 防止成功的钓鱼式攻击 353

15.2.1 用反垃圾邮件软件识别并封锁钓鱼式攻击 354

15.2.2 教用户学会识别钓鱼式攻击 354

15.2.3 警惕新型的钓鱼式攻击 355

15.3.1 在所有计算机上安装并维护反病毒软件 356

15.3 防止任何系统感染病毒 356

15.3.2 在电子邮件网关处扫描病毒 357

15.3.3 对用户进行培训,增强他们防范病毒的能力 358

15.4 防范蠕虫 359

15.5 投身补丁战 359

15.6 防范间谍软件 361

15.7 防止Web应用受到基于Web的攻击 363

15.7.1 对开发人员进行培训,使之了解典型的Web攻击 363

15.7.2 对开发人员进行培训,使之不局限于已知的编程缺陷 365

15.7.3 采用应用层防火墙 365

第16章 加固湿件 368

16.1 最终用户:是朋友还是敌人 369

16.2.1 制定适用于所有用户的可接受使用策略 370

16.2 打好基础:策略和规程 370

16.2.2 防范知识产权盗窃 372

16.2.3 实施策略 373

16.3 制定培训计划:团队的构建 375

16.3.1 确定培训的具体目标 375

16.3.2 明确对培训师的要求 375

16.3.3 确定对培训的要求 377

16.4 培养沟通技能 391

16.4.1 提供跨部门的培训 391

16.4.2 让IT职员跳出IT技术之外 392

第3篇 永远没有一劳永逸 395

第17章 混合网络安全性评估与测试 395

17.1.1 了解客户的需求 397

17.1 评估前的准备 397

17.1.2 确定关键联系人 399

17.1.3 创建关于系统和信息的重要性矩阵 399

17.1.4 确定是否需要做渗透测试 400

17.1.5 获得客户的正式同意 402

17.1.6 确定要评估的系统和流程 402

17.1.7 最终确定测试计划 414

17.1.8 协调关于最终保障的任何问题 414

17.2 实施评估 415

17.2.1 离场工作 415

17.2.2 实施现场评估 416

17.3.1 完成需要做的任何后续工作 419

17.3 评估后的处理 419

17.2.3 提供最初反馈和状态 419

17.3.2 最终完成审计报告 420

第18章 变革管理 421

18.1 确定和划分变革管理场景 422

18.1.1 把规划内变革和规划外变革区分开 422

18.1.2 把被动变革减少到最低限度 423

18.1.3 管理与新业务相关的变革 424

18.1.4 管理技术变革 424

18.1.5 变革的发现与监控 425

18.2 开发变革管理框架 426

18.2.1 确定并指派角色 427

18.2.3 开发集中式变革跟踪机制 428

18.2.2 使变革管理成为安全策略的一部分 428

18.2.4 确定从头至尾的大致流程 430

18.2.5 获取管理层的支持 431

18.2.6 建立变革告知系统 431

18.2.7 提供变革请求与实施的集中式知识库 431

18.3 开发变革管理流程 432

18.3.1 记录并测度当前状态 432

18.3.2 确定变革的影响 432

18.3.3 争取使变革获得批准 433

18.3.4 对变革做充分测试 433

18.3.5 把变革记入文档 434

18.3.6 评估所提出的变革 434

18.3.9 报告成功 436

18.3.7 规划并告知受影响的群体 436

18.3.8 部署变革 436

18.3.10 完成变革流程 437

18.3.11 测试遵守安全轮廓及改进安全轮廓的情况 437

第19章 打安全补丁 438

19.1 确定需要对什么打补丁 440

19.1.1 验证软件/硬件更新和补丁许可证 440

19.1.2 找出所有技术产品 441

19.2 找出可靠的漏洞消息来源并确定补丁的可用性 444

19.2.1 使用独立新闻组或列表 444

19.2.2 搜索多个漏洞数据库和门户网站 444

19.2.3 利用厂商的安全网站和公告列表 446

19.3 获取经验证的补丁 447

19.3.1 选择无代理的“推”式补丁管理工具 448

19.3.2 选择基于代理的“拉”式补丁管理工具 448

19.4 验证补丁的可靠性 449

19.5 确定哪些系统应在何时打哪些补丁 450

19.5.1 确定必须要打哪些补丁 450

19.5.2 了解厂商的补丁发布战略 451

19.5.3 判断是否有必要安装补丁、安装修复程序、更改配置或采取规避措施 451

19.5.4 选择要打补丁的计算机系统 452

19.5.5 确定何时安装安全补丁 453

19.5.6 在规划过程中应有系统所有者的参与 453

19.5.7 做好应对业务中断的准备 453

19.6 测试补丁和测试打补丁流程 454

19.7 安装安全补丁 455

19.7.1 给远程客户端打补丁 455

19.7.2 提供不要求提升权限即可运行的打补丁软件 455

19.7.3 针对大量系统实施快速安装 456

19.7.4 使用由厂商提供的补丁-更新软件 456

19.7.5 使用来自第三方的打补丁工具 459

19.8 审计被打上补丁的系统 460

19.8.1 测试威胁或漏洞是否已经消失 460

19.8.2 使用补丁检查工具 461

19.9 进行脆弱性评估 462

第20章 安全评估 463

20.1 评估最终用户遵守和接受规定的情况 464

20.1.1 确定和使用常见违规问题列表 465

20.1.2 实施非正式评估 466

20.1.3 实施正式评估 469

20.2 实施事件后评估 475

20.2.1 在基础结构出现重大变动后实施评估 475

20.2.2 在兼并或收购之后进行评估 476

20.2.3 在发现新威胁或新漏洞后实施评估 476

20.2.4 在员工工作效率下降时实施评估 480

20.2.5 为实施新法规而进行评估 481

20.2.6 在审计发现不符合规定时进行评估 483

20.2.7 在发现有违规情况或安全事件时进行评估 483

20.2.8 在关键人员离开公司后实施评估 484

第21章 安全管理的策略 487

第4篇 如何成功完成加固 487

21.1 把同事看作“客户” 488

21.2 理解安全管理中的各种角色 489

21.2.1 从人力资源部门开始启动安全流程 489

21.2.2 让法律部搞清法规要求 491

21.2.3 与物理安全团队合作 492

21.2.4 建立一流的IT安全部门 493

21.2.5 用管理者的语言与管理层交流 497

21.2.6 鼓励最终用户遵守规定 503

21.2.7 让所有部门通力合作 503

第22章 不要对安全无动于衷 505

22.1 阐明进行安全防范的理由 506

22.2 收集支持安全防范的统计数据 507

22.3 了解对安全持冷漠态度者的想法 508

22.4 提高管理层对投资于安全的认识 509

22.5 制定安全策略 509

22.5.1 获取管理高层的支持 510

22.5.2 制定切实可行的安全规程和指导原则 511

22.6 制定提高安全意识的计划 511

22.7 吸取到的教训 512

22.7.1 了解对安全措施的抵制是否实际上是对安全措施不完善的一种关注 512

22.7.2 明确规定对不遵守安全策略的行为的惩戒措施 514

22.7.3 很多对安全持冷漠态度的人都认为自己计算机的安全应该由其他人负责保护 515

22.7.4 对安全的无动于衷可能带来惨重的教训 516