经多年潜心研究开源技术,历时三年创作的《开源安全运维平台OSSIM最佳实践》一书即将出版。该书用80多万字记录了,作者10多年的IT行业技术积累,重点展示了开源安全管理平台OSSIM在大型企业网运维管理中的实践。国内目前也有各式各样的开源安全运维系统,经过笔者对比分析得出这些工具无论在功能上、性能上还是在安全和稳定性易用性上都无法跟OSSIM系统想媲美,而且很多国内的开源安全运维项目在发布1-2年后就逐步淡出了舞台,而OSSIM持续发展了十多年。下面就看看这本书中涉及OSSIM主要讲解那些内容。
目 录
第一篇 基础篇
第1章 OSSIM架构与原理 2
1.1 OSSIM概况 2
1.1.1 从SIM到OSSIM 3
1.1.2 安全信息和事件管理(SIEM) 4
1.1.3 OSSIM的前世今生 5
1.2 OSSIM架构与组成 11
1.2.1 主要模块的关系 12
1.2.2 安全插件(Plugins) 14
1.2.3 采集与监控插件的区别 15
1.2.4 检测器(Detector) 18
1.2.5 代理(Agent) 18
1.2.6 报警格式的解码 19
1.2.7 OSSIM Agent 20
1.2.8 代理与插件的区别 24
1.2.9 传感器(Sensor) 24
1.2.10 关联引擎 26
1.2.11 数据库(Database) 28
1.2.12 Web 框架(Framework) 29
1.2.13 Ajax创建交互 30
1.2.14 归一化处理 31
1.2.15 标准的安全事件格式 31
1.2.16 OSSIM服务端口 35
1.3 基于插件的日志采集 37
1.3.1 安全事件分类 37
1.3.2 采集思路 37
1.4 Agent事件类型 43
1.4.1 普通日志举例 43
1.4.2 plugin_id一对多关系 44
1.4.3 MAC事件日志举例 46
1.4.4 操作系统事件日志举例 46
1.4.5 系统服务事件日志举例 46
1.5 RRDTool绘图引擎 47
1.5.1 背景 47
1.5.2 RRD Tool与关系数据库的不同 48
1.5.3 RRD绘图流程 48
1.6 OSSIM工作流程 49
1.7 缓存与消息队列 49
1.7.1 缓存系统 49
1.7.2 消息队列处理 50
1.7.3 RabbitMQ 51
1.7.4 选择Key/Value存储 52
1.7.5 Ossim下操作Redis 53
1.7.6 Redis Server配置详解 56
1.7.7 RabbitMQ、Redis与Memcached监控 57
1.8 OSSIM 高可用架构 59
1.8.1 OSSIM高可用实现技术 59
1.8.2 安装环境 60
1.8.3 配置本地主机 60
1.8.4 配置远程主机 61
1.8.5 同步数据库 61
1.8.6 同步本地文件 61
1.9 OSSIM防火墙 62
1.9.1 理解Filter机制 62
1.9.2 规则匹配过程 64
1.9.3 Iptables规则库管理 65
1.10 OSSIM的计划任务 66
1.10.1 Linux计划任务 66
1.10.2 OSSIM中的计划任务 68
1.11 小结 70
第2章 OSSIM部署与安装 71
2.1 OSSIM安装策略 71
2.1.1 定制IDS策略 71
2.1.2 传感器位置 72
2.2 分布式OSSIM体系 73
2.2.1 特别应用 74
2.2.2 多IDS系统应用 74
2.3 安装前的准备工作 75
2.3.1 软硬件配备 75
2.3.2 传感器部署 76
2.3.3 分布式OSSIM系统探针布局 78
2.3.4 OSSIM服务器的选择 78
2.3.5 网卡的选择 80
2.3.6 手动加载网卡驱动 80
2.3.7 采用多核还是单核CPU 81
2.3.8 查找硬件信息 81
2.3.9 OSSIM USM和Sensor安装模式的区别 82
2.3.10 OSSIM商业版和免费版比较 83
2.3.11 OSSIM实施特点 84
2.3.12 OSSIM管理员分工 85
2.4 混合服务器/传感器安装模式 86
2.4.1 安装前的准备工作 86
2.4.2 开始安装OSSIM 86
2.4.3 遗忘Web UI登录密码的处理方法 90
2.5 初始化系统 90
2.5.1 设置初始页面 91
2.5.2 OTX——情报交换系统 97
2.6 Vmware ESXi下安装OSSIM注意事项 100
2.6.1 设置方法 100
2.6.2 虚拟机下无法找到磁盘的对策 102
2.7 OSSIM分布式安装实践 102
2.7.1 基于OpenSSL的安全认证中心 102
2.7.2 安装步骤 102
2.7.3 分布式部署(VPN连接 )举例 103
2.7.4 安装多台OSSIM(Sensor) 105
2.7.5 Sensor重装流程 110
2.8 添加VPN连接 111
2.8.1 需求 111
2.8.2 Server端配置(10.0.0.30) 111
2.8.3 配置sensor(10.0.0.31) 112
2.9 安装最后阶段 113
2.10 OSSIM安装后续工作 114
2.10.1 时间同步问题 114
2.10.2 系统升级 115
2.10.3 apt-get 常见操作 118
2.10.4 扫描资产 119
2.10.5 通过代理升级系统 119
2.10.6 防火墙设置 120
2.10.7 让控制台支持高分辨率 121
2.10.8 手动修改服务器 IP地址 121
2.10.9 修改系统网关和DNS地址 121
2.10.10 更改默认网络接口 122
2.10.11 消除登录菜单 122
2.10.12 进入OSSIM单用户模式 122
2.11 OSSIM启动与停止 123
2.12 安装远程管理工具 125
2.12.1 安装Webmin管理工具 125
2.12.2 安装PhpmyAdmin 125
2.12.3 用PhpmyAdmin同步功能迁移数据库 127
2.13 分布式系统查看传感器状态 128
2.13.1 设置指示器 128
2.13.2 注意事项 130
2.14 安装桌面环境 131
2.14.1 安装GNOME环境 131
2.14.2 安装FVWM环境 132
2.14.3 安装虚拟机 135
2.15 自动化配置管理工具Ansible 137
2.15.1 SSH的核心作用 138
2.15.2 Ansible配置 139
2.15.3 Ansible实战 139
2.15.4 丰富的模块 144
2.15.5 Ansible 与其他配置管理的对比 144
2.16 SIEM控制台基础 144
2.16.1 SIEM控制台日志过滤技巧 145
2.16.2 将重要日志加入到知识库 151
2.16.3 SIEM中显示不同类别日志 153
2.16.4 常见搜索信息 156
2.16.5 仪表盘显示 156
2.16.6 事件删除与恢复 157
2.16.7 深入使用SIEM控制台 158
2.16.8 SIEM事件聚合 162
2.16.9 SIEM要素 163
2.16.10 SIEM警报中显示计算机名 170
2.16.11 SIEM事件保存期限 170
2.16.12 SIEM数据源与插件的关系 171
2.16.13 SIEM日志显示中出现0.0.0.0地址的含义 172
2.16.14 无法显示SIEM安全事件时处理方法 173
2.16.15 SIEM数据库恢复 173
2.16.17 EPS的含义 174
2.16.17 常见OSSIM 安装/使用错误 175
2.17 可视化网络攻击报警Alarm分析 177
2.17.1 报警事件的产生 177
2.17.2 报警事件分类 178
2.17.3 五类报警数据包样本下载 183
2.17.4 报警分组 183
2.17.5 识别告警真伪 185
2.17.6 触发OSSIM报警 185
2.18 小结 193
第二篇 提高篇
第3章 OSSIM数据库概述
3.1 OSSIM数据库组成 195
3.1.1 MySQL 195
3.1.2 本地访问 196
3.1.3 检查、分析表 198
3.1.4 启用MySQL慢查询记录 199
3.1.5 远程访问 199
3.1.6 MongoDB 200
3.1.7 SQLite 201
3.2 OSSIM数据库分析工具 201
3.2.1 负载模拟方法 202
3.2.2 用MySQL Workbench工具分析 数据库 203
3.3 查看OSSIM数据库表结构解析 209
3.4 MySQL基本操作 212
3.5 OSSIM系统迁移 213
3.5.1 迁移准备 213
3.5.2 恢复OSSIM 214
3.6 OSSIM数据库常见问题解答 216
1.当OSSIM 4系统数据库发生损坏时,如何重建数据库。
2.如何查询OSSIM数据库的host开头的表。
3.如何备份OSSIM的SIEM数据库。
4.如何查看MySQL数据库信息。
5.如何查看OSSIM系统的SIEM数据库备份情况。
6.如何终止OSSIM数据库的僵尸进程。
7.如果负载过大在OSSIM 系统中出现“MySQL :ERROR 1040:Too many connections”情况如何处理。
8.如何远程导出OSSIM数据库表结构。
9.OSSIM系统出现acid表错误时如何处理。
10.能修改OSSIM系统中MySQL数据库密码?
11.当意外中断数据库写操作会会对数据库的表造成损坏,如何检查表。
12.如何清理OSSIM数据库。
13.如何用xtrabackup备份OSSIM 数据库。
14.如何快速清除SIEM数据库。
15.如何记录OSSIM数据库的执行过程。
16.如何优化表。
17.如何用mysqldump备份数据库。
3.7 小结 226
第4章 OSSIM关联分析技术 227
4.1 关联分析技术背景 227
4.1.1 当前的挑战 227
4.1.2 基本概念 228
4.1.3 安全事件之间的关系 228
4.2 关联分析基础 229
4.2.1 从海量数据到精准数据 229
4.2.2 网络安全事件的分类 230
4.2.3 Alarm与Ticket的区别 234
4.2.4 使用Ticket 235
4.2.5 加入知识库 236
4.2.6 安全事件提取 237
4.2.7 OSSIM的关联引擎 238
4.2.8 事件的交叉关联 239
4.3 报警聚合 240
4.3.1 报警样本举例 240
4.3.2 事件聚合 241
4.3.3 事件聚合举例 242
4.3.4 事件聚合在OSSIM中的表现形式 243
4.3.5 SIEM中的冗余报警 244
4.3.6 合并相似事件 245
4.3.7 同类事件的判别 245
4.3.8 合并流程 246
4.3.9 事件映射 246
4.3.10 Ossec 的报警信息的聚类 247
4.3.11 Ossec与Snort 事件合并 248
4.4 风险评估方法 249
4.4.1 风险评估三要素 249
4.4.2 Risk & Priority & Reliability的关系实例 250
4.4.3 动态可信度值(Reliability) 253
4.4.4 查看SIEM不同事件 254
4.5 OSSIM系统风险度量方法 256
4.5.1 风险判定 256
4.5.2 事件积累过程 258
4.6 OSSIM中的关联分类 259
4.6.1 关联分类 259
4.6.2 关联指令分类 260
4.6.3 指令组成 262
4.6.4 读懂指令规则 264
4.6.5 Directive Info 265
4.7 新建关联指令 266
4.8 OSSIM的关联规则 270
4.8.1 关联指令配置界面 271
4.8.2 构建规则 274
4.9 深入关联规则 276
4.9.1 基本操作 276
4.9.2 理解规则树 277
4.9.3 攻击场景构建 281
4.9.4 报警聚合计算方法 282
4.10 自定义策略实现SSH登录失败告警 282
4.11 小结 286
第5章 OSSIM系统监测工具 287
5.1 Linux性能评估 287
5.1.1 性能评估工具 287
5.1.2 查找消耗资源的进程 289
5.2 OSSIM压力测试 289
5.2.1 软硬件测试环境 289
5.2.2 测试项目 290
5.2.3 测试工具 290
5.2.4 IDS测试工具Nidsbench 293
5.3 性能分析工具实例 295
5.3.1 sar 296
5.3.2 vmstat 296
5.3.3 用iostat分析I/O子系统 297
5.3.4 dstat 298
5.3.5 iotop 300
5.3.6 atop 300
5.3.7 替代netstat的工具ss。 300
5.4 OSSIM平台中MySQL运行状况 301
5.4.1 影响MySQL性能的因素 301
5.4.2 系统的IOPS 302
5.5 Syslog压力测试工具——Mustsyslog使用 303
5.5.1 安装mustsyslog 304
5.5.2 日志模板设计 306
5.5.3 日志标签说明 306
5.5.4 域标签举例 306
5.6 常见问题解答 307
1.OSSIM系统空间不足在哪里查找大型文件。
2. 何时应考虑增加系统内存。
3.检测OSSIM系统整体状态的命令行工具
4.监控MySQL利器-mytop
5.监控Linux系统资源和进程的工具。
6.如何找出最消耗内存的进程(smem)
7.如何对OSSIM系统目录大小进行排序?(ncdu)。
8.OSSIM的流量监控工具iftop。
9.如何利用Apache自带工具ab测试OSSIM 响应速度。
10.如何详细了解OSSIM系统进程的网络带宽占用情况
11.为OSSIM系统进行压力测试tcpreplay。
12.压力测试工具Tsung使用。
13. hping3的使用
5.7 小结 322
第6章 Snort规则分析 323
6.1 预处理程序 323
6.1.1 预处理器介绍 323
6.1.2 调整预处理程序 330
6.1.3
网络攻击模式分类 330
6.2 Snort日志分析利器 332
6.3 Snort日志分析 333
6.3.1 工作模式及输出插件 333
6.3.2 数据包记录模式 335
6.3.3
网络入侵检测模式HIDS 338
6.3.4 输出插件 338
6.4 Snort 规则编写 345
6.4.1 Snort 规则分析 346
6.4.2 规则组成及含义 347
6.4.3
编写SNORT规则 353
6.4.4 手工修改Suricata规则 356
6.4.5 启用新建的ET规则 356
6.4.6
应用新规则 357
6.4.7 主动探测与被动探测 358
6.5 可疑流量检测技术 358
6.5.1 通过特征检测 358
6.5.2 检测可疑的载荷 358
6.5.3
检测具体元素 359
6.5.4 OSSIM中的Snort规则与SPADE检测 360
6.5.5
恶意代码行为特征分析 360
6.5.6 蜜罐检测 361
6.6 Snort规则进阶 362
6.6.1 可疑流量的报警 362
6.6.2 空会话攻击漏洞报警 363
6.6.3
用户权限获取 363
6.6.4 失败的权限提升报警规则 364
6.6.5 企图获取管理员权限 364
6.6.6
成功获取管理员权限 364
6.6.7 拒绝服务 365
6.7 高速网络环境的应用 367
6.7.1 Suricata VS Snort 367
6.7.2
PF_RING工作模式 368
6.8 网络异常行为分析 368
6.8.1 流程分析 368
6.8.2 举例 370
6.9 小结 371
第七章
第八章
第九章
第十章