关于OpenSOC

OpenSOC是思科在BroCON大会上亮相了的一个安全大数据分析架构,它是一个针对网络包和流的大数据分析框架,它是大数据分析与安全分析技术的结合, 能够实时的检测网络异常情况并且可以扩展很多节点,它的存储使用开源项目Hadoop,实时索引使用开源项目ElasticSearch,在线流分析使用著名的开源项目Storm。

但是其部署上和使用上可能对于大部分中小企业来说,消耗的资源和精力可能有点过于庞大。本文着重介绍如何轻量级实现OpenSOC框架,即使日后升级或者添加了SEIM也可以快速迁入。

OpenSOC介绍

我们先来看一下 OpenSOC 框架

OpenSOC框架组成

OpenSOC框架主要包括六个部分

OpenSOC的工作流程:

数据收集组件数据来源收集日志等数据然后推送到消息通知组件

通过消息通知组件分发给对应的实时处理组件

实时处理组件处理完后保存到数据存储组件

最后由访问接口提供的API或者UI等供给用户查看或者调用

构建OpenSOC

使用的场景

本文将根据以下场景来构建OpenSOC。

注:如果有其他的数据源,配置好数据收集组件进行收集即可

此处只针对大部分的日志文件进行推送和处理,

工具和架构

由于是轻量级的框架,所以在架构上会稍微调整。

整个系统结构如图:

搭建步骤

数据源

日志数据采集收集和推送

[elasticsearch-6.x]
    name=Elasticsearch repository for 6.x packages
    baseurl=https://artifacts.elastic.co/packages/6.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md

安装elasticsearch

配置filebeat和elasticsearch

filebeat.prospectors:
- input_type: log
  paths: /var/log/httpd/access_log
output.elasticsearch:
   hosts: ["IP:PORT"]

[注]

分析和展示的UI

这里涉及的基本就是常规的网页编写和操作了。这里不具体展开。
大概说一下我写的思路和用到的组件

最后效果如图

基础的OpenSoc框架搭建完成,下一篇会介绍一下

源链接

Hacking more

...