OSSIM插件开发实战
一、插件配置步骤
经过 以上 描述,大家 了解 收集日志的流程,接下来就要建立脚本 ,步骤如下:
( 1 )新建插件文件, 通常 复制一个现有的脚本文件,并修改其内容,以符合新的应用程序需求。
( 2 )定义一个通用规则,这是最后的规则来评价,它捕获所有的事件,不能根据特定规则进行分组。
( 3 )去除噪声, OSSIM 可以排除某些无关事件子类型的事件被视为噪声,说的简单点就是在 IDS/IPS 等安全设备上产生的海量重复报警就是噪声 。
( 4 )通过 OSSIM 代理注册插件,为了将事件发送到的 OSSIM 服务器,就要将插件激活,插件的路径必须在代理配置文件中指定。
5 )通过 OSSIM Server 注册插件,以让服务器知道事件的优先级和可靠性价值的事件,就必须在 S erver 端也注册插件。
( 6 )在 Server 端激活插件,重启 OSSIM Server 进程 。
#/etc/init.d/ossim-server restart
( 7 )在 Agent 代理端激活插件,重启 OSSIM Agent 进程 。
#/etc/init.d/ossim-agent restart
二、 插件导入
假设 有一段导出的 SQL 文件,其中包含有可执行 SQL 语句。例如将 MySQL 数据库备份到 test.sql 文件里,就可以用下面方法进行还原:
#mysql < test.sql
可以在 MySQL 的提示符下用 SOURCE 命令来加载 SQL 文件。但如果压缩了 SQL 文件怎么做还原呢?是不是要先解压缩在加载呢?例如:
#gunzip �c test.sql.gz |mysql
OSSIM 在安装后期通过一些 SQL 语句集中导入插件,导入完毕放置在 /usr/share/doc/ossim-mysql/contrib./plugins/ 目录下,扩展名为 sql.gz ,如果发现某些插件需重新导入数据库可以先用 gunzip 命令解压 sql.gz 文件,再使用“ ossim-db<file.sql ”方式导入。如果是新插件怎么办?就复制一个功能类似插件,然后修改 SQL 代码,在导入数据库。或许会思考,如果只还原单独的表(例如表 asset )又会怎样?看看如下操作:
#grep ‘INSERT INTO `asset`’ test.sql |mysql test
或者文件是压缩的:
#gunzip �c test.sql.gz |grep ‘INSERT INTO`asset`’|mysql test
注意 , test 代表实例数据库名称。一旦 MySQL 加载完数据, gunzip 就会自动退出。
根据《开源安全运维平台-OSSIM最佳实践》第七章插件注册讲解的内容, 我们修改 /etc/ossim/agent/config.cfg 在 [ plugins] 中加入插件 ,如图 下 所示。
myexample=/etc/ossim/agent/plugins/myexample.cfg
最 后打开 ossim-setup 配置程序 并 选择 :ConfigureSensor → Select DataSources ,找到 myexample 插件选中后,保存退出。
当看到上面这些信息是说明插件已成功添加,下面要重启服务即可生效。
#/etc/init.d/ossim-server restart // 重启 ossim server 端
#/etc/init.d/ossim-agent restart // 重启 agent 端
最后可以到 SIEM 控制台下查看 该插件采集到的日志 , 为了使大家有更直观的体验特在最新版 OSSIM 中制作了一刻钟的视频讲解 。
视频地址: http://edu.51cto.com/index.php?do=lesson&id=99668