OSSIM插件开发
什么是OSSIM插件
OSSIM 全称 Open Source Security Information Management,是一个功能强大的开源安全信息管理系统,可帮助管理员有效地监控和应对网络安全威胁,而OSSIM插件是指一些可选的、兼容的模块或组件,用于扩展OSSIM系统的功能和特性,由于OSSIM是开源的,所以用户可以非常方便地选择和安装所需的插件,也可以结合自身需求定制业务需要的插件。
开发准备
开发准备
- 一个可用的 OSSIM 平台;
- OSSIM 后端服务器访问权限,包括server节点和要安装插件的sensor节点;
- OSSIM 数据库访问权限;
- 其他关于 OSSIM 使用的基本概念及知识;
开发环境
OSSIM版本:5.8.9(主要为演示示例补充说明)
部署节点类型:ossim server节点(server节点或sensor节点均可部署插件)
部署节点系统:OSSIM系统(基于debian)
【注意】如果部署节点类型为ossim的sensor节点,也要确保节点系统为debian类型,否则容易发生兼容性问题(底层动态和静态库调用异常)。
具体步骤
OSSIM 插件主要分为两类:采集插件和监控插件,其中采集插件对象主要为文本文件(如log、json、xml),主要使用采集协议有SNMP、Syslog、WMI等,此处以自定义采集插件为例。
新增配置
- 登录ossim节点服务器,进入插件配置目录
cd /etc/ossim/agent/plugins
- 创建新的插件配置,这里示例为 collect_example.cfg
vim collect_example.cfg
- collect_example.cfg 插件配置内容
[DEFAULT]
plugin_id=88888
[config]
type=detector
enable=true
source=log
location=/tmp/collect_example_output.log
create_file=true
[0000 - test output]
event_type=event
regexp="(\d+)"
plugin_sid=1
【PS】 插件具体配置介绍可参考 OSSIM插件配置详解。
注册插件
- 进入插件sql配置目录
cd /usr/share/doc/ossim-mysql/contrib/plugins
- 复制一个现有sql文件,重新命名为 collect_example.sql
cp ssh.sql collect_example.sql
- collect_example.sql 修改(以下为修改后内容)
-- collect_example
-- plugin_id: 88888
DELETE FROM plugin WHERE id = "88888";
DELETE FROM plugin_sid where plugin_id = "88888";
INSERT IGNORE INTO plugin (id, type, name, description) VALUES (88888, 1, 'collect_example', 'collect_example');
INSERT IGNORE INTO plugin_sid (plugin_id, sid, category_id, class_id, name, priority, reliability) VALUES (88888, 1, NULL, NULL, 'collect_example' , 0, 1);
- 导入ossim数据库
ossim-db < collect_example.sql
【PS】也可以手动连接ossim数据库执行以上初始化语句。
- 检查是否导入成功
登录 OSSIM 管理端,依次进入路径 CONFIGURATION > THREAT INTELLIGENCE > DATA SOURCE,输入插件id后回车,看到如下界面表示导入成功。

激活插件
- 进入agent服务配置目录
cd /etc/ossim/agent
- 修改配置 config.cfg
vim config.cfg
在 [plugins] 下手动添加 collect_example=/etc/ossim/agent/plugins/collect_example.cfg,如图所示

- 重启agent服务
/etc/init.d/ossim-agent restart

- 重启server服务
/etc/init.d/ossim-server restart

- 检查插件激活状态
回到 OSSIM 管理端,依次进入路径 CONFIGURATION > DEPLOYMENT > COMPONENTS > SENSORS > Sensor Status,点击部署插件的服务器节点,展开的插件列表能看到就表示激活成功。


【补充】
除了第一次激活插件要在服务端外,后续插件的激活可以直接在管理端操作,具体操作路径为 CONFIGURATION > DEPLOYMENT > COMPONENTS > ALIENVAULT CENTER > 点击server节点列表右侧放大镜进入 > Sensor Configuration > COLLECTION


部署验证
根据前面插件具体配置内容,验证点如下:
检查点:指定采集日志文件是否自动创建

检查点:检查是否正常产生安全事件
- 往日志文件手动追加内容

- 登录OSSIM管理端,进入路径 ANALYSIS > SECURITY EVENTS(SIEM),下拉框 DATA_SOURCES 检查是否存在新增的插件 collect_example

- 选择该数据源,检查是否正常产生匹配事件

- 检查事件内容是否与规则匹配一致
点击事件列表右侧放大镜,查看具体事件内容。



浙公网安备 33010602011771号