|
|
|
|
移动端

1.2.5 代理(Agent)

《开源安全运维平台--OSSIM最佳实践》第1章OSSIM架构与原理,本章从OSSIM起源讲起,介绍了目前运维人员现状,逐步谈到应用SIEM的必要性,进而介绍OSSIM架构与组成原理,另外还介绍了基于插件的日志采集思路,提出标准化安全事件的全新理念,详细分析了OSSIM的高可用架构与实现方法。本节为大家介绍代理(Agent)。

作者:李晨光来源:清华大学出版社|2016-01-14 16:19

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


1.2.5 代理(Agent)

代理进程(由于Agent采用Python语言编写,所以无需编译就能在Python Shell环境运行)将运行在多个主机上,负责从安全设备采集相关信息(比如报警日志等),并将采集到的各类信息统一格式,最后将这些数据传至Server。

从采集方式上看,Agent属于主动采集,可以形象理解为由OSSIM Server安插在各个监控网段的"耳目",由它们收集数据,并主动推送到Collector中,然后Collector又连接着消息队列系统、缓存系统及存储系统。

OSSIM中的这些代理脚本位于/usr/share/alienvault/ossim-agent/目录下,脚本经过加密,以.pyo为扩展名。列如OSSIM代理(ossim-agent)直接读取存储在/var/log/suricata/unified2.alert.1428975051日志。

suricata的报警输出文件是/var/log/suricata/unified2.alert,这是由/etc/suricata/suricata.yaml配置文件在111行 # alert output for use with Barnyard2定义,所以ossim-agent直接读取该文件就能显示在SIEM控制台中。

Agent的主要功能是接收或抓取Plugins发送过来或者生成的日志,经过归一化处理,然后有序地传送到OSSIM的Server,它的功能很复杂,因为它的设计要考虑到如果Agent和Server之间的网络中断、拥堵、丢包等情况。

在免费版的OSSIM系统中,其日志处理大部分情况下不能达到实时,但可以达到准实时(Firm Real-Time),通常会在Agent端缓存一段时间才会发送到Server端去。Agent会主动连接两个端口与外界通信,一个是连接Server的40001端口(在/etc/ossim/agent/config.cfg配置文件的选项[output-server]中端口设置能看出通讯端口为40001),而另一个是连接数据库的3306端口。如图1-14所示。

原始日志被分成若干段填充到相应的域中,这些字段如下:

date、sensor、interface、plugin_id、plugin_sid、priority、protocol、src_ip、src_port、dst_ip、dst_port

username、password、filename、userdata1、userdata2、userdata3、userdata4、userdata5、userdata6、userdata7、userdata8、userdata9

其实Sensor的输出数据就是Ossim Server的输入"原料",我们可在WebUI中查看Sensor的output情况。如图1-15所示。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Grails权威指南

本书译自Grails项目负责人Graeme Keith Rocher所著的“The Definitive Guide to Grails”一书,着重介绍了如何在Grails框架下使用Groovy语...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊