绪论 1
第1章 入侵检测基础 3
1.1不同类型的入侵检测系统 3
1.1.1基于主机的入侵检测系统 4
1.1.2基于网络的入侵检测系统 4
1.1.3一种混合的方法 6
1.2检测入侵的方法 6
1.2.1特征检测 6
1.2.2异常检测 7
1.2.3完整性检验 7
1.3攻击的来源 8
1.3.1外部的威胁 8
1.3.2内部的威胁 9
1.4攻击的步骤 9
1.4.1计划阶段 10
1.4.2侦察阶段 10
1.4.3攻击阶段 13
1.4.4后攻击阶段 16
1.5入侵检测系统的现状 17
1.5.1入侵检测系统不能检测所有的入侵事件 17
1.5.2入侵检测系统不能对攻击做出响应 17
1.5.3入侵检测系统的配置及维护比较困难 17
1.6小结 18
第2章 利用Snort进行网络入侵检测 20
2.1 Snort的规格说明 20
2.1.3 Snort是一种开放源代码的应用程序 21
2.1.1安装的必要条件 21
2.1.2带宽考虑 21
2.2通过特征检测可疑流量 22
2.2.1检测可疑净荷 23
2.2.2检测具体协议元素 23
2.2.3用客户规则扩展覆盖面 24
2.3启发式的可疑流量检测 24
2.4.2预处理 25
2.4.1评估威胁 25
2.4采集入侵数据 25
2.5利用输出插件进行报警 26
2.5.1聚集数据 27
2.5.2用统一格式和Barnyard程序记录日志 27
2.5.3报警 27
2.6分层报警 28
2.6.1无优先级报警 28
2.6.2严格编码的优先级报警 28
2.6.3可定制的优先级报警 28
2.7分布式Snort体系 29
2.7.1第一层——传感器层 29
2.7.2第二层——服务器层 30
2.7.3第三层——分析员控制台 31
2.8安全的Snort 31
2.9 Snort的缺陷 31
2.9.1灵活性带来复杂性 31
2.9.2误报的问题 32
2.9.3市场因素 33
2.10小结 33
第3章 剖析Snort 35
3.1用Libpcap输送Snort包 35
3.2预处理程序 36
3.2.1 frag2 36
3.2.2 stream4 38
3.2.3 stream4_reassemble 40
3.2.4HTTP_decode 41
3.2.5 RPC_decode 42
3.2.6 BO 43
3.2.7 Telnet_decode 43
3.2.8 ARPspoof 43
3.2.9 ASN1_decode 44
3.2.10 fnord 45
3.2.11 conversation 45
3.2.13 SPADE 46
3.2.12 portscan2 46
3.3检测引擎 47
3.4输出插件 48
3.4.1 Alert_fast 48
3.4.2 Alert_full 48
3.4.3 Alert_smb 48
3.4.4 Alert_unixsock 49
3.4.5 Log_tcpdump 49
3.4.6 CSV 49
3.4.7 XML 50
3.4.8 Alert_syslog 51
3.4.9数据库输出 51
3.4.10统一格式输出 52
3.5小结 53
第4章 安装Snort的计划 54
4.1制定入侵检测系统的策略 54
4.1.2可疑行为 55
4.1.1恶意行为 55
4.1.3异常行为 56
4.1.4不适当行为 56
4.2决定要监控的内容 57
4.2.1外部网络连接监控 57
4.2.2内部网络关键点监控 59
4.2.3重要计算资源监控 59
4.3设计Snort体系结构 59
4.3.1三层结构 59
4.3.2单层结构 60
4.3.3监控网段 60
4.4维护计划 61
4.5事件响应 62
4.5.1事件响应计划 62
4.5.2事件响应 64
4.5.4测试计划 66
4.6小结 66
4.5.3恢复 66
第5章 基础——硬件和操作系统 68
5.1硬件性能的度量 68
5.2操作系统平台的选择 70
5.3监控网段 72
5.3.1网内Hub监控 73
5.3.2 SPAN端口监控 75
5.3.3 Taps监控 76
5.4多传感器分流 77
5.5小结 78
第6章 建立服务器 80
6.1安装指南 80
6.2 Red Hat Linux 7.3的安装 80
6.2.1分区策略 80
6.2.3防火墙配置 81
6.2.4时区选择 81
6.2.2网络配置 81
6.2.5账号设置 82
6.2.6选择需要安装的软件包 82
6.3后安装任务 82
6.4安装Snort服务器组件 86
6.4.1安装OpenSSL 86
6.4.2安装Stunnel 88
6.4.3安装OpenSSH 90
6.4.4下载Apache 93
6.4.5安装MySQL 94
6.4.6配置mod_ssl 97
6.4.7安装gd 98
6.4.8安装PHP 99
6.4.9安装Apache 102
6.4.10安装ADODB 105
6.4.11安装ACID 106
6.5小结 111
7.1.1 Red Hat Linux 7.3的安装 113
7.1安装指南 113
第7章 建立传感器 113
7.1.2后安装任务 114
7.2安装Snort传感器组件 116
7.2.1安装libpcap 116
7.2.2安装tcpdump 116
7.2.3安装OpenSSL 117
7.2.4安装Stunnel 118
7.2.5安装OpenSSH 119
7.2.7安装NTP 120
7.2.6安装MySQL客户端 120
7.3安装Snort 121
7.3.1配置snort.conf 123
7.3.2运行Snort 131
7.4安装Barnyard 131
7.4.1配置barnyard.conf 132
7.4.2运行Barnyard 134
7.5小结 135
7.4.3用barnyard.server脚本实现Barnyard的自动启动与停止 135
第8章 建立分析员控制台 137
8.1 Windows下的安装 137
8.1.1安装SSH 138
8.1.2 Web浏览器 138
8.2 Linux下的安装 138
8.2.1安装OpenSSH 139
8.2.2 Web浏览器 139
8.3测试控制台 139
8.4使用ACID 140
8.4.1搜索 142
8.4.2警报组 147
8.5小结 149
第9章 其他操作系统下的安装方法 150
9.1混合服务器/传感器 150
9.2基于OpenBSD的Snort 151
9.3.1Windows的安装 153
9.3基于Windows的Snort 153
9.3.2基本程序的安装 155
9.3.3 Snort应用程序的安装 160
9.3.4入侵检测中心的安装 161
9.4小结 163
第10章 调整和减少误报 165
10.1预调行为 166
10.2调整网络 167
10.3用Snort过滤流量 168
10.3.1网络变量 168
10.3.2Berkeley包过滤 169
10.4调整预处理程序 169
10.4.1调整bo 170
10.4.2调整arpspoof,asnl_decode和fnord 170
10.4.3调整frag2 170
10.4.4调整stream4 172
10.4.5调整stream4_reassemable 173
10.4.6调整http_decode、rpc_decode和telnet_decode 174
10.4.7调整portscan2和conversation 174
10.5细化规则集 174
10.5.1 chat.rules规则 176
10.5.2 ddos.rules规则 176
10.5.3 ftp.rules规则 176
10.5.4 icmp-info.rules规则(1) 176
10.5.5 icmp-info.rules规则(2) 176
10.5.6 info.rules规则 176
10.5.7 misc.rules规则 176
10.5.8 multimedia.rules规则 177
10.5.9 other-ids.rules规则 177
10.5.10 p2p.rules规则 177
10.5.11 policy.rules规则 177
10.5.12 porn.rules规则 177
10.5.13 shellcode.rules规则 177
10.6组织规则 178
10.5.14 virus.rules规则 178
10.7设计目标规则集 179
10.8调整MySQL 181
10.9调整ACID 182
10.9.1报警的存档 183
10.9.2报警的删除 183
10.9.3缓存属性的调整 183
10.10小结 184
第11章 实时报警 186
11.1概述 186
11.2警报的分级 187
11.2.1事件 187
11.2.2有目标的攻击 187
11.2.3自定义规则 188
11.2.4用classification.config定义优先级 188
11.3混合型报警 189
11.2.5优先级(priority)选项 189
11.3.1安装Swatch 190
11.3.2配置Swatch 190
11.4分布式Snort报警 193
11.4.1配置Snort并安装Sendmail 193
11.4.2在传感器上安装syslog-ng 194
11.4.3为传感器配置syslog-ng 194
11.4.4在服务器上安装Syslog-ng 195
11.4.6为实时报警配置Syslog-ng 196
11.4.5为服务器配置Syslog-ng 196
11.4.7用Stunnel加密Syslog-ng会话 197
11.5小结 198
第12章 基本规则的编写 200
12.1概念 200
12.2语法 202
12.2.1规则头 202
12.2.2规则选项 204
12.3.1修改已存在的规则 217
12.3编写规则的方法 217
12.3.2利用网络知识创造新规则 219
12.3.3利用流量分析创建新规则 219
12.4小结 221
第13章 升级和维护Snort 222
13.1选择Snort管理应用软件 222
13.2入侵检测系统策略管理器 223
13.2.1安装 223
13.2.2配置 224
13.3 SnortCenter 226
13.3.1 SnortCenter的安装 226
13.3.2 SnortCenter传感器代理安装 228
13.3.3配置 229
13.4升级Snort 230
13.5小结 232
第14章 入侵防范高级话题 233
14.1一个关于入侵防范的警告 233
14.2制定入侵防范策略 234
14.2.1未打补丁的服务器 235
14.2.2新的漏洞 235
14.2.3公开的可访问的高权限主机 235
14.2.4从不产生误报的规则 235
14.3 Snort Inline修补程序 236
14.3.1安装 237
14.3.2配置 237
14.3.3 Inline Snort(防范型Snort)规则编写 238
14.3.4建立规则集 239
14.4 SnortSam 240
14.4.1安装 241
14.4.2配置 241
14.4.3在规则中插入阻塞响应 246
14.5小结 247
附录 249
附录A 疑难解答 249
附录B 规则文件 253