OpenSOC初探

2015/4/16 17:39:41 

来源:http://blog.chinaunix.net/uid-26275986-id-4964935.html

Cisco在最近的BroCon大会上公布了旗下的OpenSOC项目即将开源的消息,在其GIT站点上也开始放出了部分代码,应该说OpenSOC对于当今大数据分析的“落地”有着重要的意义。一直以来各界都鼓吹大数据的神奇力量,但是却一直无法真正落实到实际中发挥作用,OpenSOC则为我们展现了一次大数据的成功应用。 OpenSOC是Cisco的安全大数据分析架构,其建立了一个平台,专注于网络数据包和流的大数据分析。功能上实现了实时地检测网络内的异常,并且可以根据需要扩展节点。OpenSOC的部署全部依靠开源软件,存储上使用的Hadoop,实时索引采用ElasticSearch,而在线实时分析使用的Storm,因此可以说,OpenSOC是各种开源大数据架构和安全分析工具的有机结合。今天我们来从整体功能和架构上认识下OpenSOC。

一、OpenSOC的功能

作为一个大数据安全分析平台,OpenSOC集合了众多优秀的开源架构和软件,因此具备非常强大的功能,比如:

  1. 可扩展的接收器和分析器能够监视任何遥测数据源;
  2. OpenSOC具备很强的扩展性,且支持各种遥测数据流;
  3. 支持对遥测数据流的异常检测和基于规则的实时报警;
  4. 通过预设时间使用Hadoop存储遥测收集的数据流;
  5. 支持使用ElasticSearch实现自动化实时索引遥测数据流;
  6. 支持通过Hive使用SQL查询Hadoop中的数据;
  7. 兼容ODBC/JDBC并且继承已有的分析工具;
  8. 支持自动生成报告、异常报警;
  9. 支持原数据包的抓取、存储和重组;
  10. 支持数据驱动的安全模型;

作为Cicso发布的开源大数据分析平台,OpenSOC除了获得思科的全力支持外,还具有以下优点:

  • 免费、开源,所有模块基于Apache授权;
  • 基于高可扩展平台Hadoop\Kafka\Storm;
  • 基于可扩展的插件式设计;
  • 具有灵活的部署模式,可在企业内部部署或者云端部署;
  • 具有集中化的管理流程、人员和数据

Refer :以上内容参考自http://www.oschina.net/p/opensoc

二、OpenSOC的架构设计

OpenSOC中使用了多个开源架构,存储上基于Hadoop,实时处理实用Storm,实时索引查找借助ElasticSearch,除此之外还有一些其他的框架,整体如下图:

上图从左至右代表平台由下到上的层次,分别是数据源系统-->数据收集层-->消息系统层-->实时处理层-->存储层-->分析处理层,下面我们分别就每一层的功能和实现的开源模块做一个简单的介绍。

  1. 数据源系统:这个层主要设定大数据分析平台的数据来源,基本有两个部分,一类是通过网络路由、网关等设备获取的数据包,将这些数据流量以副本的形式传递给上层的PCAP模块;另一个类则是通过部署遥感(Telemetry)传感器,从系统日志、HTTP流量、文件系统和其他用户/系统行为中获取到的日志信息;这些信息传递给上层的Flume模块;
  2. 数据收集层:该层主要收集初步处理获取的大量数据,一方面利用PCAP机制收集数据包,一方面利用Flume框架来收集大量的日志信息。 Flume 是遵循Apache授权的开源项目,主要用于高可用、高可靠、分布式海量日志数据的收集、聚合和传输。Flume支持定制数据发送方,即可以定制获取何种类型的源数据,如支持console\RPC\text(文件)\tail(Unix tail)\syslog\exec等。此外Flume还提供对数据进行简单处理,之后写到定制的数据接收方。(即,日志传输两端皆可自定义)。

Refer http://flume.apache.org

  1. 消息系统层: 数据收集层将捕获的数据包和海量日志信息提交给了消息系统层,该层主要对这些数据包和日志包装为消息队列,可以便于上层Storm的实时处理。这里主要的软件是开源的Kafka,这主要用于日志处理的分布式消息队列,关注用户行为(登录、注销、文件操作等)和系统运行日志(CPU、内存、网络、进程信息等)。Kafka 是基于Topic的,一个Topic可以包含多个part,而每个部分则表示一个逻辑日志,每个part可以由多个segment组成,具体结构如图2:

  2. 实时处理层:下层处理形成的消息队列交由本层实时处理,OpenSOC使用了著名的Storm框架。Storm 是一个开源的在线流分析系统,可以方便地在一个集群中编写扩展复杂的实时计算,其用于实时处理就好比hadoop用于批处理。所谓实时,是指Storm保证每个消息都会得到处理,而且速度很快,比如在一个小集群中,Storm 每秒可以处理数以百万计的信息,而且用户可以使用任意语言进行mapreduce模型的开发。相较于hadoop,Storm 具有更高的容错性、更好的水平扩展以及快速可靠的消息处理优势,因此在实际中也得到了广泛的应用。 【Referhttp://storm.apache.org

  3. 存储层:这个层的主要任务就是有效合理地将前面获得的数据存储到文件系统中。对于结构化数据,OpenSOC使用Hive 来实现;对于非结构化数据,则使用ElasticSearch 来实现。 Hive 是一个基于hadoop的数据仓库,其特点是可以将SQL语句与hadoop架构无缝对接,将SQL语句转换成mapreduce任务,从而实现了在hadoop集群上进行大数据的存储、查询与分析。 ElasticSearch是一个NoSQL搜索引擎,使用JSON通过HTTP来索引数据,可以这样理解,ElasticSearch可以帮助我们更方便地索引查询非结构化数据。 除了上面提到的两类,底层是基于Hadoop 的集群,利用Hbase 数据库来存储PCAP表

Refer http://hive.apache.org http://www.elastic.cohttp://www.elasticsearch.cn】 6. 分析处理层:在完成数据的收集、存储、查询之后,接下来就是对数据的分析工作,这里的分析工具可以使用R语言或Python编写,使用了PowerPivot(PP)和Tableau(TB)两类分析工具。其中PP工具是一组应用程序和服务,以极高的性能处理大型数据集;而TB则是一款企业智能化软件,主要用于提供数据分析,比如可视化、关联性分析等,所有的工作都基于浏览器进行。

Refer :http://www.tableau.com/zh-cn/trial/tableau-software?cid=70160000000w5yn&ls=Paid%20Search&lsd=Baidu%20-%20Tableau%20-%20APAC%20-%20CH%20-%20Free%20Trial&adgroup=Brand&kw=tableau&adused=&distribution=Baidu】 现在我们大致了解了OpenSOC的框架和各个主要模块,其中的运行机理我们可以参考下面的图3和图4来理解: 
图3说明了OpenSOC的基本功能
 
图4说明了OpenSOC的运行机理
 :

三、OpenSOC部署要求

部署OpenSOC时各个开源软件和模块有一定的版本要求,具体如下:

  • Apache Flume 1.4.0版本及以上;
  • Apache Kafka 0.8.1版本及以上;
  • Apache Storm 0.9版本及以上;
  • Apache Hadoop 2.x系列版本均可;
  • Apache Hive 12版本以上,建议13版本;
  • Apache Hbase 0.94版本及以上;
  • ElasticSearch 1.1版本及以上;
  • MySql 5.6版本及以上;

现在大家应当对OpenSOC有了一个大致的了解,话说有人预言Cisco开源OpenSOC的决定,会导致更多的小企业加入到SIEM的实现中来,结果就是这个领域的产品竞争将更加激烈。对于科研的我们来说,这些当然关系不大,但是研究可以更好发挥出OpenSOC的方法,却是我们关注的问题。 希望可以有更多的童鞋加入大数据安全研究之中,欢迎大家交流、批评指正!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSOC:安全大数据分析框架。OpenSOC已经加入Apache工程改名为Apache Metron。思科在 BroCON 大会上亮相了其安全大数据分析架构 OpenSOC,引起了广泛关注。OpenSOC 是一个针对网络包和流的大数据分析框架,它是大数据分析与安全分析技术的结合, 能够实时的检测网络异常情况并且可以扩展很多节点,它的存储使用开源项目 Hadoop,实时索引使用开源项目 ElasticSearch,在线流分析使用著名的开源项目 Storm。OpenSOC 概念性体系架构如下图所示:OpenSOC 主要功能包括:可扩展的接收器和分析器能够监视任何Telemetry数据源是一个扩展性很强的框架,且支持各种Telemetry数据流支持对Telemetry数据流的异常检测和基于规则实时告警通过预设时间使用Hadoop存储Telemetry的数据流支持使用ElasticSearch实现自动化实时索引Telemetry数据流支持使用Hive利用SQL查询存储在Hadoop中的数据能够兼容ODBC/JDBC和继承已有的分析工具具有丰富的分析应用,且能够集成已有的分析工具支持实时的Telemetry搜索和跨Telemetry的匹配支持自动生成报告、和异常报警支持原数据包的抓取、存储、重组支持数据驱动的安全模型OpenSOC 官方文档介绍了以下五大优点:由思科全力支持,适用于内部多用户免费、开源、基于Apache协议授权基于高可扩展平台(Hadoop、Kafka、Storm)实现基于可扩展的插件式设计具有灵活的部署模式,可在企业内部部署或者云端部署具有集中化的管理流程、人员和数据当前,OpenSOC 运行条件包括:两个网卡(建议使用Napatech的NT20E2-CAP网卡)Apache Flume 1.4.0 版本及以上Apache Kafka 0.8.1 版本及以上Apache Storm 0.9 版本及以上Apache Hadoop 2.x 系列的任意版本Apache Hive 12 版本及以上(建议使用13版本)Apache Hbase 0.94 版本及以上ElasticSearch 1.1 版本及以上MySQL 5.6 版本及以上等。 标签:OpenSOC
电子书是指以电子形式存储和传播的图书资源。打开电子书,我们可以通过专门的设备如电子阅读器、平板电脑或手机应用程序来阅读。电子书的流行使得我们可以方便地在一定的储存空间中携带大量的书籍,并随时随地阅读。 电子书的诞生给人们带来了诸多便利。首先,通过互联网,我们可以轻松地从各大电子书商城或在线图书馆下载所需的书籍,无需亲自前往实体书店。其次,电子书的阅读器具备调节亮度、字体大小的功能,使得阅读过程更加舒适。我们可以随时调整字体大小,满足不同人群的阅读需要。此外,电子书阅读器还常常内置词典,当遇到生词时,我们可以立即查询其含义,提高了阅读效率。 此外,电子书也解决了实体书带来的一些问题。我们不再需要担心书页翻动时发出噪音,不再受实体书的厚度和重量的限制。同时,电子书的保存空间较小,方便携带,也可以通过云端存储,保证数据的安全。 然而,电子书也不是完美无瑕的。一方面,阅读电子书一般需要电力供应,一旦电池耗尽,就无法继续阅读。另一方面,与实体书相比,电子书的感官体验不如实体书。纸质书籍能够给人以质感和嗅觉上的满足,而电子书则无法提供这些。 总而言之,电子书以其便捷性和可扩展性成为现代人们阅读的首选之一。虽然它并不能完全替代实体书,但通过持续的技术创新和改进,我们相信电子书会越来越好,为读者带来更加出色的阅读体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值