第一篇 日志分析基础 1
第1章 网络日志获取与分析 1
1.1 网络环境日志分类 1
1.1.1 UNIX/Linux系统日志 1
1.1.2 Windows日志 2
1.1.3 Windows系统日志 3
1.1.4 网络设备日志 4
1.1.5 应用系统的日志 4
1.2 Web日志分析 4
1.2.1 访问日志记录过程 5
1.2.2 Apache访问日志的作用 5
1.2.3 访问日志的位置 5
1.2.4 访问日志格式分析 6
1.2.5 HTTP返回状态代码 6
1.2.6 记录Apache虚拟机日志 7
1.2.7 Web日志统计举例 7
1.2.8 Apache错误日志分析 9
1.2.9 日志轮询 11
1.2.10 清空日志的技巧 12
1.2.11 其他Linux平台Apache日志位置 13
1.2.12 Nginx日志 13
1.2.13 Tomcat日志 13
1.2.14 常用Apache日志分析工具 14
1.3 FTP服务器日志解析 15
1.3.1 分析vsftpd.log和xferlog 16
1.3.2 中文对Vsftp日志的影响 18
1.3.3 用Logparser分析FTP日志 18
1.4 用LogParser分析Windows系统日志 21
1.4.1 LogParser概述 21
1.4.2 LogParser结构 21
1.4.3 安装LogParser 21
1.4.4 LogParser应用举例 21
1.4.5 图形化分析输出 25
1.5 Squid服务日志分析 26
1.5.1 Squid日志分类 26
1.5.2 典型Squid访问日志分析 26
1.5.3 Squid时间戳转换 28
1.5.4 Squid日志位置 29
1.5.5 图形化日志分析工具 29
1.5.6 其他UNIX/Linux平台的Squid位置 29
1.6 NFS服务日志分析 30
1.6.1 Linux的NFS日志 31
1.6.2 Solaris的NFS服务器日志 31
1.7 iptables日志分析 35
1.8 Samba日志审计 38
1.8.1 Samba默认提供的日志 38
1.8.2 Samba审计 39
1.9 DNS日志分析 40
1.9.1 DNS日志的位置 40
1.9.2 DNS日志的级别 41
1.9.3 DNS查询请求日志实例解释 41
1.9.4 DNS分析工具dnstop 42
1.10 DHCP服务器日志 43
1.11 邮件服务器日志 45
1.11.1 Sendmail 45
1.11.2 Postfix 45
1.12 Linux下双机系统日志 46
1.12.1 Heartbeat的日志 46
1.12.2 备用节点上的日志信息 47
1.12.3 日志分割 47
1.13 其他UNIX系统日志分析GUI工具 47
1.13.1 用SMC分析系统日志 47
1.13.2 Mac OS x的GUI日志查询工具 48
1.14 可视化日志分析工具 49
1.14.1 彩色日志工具ccze 49
1.14.2 动态日志查看工具logstalgia 50
1.14.3 三维日志显示工具gource 51
1.14.4 用AWStats监控网站流量 52
第2章 UNIX/Linux系统取证 57
2.1 常见IP追踪方法 57
2.1.1 IP追踪工具和技术 57
2.1.2 DoS/DDoS攻击源追踪思路 59
2.2 重要信息收集 60
2.2.1 收集正在运行的进程 60
2.2.2 查看系统调用 61
2.2.3 收集/proc系统中的信息 64
2.2.4 UNIX文件存储与删除 64
2.2.5 硬盘证据的收集方法 65
2.2.6 从映像的文件系统上收集证据 66
2.2.7 用ddrescue恢复数据 69
2.2.8 查看详细信息 70
2.2.9 收集隐藏目录和文件 71
2.2.10 检查可执行文件 72
2.3 常用搜索工具 72
2.3.1 特殊文件处理 72
2.3.2 The Coroner's Toolkit(TCT工具箱) 73
2.3.3 Forensix工具集 74
2.4 集成取证工具箱介绍 74
2.4.1 用光盘系统取证 74
2.4.2 屏幕录制取证方法 75
2.5 案例一:闪现Segmentation Fault为哪般 76
事件背景 76
互动问答 80
疑难解析 80
预防措施 82
2.6 案例二:谁动了我的胶片 83
事件背景 83
了解业务流程 83
公司内鬼所为? 84
取证分析 85
遗忘的Squid服务器 86
互动问答 88
疑点分析 88
诱捕入侵者 89
疑难解析 90
预防措施 92
第3章 建立日志分析系统 93
3.1 日志采集基础 93
3.1.1 Syslog协议 93
3.1.2 Syslog日志记录的事件 96
3.1.3 Syslog.conf配置文件详解 96
3.1.4 Syslog操作 97
3.1.5 Syslog的安全漏洞 98
3.1.6 Rsyslog 98
3.1.7 Syslog-ng 100
3.2 时间同步 100
3.2.1 基本概念 100
3.2.2 识别日志中伪造的时间信息 101
3.2.3 时间同步方法 101
3.3 网络设备日志分析与举例 101
3.3.1 路由器日志分析 102
3.3.2 交换机日志分析 102
3.3.3 防火墙日志分析 103
3.3.4 实战:通过日志发现ARP病毒 105
3.3.5 实战:交换机环路故障解决案例 108
3.4 选择日志管理系统的十大问题 109
3.5 利用日志管理工具更轻松 114
3.5.1 日志主机系统的部署 115
3.5.2 日志分析与监控 116
3.5.3 利用Eventlog Analyzer分析网络日志 117
3.5.4 分析防火墙日志 120
3.6 用Sawmill搭建日志平台 120
3.6.1 系统简介 120
3.6.2 部署注意事项 121
3.6.3 安装举例 121
3.6.4 监测网络入侵 124
3.7 使用Splunk分析日志 124
3.7.1 Splunk简介 124
3.7.2 Splunk安装 124
3.7.3 设置自动运行 125
3.7.4 系统配置 126
3.7.5 设置日志分析目录 127
第二篇 日志分析实战 134
第4章 DNS系统故障分析 134
4.1 案例三:邂逅DNS故障 134
事件背景 134
查看防火墙日志 136
外部防火墙 137
内部防火墙(NAT) 138
互动问答 138
取证分析 138
问题解答 141
预防措施 141
4.2 DNS漏洞扫描方法 143
4.2.1 DNS扫描的关键技术 143
4.2.2 检查工具 143
4.3 DNS Flood Detector让DNS更安全 145
4.3.1 Linux下DNS面临的威胁 145
4.3.2 BIND漏洞 145
4.3.3 DNS管理 146
4.3.4 应对DNS Flood攻击 146
4.3.5 DNS Flood Detector保安全 147
第5章 DoS防御分析 149
5.1 案例四:网站遭遇DoS攻击 149
事件背景 149
交互问答 151
事件推理 151
针对措施 152
疑难解答 154
案例总结 155
DoS扩展知识 156
5.2 案例五:“太囧”防火墙 157
事件背景 157
路由器部分日志文件 159
防火墙日志文件 159
互动问答 160
调查分析 160
答疑解惑 161
预防措施 162
第6章 UNIX后门与溢出案例分析 163
6.1 如何防范rootkit攻击 163
6.1.1 认识rootkit 163
6.1.2 rootkit的类型 163
6.2 防范rootkit的工具 164
6.2.1 使用chkrootkit工具 164
6.2.2 Rootkit Hunter工具 166
6.3 安装LIDS 167
6.3.1 LIDS的主要功能 167
6.3.2 配置LIDS 167
6.3.3 使用Lidsadm工具 169
6.3.4 使用LIDS保护系统 170
6.4 安装与配置AIDE 171
6.4.1 在Solaris中安装AIDE 172
6.4.2 用AIDE加固OSSIM平台 173
6.4.3 Tripwire 175
6.5 案例六:围堵Solaris后门 176
入侵背景 176
分析脚本文件bd 177
分析脚本doc 179
分析脚本文件ps 180
分析脚本update(一个嗅探器) 180
分析脚本milk 180
发现need.tar被植入系统 180
问题 182
答疑解惑 182
预防措施 182
6.6 案例七:遭遇溢出攻击 183
事件背景 184
分析日志 184
网络入侵检测系统日志(取样) 185
发现系统账号问题 186
问题 189
案例解码 189
分析解答 190
预防措施 191
6.7 案例八:真假root账号 191
事件背景 192
恢复root密码 193
取证分析 194
互动问答 195
问题解答 196
预防措施 197
6.8 案例九:为rootkit把脉 197
事件背景 197
可疑的/etc/xinetd.conf记录 198
互动问答 202
事件分析 202
疑难解答 204
预防措施 204
第7章 UNIX系统防范案例 205
7.1 案例十:当网页遭遇篡改之后 205
事件背景 205
日志获取 205
互动问答 206
入侵事件剖析 206
疑难解答 209
防护措施 211
Web漏洞扫描工具——Nikto 212
7.2 案例十一:UNIX下捉虫记 214
事件背景 214
取证分析 215
互动问答 217
入侵解析 217
Sadmind/IIS蠕虫分析 217
Unicode攻击逆向分析 219
问题解答 220
预防措施 221
7.3 案例十二:泄露的裁员名单 221
事件背景 221
取证分析 222
互动问答 223
答疑解惑 224
预防措施 225
第8章 SQL注入防护案例分析 227
8.1 案例十三:后台数据库遭遇SQL注入 227
案例背景 227
互动问答 230
分析过程 230
疑难解答 231
预防与补救措施 232
8.2 案例十四:大意的程序员之SQL注入 232
事件背景 232
互动问答 234
分析取证 234
总结 235
答疑解惑 235
总结 237
预防措施 239
8.3 利用OSSIM监测SQL注入 239
8.3.1 SQL注入攻击的正则表达式规则 239
8.3.2 用OSSIM检测SQL注入 240
8.3.3 OSSIM系统中的Snort规则 241
8.4 LAMP网站的SQL注入预防 242
8.4.1 服务器端的安全配置 242
8.4.2 PHP代码的安全配置 243
8.4.3 PHP代码的安全编写 243
8.5 通过日志检测预防SQL注入 244
8.5.1 通过Web访问日志发现SQL攻击 244
8.5.2 用Visual Log Parser分析日志 245
第9章 远程连接安全案例 247
9.1 案例十五:修补SSH服务器漏洞 247
事件背景 247
SSH被攻击的日志举例 250
加固SSH服务器 251
通过OSSIM实现SSH登录失败告警功能 252
预防措施 254
9.2 案例十六:无辜的“跳板” 255
事件背景 255
交互问答 257
案情分析 257
疑难解答 258
预防措施 258
第10章 Snort系统部署及应用案例 259
10.1 Snort安装与使用 259
10.1.1 准备工作 259
10.1.2 深入了解Snort 260
10.1.3 安装Snort程序 262
10.1.4 维护Snort 264
10.1.5 Snort的不足 266
10.2 Snort日志分析 267
10.2.1 基于文本的格式 267
10.2.2 典型攻击日志举例 269
10.2.3 Snort探针部署 269
10.2.4 日志分析工具 270
10.3 Snort规则详解 270
10.3.1 Snort规则分析 270
10.3.2 编写Snort规则 271
10.4 基于OSSIM平台的WIDS系统 274
10.4.1 安装无线网卡 275
10.4.2 设置OSSIM无线传感器 278
10.5 案例研究十七:IDS系统遭遇IP碎片攻击 280
事件背景 280
故障处理 283
数据包解码 284
疑难问题 288
问题解答 289
防范策略 289
Snort与iptables联动 289
测试效果 289
IP碎片攻击的预防措施 290
评估NIDS工具 291
IDS系统与网络嗅探器的区别 291
总结 291
10.6 案例十八:智取不速之客 292
事件背景 292
互动问答 295
取证分析 295
疑难解答 297
预防措施 298
案例启示 298
第11章 WLAN案例分析 299
11.1 WLAN安全漏洞与威胁 299
11.1.1 WLAN主要安全漏洞 299
11.1.2 WLAN面对的安全威胁 299
11.2 案例十九:无线网遭受的攻击 300
事件背景 300
AP的日志 302
寻找非法AP接入点 302
互动问答 303
将几段事件还原 303
疑点解析 304
预防措施 305
11.2.1 WIFI上网日志的收集 305
11.2.2 用开源NAC阻止非法网络访问 305
11.2.3 企业中BYOD的隐患 308
11.3 案例二十:无线会场的“不速之客” 308
事件背景 308
取证分析 311
第12章 数据加密与解密案例 314
12.1 GPG概述 314
12.1.1 创建密钥 315
12.1.2 导入和签订密钥 315
12.1.3 加密和解密 315
12.1.4 签订和验证 316
12.2 案例二十一:“神秘”的加密指纹 316
事件背景 316
疑难问题 320
案情解码 320
中间人攻击 320
MITM通常采用的手段 322
一种ARP欺骗的预防措施 323
分析攻击过程 323
答疑解惑 324
预防措施 325
第三篇 网络流量与日志监控 326
第13章 网络流量监控 326
13.1 网络监听关键技术 326
13.1.1 网络监听 326
13.1.2 SNMP协议的不足 326
13.1.3 监听关键技术 327
13.1.4 NetFlow与sFlow的区别 327
13.1.5 协议和应用识别 327
13.1.6 网络数据流采集技术 327
13.1.7 SPAN的局限 328
13.2 用NetFlow分析网络异常流量 328
13.2.1 NetFlow的Cache管理 329
13.2.2 NetFlow的输出格式 329
13.2.3 NetFlow的抽样机制 329
13.2.4 NetFlow的性能影响 330
13.2.5 NetFlow在蠕虫病毒监测中的应用 330
13.3 VMware ESXi服务器监控 335
13.4 应用层数据包解码 339
13.4.1 概述 339
13.4.2 系统架构 340
13.4.3 Xplico的数据获取方法 340
13.4.4 Xplico部署 341
13.4.5 应用Xplico 341
13.4.6 深入分析Xplico 344
13.5 网络嗅探器的检测及预防 348
13.5.1 嗅探器的检测 348
13.5.2 网络嗅探的预防 348
第14章 OSSIM综合应用 350
14.1 OSSIM的产生 350
14.1.1 概况 350
14.1.2 从SIM到OSSIM 351
14.1.3 安全信息和事件管理(SIEM) 351
14.2 OSSIM架构与原理 352
14.2.1 OSSIM架构 352
14.2.2 Agent事件类型 357
14.2.3 RRD绘图引擎 360
14.2.4 OSSIM工作流程分析 360
14.3 部署OSSIM 360
14.3.1 准备工作 360
14.3.2 OSSIM服务器的选择 362
14.3.3 分布式OSSIM系统探针布署 364
14.3.4 OSSIM系统安装步骤 364
14.4 OSSIM安装后续工作 370
14.4.1 时间同步问题 370
14.4.2 系统升级 371
14.4.3 防火墙设置 372
14.4.4 访问数据库 372
14.4.5 OSSIM数据库分析工具 373
14.4.6 同步OpenVAS插件 375
14.4.7 安装远程管理工具 376
14.4.8 安装X-Windows 378
14.5 使用OSSIM系统 380
14.5.1 熟悉主界面 380
14.5.2 SIEM事件控制台 382
14.6 风险评估方法 385
14.6.1 风险评估三要素 385
14.6.2 OSSIM系统风险度量 387
14.7 OSSIM关联分析技术 388
14.7.1 关联分析 388
14.7.2 OSSIM的通用关联检测规则 390
14.8 OSSIM日志管理平台 394
14.8.1 OSSIM日志处理流程 394
14.8.2 Snare 395
14.8.3 通过WMI收集Windows日志 396
14.8.4 配置OSSIM 397
14.8.5 Snare与WMI的区别 398
14.9 OSSIM系统中的IDS应用 399
14.9.1 HIDS/NIDS 399
14.9.2 OSSEC HIDS Agent安装 400
14.9.3 在ESXi中安装OSSEC 411
14.9.4 OSSEC代理监控的局限 412
14.10 OSSIM流量监控工具应用 412
14.10.1 流量过滤 412
14.10.2 Ntop监控 413
14.10.3 流量分析 414
14.10.4 Ntop故障排除 417
14.10.5 网络天气图 417
14.10.6 设置NetFlow 418
14.10.7 Nagios监视 419
14.10.8 与第三方监控软件集成 422
14.11 OSSM应用资产管理 423
14.11.1 OCS Inventory NG架构 424
14.11.2 OCS安装与使用 424
14.12 OSSM在蠕虫预防中的应用 425
14.13 监测shellcode 427
14.14 OSSIM在漏洞扫描中的应用 429
14.14.1 漏洞评估方法 430
14.14.2 漏洞库 430
14.14.3 采用OpenVAS扫描 431
14.14.4 分布式漏洞扫描 432
14.14.5 Metasploit的渗透测试 435
14.14.6 在Metasploit中加载Nessus 437
14.15 常见OSSIM应用问答 438