《Linux安全:入侵防范、检测和恢复》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Bob Toxen著;前导工作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111093836
  • 页数:517 页
图书介绍:

译者序 1

序言 1

第1章 导言 1

1.1 本书适合的读者 1

1.2 本书的组织结构 1

1.2.1 本书的约定 3

1.2.2 背景 3

1.3 需要防范的内容 4

1.4 谁是你的敌人 5

1.5 他们想干什么 6

1.6 保护与入侵的代价 6

1.10 文件保护 7

1.9 对系统的访问进行保护 7

1.8 对网络和调制解调器的访问进行保护 7

1.7 硬件保护 7

1.11 针对入侵的准备和检测 8

1.12 从入侵中恢复 8

第一部分 保护系统 10

第2章 常见问题的快速解决 10

2.1 了解Linux安全性 11

2.1.1 Linux系统的安全性 11

2.1.2 攻击路径 15

2.1.3 进入安全环 17

2.2 七种致命错误 18

2.2.1 脆弱的口令 18

2.2.2 开放网络端口 19

2.2.3 旧软件版本 20

2.2.5 不安全的CGI 21

2.2.4 很差的物理安全性 21

2.2.6 陈旧的和不必要的账户 25

2.2.7 耽搁 26

2.3 良好安全性的重点:口令 26

2.4 先进的口令技术 29

2.4.1 可以获得很好的安全性的隐蔽的MD5口令 29

2.4.2 口令的重复提示 32

2.4.3 口令应该是成熟的吗 33

2.4.4 账户名 34

2.5 防止系统中的用户操作错误 34

2.5.1 引入软件的危险 37

2.5.2 教育用户 37

2.6 限制访问权限 38

2.6.1 目录与粘着位 39

2.6.2 找出权限问题 40

2.6.3 在启动脚本中使用U掩码 43

2.7 初始系统安装中的危险和干扰 43

2.8 限制不合理的访问 45

2.8.1 限制根用户可以登录的终端 45

2.8.2 拨打完整序列的电话号码 46

2.8.3 停止对数据不受控制的访问 46

2.8.4 限制服务器的接口 47

2.9 防火墙和公司其他的防范措施 47

2.9.1 停止终端在防火墙周围运行 48

2.9.2 开隧道通过防火墙 50

2.9.3 更改内核设置 53

2.9.4 Egress过滤 54

2.9.5 局域网陷患 54

2.9.6 公司内部的防火墙存在隐患 56

2.10 关掉不必要的服务 58

2.11 高安全性要求最小数量的服务 62

2.12.1 不要使用finger 63

2.12 不再使用有隐患的服务 63

2.12.2 关掉rwhod 64

2.12.3 关掉rwalld 65

2.12.4 关掉SNMP 65

2.12.5 关掉NFS、mountd和portmap 66

2.12.6 转换NFS在TCP上运行 66

2.12.7 关掉rsh、rcp、rlogin和rexec 67

2.12.8 关掉fdmount 68

2.12.9 关掉Echo和Chargen 68

2.12.10 关掉talk和ntalk 68

2.12.12 关掉systat和netstat 69

2.12.13 关掉内部的inetd服务 69

2.12.11 关掉TFTP 69

2.12.14 升级updatedb和locate 70

2.13 用新版本代替旧版本 70

2.13.1 升级named程序 71

2.13.2 升级2.2内核 71

2.13.3 升级sendmail 71

2.13.4 加强Sendmail来抵御DoS攻击 73

2.13.5 升级SSH 75

2.13.6 升级WU-FTPD 76

2.13.7 升级Netscape 76

2.13.8 禁止Web广告 77

2.13.9 升级mountd 78

2.13.10 升级gpm 78

2.13.14 修正innd 79

2.13.13 修正OpenLDAP 79

2.13.11 升级imwheel 79

2.13.12 升级OpenLDAP 79

2.13.15 Postgresql的脆弱之处 80

2.14 把不同安全等级的服务分隔开 80

第3章 简单入侵方法及应对策略 83

3.1 X系统的安全漏洞 83

3.2 物理入侵 86

3.2.1 从入侵者的软盘或光盘启动系统 87

3.2.2 CMOS重新配置 87

3.2.3 给CMOS加上密码 88

3.2.4 防止未授权用户使用单用户模式 89

3.2.5 防止用软盘窃取信息 90

3.2.6 防止Ctrl-Alt-Delete组合键的袭击 90

3.3 其他主题 90

3.3.2 $PATH中“.”引发的问题 91

3.3.1 电缆调制解调器 91

3.3.3 阻塞IP源路由 92

3.3.4 阻塞IP欺骗 93

3.3.5 屏幕自动锁定 94

3.3.6 /etc/mailcap 95

3.3.7 chattr程序和不可修改标志位 96

3.3.8 安全删除 96

3.3.9 同步I/O 97

3.3.10 用以增强安全性的mount参数 98

3.3.11 使用SSH包装UDP和TCP 99

3.3.12 cat目录与man命令 99

3.3.13 用*limit限制资源使用 101

3.3.14 公共界面下shell程序的历史记录 101

3.3.15 理解地址解析协议 102

3.3.16 防止ARP缓存中毒 103

3.3.17 Shell转义 104

3.3.18 你自己的ISP 105

3.3.19 终端探测程序 106

3.3.20 Star Office 107

3.3.21 VMware 107

3.4 终端设备攻击 107

3.4.1 功能键劫持 108

3.4.2 组合键的脆弱之处 108

3.4.3 xterm修改日志文件的脆弱之处 109

3.5 磁盘探测 109

3.5.1 真正擦除文件 110

3.5.2 破坏在空闲数据块上的旧的保密数据 112

3.5.3 擦除整个磁盘上的数据 115

3.5.4 破坏一个硬盘 115

4.1 NFS、mountd以及portmap 117

第4章 入侵子系统的一般方法 117

4.2 Sendmail 119

4.2.1 分离或多邮件服务器的附加安全性 120

4.2.2 Sendmail基础安全性 120

4.2.3 Sendmail安全选项 123

4.2.4 仿造邮件及新闻发送者地址 125

4.2.5 垃圾邮件来自何处 125

4.2.6 转发垃圾邮件 127

4.2.7 阻塞垃圾邮件 127

4.2.8 抵制垃圾邮件的工具 128

4.2.9 启用控制中继功能 128

4.2.10 禁止公开邮递列表 130

4.2.11 写满磁盘的Sendmail DoS 130

4.3 Telnet 131

4.4 FTP 131

4.4.1 匿名FTP的配置 133

4.4.2 FTP代理威胁 137

4.5 rsh、rcp、rexec以及rlogin服务 137

4.5.1 R*安全性 138

4.5.2 R*的不安全性 139

4.6 DNS 140

4.6.1 限制由于升级Named所带来的损害 140

4.6.2 服务于人 141

4.7 POP及IMAP服务器 141

4.8 使用Samba 144

4.8.1 Samba是否在系统上 145

4.8.2 Samba的卸载 145

4.8.3 Samba配置文件 146

4.8.4 文件smb.conf 146

4.9 防止使用Squid来覆盖入侵痕迹 151

4.8.5 注意CIFS/SMB-Only的用户 151

4.10 syslogd服务 153

4.11 print服务 154

4.12 ident服务 154

4.13 INND与News 155

4.14 保护你的DNS注册 156

第5章 常见攻击方法 159

5.1 Rootkit攻击 159

5.2 报文欺骗 160

5.2.1 为何UDP报文欺骗得以成功 162

5.2.2 TCP顺序号欺骗 163

5.2.3 会话劫持 164

5.3 SYN泛洪攻击 165

5.4 阻止SYN泛洪攻击 165

5.6 报文风暴、Smurf攻击和Fraggles 166

5.5 阻止TCP顺序号欺骗 166

5.6.1 避免成为放大器 168

5.6.2 阻止报文风暴攻击 169

5.6.3 Cisco路由器 170

5.6.4 DDoS攻击:被抵消的网络资源 170

5.7 缓冲区溢出或使用get()标记内存 171

5.8 欺骗技术 171

5.8.1 邮件欺骗 172

5.8.2 MAC攻击 173

5.8.3 中毒的ARP缓存 174

5.8.4 中毒的DNS缓存 174

5.9 中间人攻击 174

第6章 高级安全问题 178

6.1 配置具有更高安全性的Netscape 178

6.1.1 Netscape的重要属性 178

6.1.3 系统用户的Netscape首选 181

6.1.2 获取自己的cookie 181

6.1.4 Netscape个人安全管理器 182

6.1.5 Netscape Java的安全性 182

6.2 终止对I/O设备的访问 184

6.2.1 为何/dev/tty的模式设为666 187

6.2.2 虚拟控制台缓冲区的脆弱之处 188

6.2.3 可加密的磁盘驱动程序 188

6.3 跟踪Apache安全问题 189

6.3.1 所有权和权限 189

6.3.2 SSI 190

6.3.3 ScriptAllias 190

6.3.4 防止用户改变系统设置 191

6.3.5 控制Apache可以访问的目录 191

6.3.8 数据库泄漏 192

6.3.6 控制Apache可以访问的文件扩展 192

6.3.7 杂项 192

6.3.9 拒绝不受欢迎的主机 195

6.3.10 到站点的链接 195

6.4 Web服务器使用的几种特殊技术 196

6.4.1 将多个服务互相隔离 196

6.4.2 切勿信任CGI 197

6.4.3 隐藏的表单变量与被破坏的Cookie 197

6.4.4 保护职员的个人信息 197

6.4.5 禁止Robot 198

6.4.6 危险的CGI程序 199

6.4.7 利用CGI Query程序的漏洞进行攻击 200

6.4.8 转换十六进制编码的URL 200

6.4.11 CGI脚本和程序 202

6.4.10 利用CGI phf程序进行的攻击 202

6.4.9 利用CGI Counterfiglet程序进行的攻击 202

6.4.12 强制URL封锁 209

6.4.13 探测被毁损的Web页 209

6.5 安全的信用卡数据单向传输 210

6.6 强化系统安全性 213

6.7 限制登录地点及次数 219

6.8 一些隐秘但致命的安全问题 220

6.8.1 防范缓冲区溢出攻击 220

6.8.2 防范chroot()攻击 222

6.8.3 符号链接攻击 223

6.8.4 lost+found=全部问题 225

6.8.5 rm-r竞争 226

6.9 防止登录模拟器攻击 227

6.9.1 更新/etc/issue 228

6.9.3 内核支持 230

6.9.2 弥补/bin/login 230

6.10 使用Libsafe防止缓冲区溢出 231

第7章 创建安全策略 235

7.1 通用策略 235

7.2 个人使用策略 235

7.3 账户策略 237

7.4 电子邮件策略 238

7.5 Web服务器策略 239

7.6 文件服务器和数据库策略 240

7.7 防火墙策略 240

7.8 桌面策略 240

7.9 便携式电脑策略 241

7.11 网络拓扑策略 243

7.10 报废策略 243

7.12 问题报告策略 245

7.13 所有权策略 245

7.14 选择策略的策略 246

第8章 对其他机器的信任机制 247

8.1 安全系统与不安全系统 247

8.2 控制下的Linux系统和UNIX系统 248

8.3 控制主机 249

8.4 Windows的安全特征 249

8.5 防火墙的脆弱之处 251

8.6 虚拟专用网络 253

8.7 病毒与Linux 254

第9章 分段入侵 256

9.1 Mission Impossible技术 256

9.2 间谍 258

9.3 疯狂攻击和自杀性攻击 259

第10章 案例分析 260

10.1 Berkeley防御系统的漏洞 260

10.2 这个领域中的佼佼者 262

10.3 Ken Thompson对海军的攻击 264

10.4 虚拟机特洛伊木马 264

10.5 AOL的DNS更改失败 265

10.6 “我是无辜的” 266

10.7 用笔记本电脑和付费电话进行攻击 267

10.8 从巨额数目中盗窃几美分 268

第11章 最新的入侵方法 269

11.1 分段攻击 269

11.2 死亡性Ping 270

11.5 用Sendmail来阻止电子邮件攻击 271

11.4 电缆调制解调器:一个黑客的梦 271

11.3 秘密扫描 271

11.6 Sendmail账户猜想 272

11.7 神秘的ingreslock 272

11.8 你正在被跟踪 273

11.8.1 Pentium Ⅲ序列号 273

11.8.2 Microsoft的GUID允许监视 273

11.9 分布式拒绝服务攻击 274

11.10 隐藏的特洛伊木马程序 276

11.10.1 为什么要用ICMP回应报文及如何回应 277

11.10.2 特洛伊木马将来的方向 278

11.10.3 混杂模式内核消息 279

11.11 经过TCP98 端口的Linuxconf 279

11.12 恶意的HTML标志和脚本 279

11.13 syslog()的格式问题 281

第12章 加固系统 283

第二部分 入侵防范准备 283

12.1 用SSH保护用户会话 284

12.1.1 编译SSH2 285

12.1.2 配置SSH 287

12.1.3 使用SSH 288

12.1.4 用SSH包装X 289

12.1.5 使用SSH、PPP和Perl的VPN 290

12.1.6 使用sftp 291

12.1.7 使用scp 291

12.1.8 用SSH封装其他基于TCP的服务 291

12.1.9 使用FreeS/WAN IPSec建立VPN 292

12.1.10 SSH不能防范的脆弱之处 293

12.2 PGP 293

12.3 FSF的PGP替代软件 294

12.3.2 编译 295

12.3.1 下载 295

12.3.3 工作原理 296

12.3.4 生成密钥 296

12.3.5 交换密钥 297

12.3.6 传播你的公开密钥 298

12.3.7 签名文件 299

12.3.8 邮件的加密和签名 300

12.3.9 加密的备份和其他过滤器 301

12.3.10 非常高的GPG安全性 301

12.4 使用IP Chain和DMZ的防火墙 301

12.4.1 IP Chain不能做什么 303

12.4.2 IP Chain基础 304

12.4.3 IP Chain命令 307

12.4.4 启动一个防火墙脚本 308

12.4.5 防火墙的基本用法 311

12.4.6 阻塞外部恶意入侵 312

12.4.7 IP伪装 318

12.4.8 创建DMZ 320

12.4.9 有状态的防火墙 322

12.4.10 SSH危险 323

12.4.11 加密的邮件访问 324

第13章 硬件准备 326

13.1 时间就是一切 326

13.2 高级准备 328

13.3 切换到辅助控制 329

13.3.1 哪个系统应该具有备份系统 329

13.3.2 两类备份系统 330

13.3.3 安全备份系统设计 330

13.3.4 保持安全备份系统处于就绪状态 331

13.3.5 检查高速缓存 332

13.3.6 最好准备一个空闲的硬盘 333

第14章 配置准备 334

14.1 TCP Wrapper 334

14.1.1 TCP Wrapper的使用 335

14.1.2 TCP Wrapper的高级使用 336

14.2 自适应TCP Wrapper 337

14.3 Cracker Trap 342

14.3.1 /etc/service文件 343

14.3.2 /etc/inetd.conf文件 344

14.3.3 /etc/hosts.allow文件 347

14.4 用内核模式终止黑客服务器 347

14.5 应急训练 348

14.5.1 飞机失事演习 349

14.5.5 测试系统 350

14.5.4 计划好进行哪些演习 350

14.5.3 危险和预防 350

14.5.2 这只是一次测试 350

14.5.6 安全的特洛伊木马 351

14.5.7 程序的大小很重要 352

14.5.8 引起更多的麻烦 353

14.6 用Tiger team侵入你自己的系统 353

第15章 扫描系统 356

15.1 Nessus安全扫描程序 356

15.2 SARA和SAINT安全审计程序 356

15.3 nmap网络映射程序 357

15.4 Snort攻击检测程序 361

15.5 用SHADOW进行扫描和分析 361

15.7 保存RPM数据库校验和 362

15.6 John the Ripper 362

第三部分 入侵检测 366

第16章 行为监视 366

16.1 日志文件 366

16.2 如何利用日志文件 367

16.3 当有人攻击系统时呼叫系统管理员 369

16.4 一个自动呼叫的例子 369

16.5 使用你的自动呼叫的例子 371

16.6 呼叫telnet和rsh的使用 373

16.7 监视端口的使用 374

16.8 使用tcpdump监视你的局域网 374

16.8.1 编译tcpdump 375

16.8.2 使用tcpdump 375

16.9 用欺骗工具包监视扫描程序 378

16.10 监视进程 380

16.11 使用cron来提防黑客 382

16.12 Caller ID 383

第17章 扫描系统查找异常 384

17.1 找出可疑的文件 384

17.1.1 分析可疑的文件 385

17.1.2 定期地比较文件内容 386

17.2 Tripwire 387

17.2.1 安装Tripwire 388

17.2.2 使用Tripwire 389

17.2.3 Tripwire不能保护什么 391

17.2.4 Tripwire的替代程序 391

17.3 检测删除的可执行文件 391

17.4 检测混杂模式的网络接口卡 393

17.5 找出混杂的进程 395

17.6 自动检测被涂改的Web页面 396

第18章 重新获得对系统的控制 402

第四部分 入侵恢复 402

18.1 找到黑客运行的进程 403

18.2 处理运行着的黑客进程 404

18.3 断开调制解调器、网络、打印机和系统 410

第19章 找出并修复损害 413

19.1 检查/var/log日志 413

19.2 syslogd和klogd守护进程 414

19.3 远程记录 414

19.4 解释日志文件项 414

19.4.1 lastlog 415

19.4.2 messages 415

19.4.3 syslog 417

19.4.4 kernlog 417

19.4.8 mail 418

19.4.7 daemon 418

19.4.5 cron 418

19.4.6 xferlog 418

19.5 检查其他日志 419

19.6 检查TCP Wrapper 420

19.7 文件系统被怎样破坏 420

19.8 植入假的数据 420

19.9 修改了的监视程序 421

19.10 什么都不可信该怎么办 421

19.11 重新获得控制 422

19.12 找到黑客修改的文件 422

19.12.1 解释tar-d的输出 424

19.12.2 用RPM加速检查 425

19.12.3 RPM修复 425

19.12.4 恢复数据库 426

19.12.7 内核会被怎样破坏 427

19.13 封锁攻击 427

19.12.5 外设损害 427

19.12.6 通过恶意电子邮件偷窃 427

19.14 找到set-UID程序 428

19.15 找到mstream特洛伊木马 429

第20章 找出黑客的系统 430

20.1 用nslookup跟踪数字IP地址 430

20.2 用dig跟踪数字IP地址 430

20.3 查找.com拥有者 431

20.4 从IP地址直接找到黑客 432

20.5 查找.gov系统 432

20.6 使用ping 433

20.7 使用traceroute 434

20.9 最近一次对黑客的国际追踪 435

20.10 确信你找到了攻击者 435

20.8 邻近系统的结果 435

20.11 其他系统管理员:他们关心吗 437

第21章 惩罚黑客 439

21.1 警察会有多大帮助 439

21.1.1 FBI 439

21.1.2 美国秘密服务 440

21.1.3 其他联邦机构 441

21.1.4 州立机构 441

21.1.5 本地警察 442

21.1.6 准备你的案子 442

21.1.7 跟踪被盗的数据 443

21.1.8 关心证据 443

21.2 起诉 443

21.3 允许非法行为的ISP要负的责任 444

21.4.2 大量垃圾邮件攻击 445

21.4.1 法律问题 445

21.4 反击 445

21.4.3 死亡性ping 446

21.4.4 恶意的Java Applet 446

21.4.5 雇佣打手 446

第五部分 附录 449

附录A 有关安全技术的最新网上资源 449

附录B 其他参考资源 467

附录C 网络服务和端口 473

附录D PORTS.C程序清单 478

附录E BLOCKIP.CSH程序清单 487

附录F FPROMISC.CSH程序清单 496

附录G OVERWRITE.C程序清单 500

附录H 危险等级 502

附录I 本书附带光盘的内容 512

附录J 术语表 514