分类: 大数据
2015-09-01 21:08:11
原文地址:OpenSOC初探 作者:windhawkgyang
2015/4/16 17:39:41
Cisco在最近的BroCon大会上公布了旗下的OpenSOC项目即将开源的消息,在其GIT站点上也开始放出了部分代码,应该说OpenSOC对于当今大数据分析的“落地”有着重要的意义。一直以来各界都鼓吹大数据的神奇力量,但是却一直无法真正落实到实际中发挥作用,OpenSOC则为我们展现了一次大数据的成功应用。 OpenSOC是Cisco的安全大数据分析架构,其建立了一个平台,专注于网络数据包和流的大数据分析。功能上实现了实时地检测网络内的异常,并且可以根据需要扩展节点。OpenSOC的部署全部依靠开源软件,存储上使用的Hadoop,实时索引采用ElasticSearch,而在线实时分析使用的Storm,因此可以说,OpenSOC是各种开源大数据架构和安全分析工具的有机结合。今天我们来从整体功能和架构上认识下OpenSOC。
作为一个大数据安全分析平台,OpenSOC集合了众多优秀的开源架构和软件,因此具备非常强大的功能,比如:
作为Cicso发布的开源大数据分析平台,OpenSOC除了获得思科的全力支持外,还具有以下优点:
【Refer :以上内容参考自】
OpenSOC中使用了多个开源架构,存储上基于Hadoop,实时处理实用Storm,实时索引查找借助ElasticSearch,除此之外还有一些其他的框架,整体如下图:
上图从左至右代表平台由下到上的层次,分别是数据源系统-->数据收集层-->消息系统层-->实时处理层-->存储层-->分析处理层,下面我们分别就每一层的功能和实现的开源模块做一个简单的介绍。
【Refer :】
消息系统层: 数据收集层将捕获的数据包和海量日志信息提交给了消息系统层,该层主要对这些数据包和日志包装为消息队列,可以便于上层Storm的实时处理。这里主要的软件是开源的Kafka,这主要用于日志处理的分布式消息队列,关注用户行为(登录、注销、文件操作等)和系统运行日志(CPU、内存、网络、进程信息等)。Kafka 是基于Topic的,一个Topic可以包含多个part,而每个部分则表示一个逻辑日志,每个part可以由多个segment组成,具体结构如图2:
实时处理层:下层处理形成的消息队列交由本层实时处理,OpenSOC使用了著名的Storm框架。Storm 是一个开源的在线流分析系统,可以方便地在一个集群中编写扩展复杂的实时计算,其用于实时处理就好比hadoop用于批处理。所谓实时,是指Storm保证每个消息都会得到处理,而且速度很快,比如在一个小集群中,Storm 每秒可以处理数以百万计的信息,而且用户可以使用任意语言进行mapreduce模型的开发。相较于hadoop,Storm 具有更高的容错性、更好的水平扩展以及快速可靠的消息处理优势,因此在实际中也得到了广泛的应用。 【Refer:】
【Refer : 】 6. 分析处理层:在完成数据的收集、存储、查询之后,接下来就是对数据的分析工作,这里的分析工具可以使用R语言或Python编写,使用了PowerPivot(PP)和Tableau(TB)两类分析工具。其中PP工具是一组应用程序和服务,以极高的性能处理大型数据集;而TB则是一款企业智能化软件,主要用于提供数据分析,比如可视化、关联性分析等,所有的工作都基于浏览器进行。
【Refer :】 现在我们大致了解了OpenSOC的框架和各个主要模块,其中的运行机理我们可以参考下面的图3和图4来理解:
图3说明了OpenSOC的基本功能
图4说明了OpenSOC的运行机理 :
部署OpenSOC时各个开源软件和模块有一定的版本要求,具体如下:
现在大家应当对OpenSOC有了一个大致的了解,话说有人预言Cisco开源OpenSOC的决定,会导致更多的小企业加入到SIEM的实现中来,结果就是这个领域的产品竞争将更加激烈。对于科研的我们来说,这些当然关系不大,但是研究可以更好发挥出OpenSOC的方法,却是我们关注的问题。 希望可以有更多的童鞋加入大数据安全研究之中,欢迎大家交流、批评指正!