Metron学习9_Apache Metron学习记录

来源:互联网 发布:卫生间js防水施工方案 编辑:程序博客网 时间:2024/05/16 19:36

Metron学习记录

1 关于Metron

1.1 Apache Metron的演变

提起Apache Metron,我们必须提到OpenSoc,它的发展历程如下。

1.2 Metron的核心功能和功能主题

核心功能能力:

安全数据库,可插入框架,安全应用程序,威胁只能平台;

核心功能主题:

平台,数据收集,数据处理,UI;

1.3 Metron用户角色及受益点

适合6类用户角色;

SOC分析师、调查员、经理,法律调查员,安全平台操作工程师,安全数据科学家;

1.3.1 Metron优点

No1:SOC分析师和调查员:

查看警报,收集上下文信息,调查;

No2:数据科学家:

查找数据,清理数据,Munge数据(自动数据丰富,自动应用标签,大规模并行计算框架),可视化数据。

 

2 Metron社区

2.1 社区资源

2.1.1 Metron开发环境配置说明

前提条件:Github账号,下载最新版本的IntelliJ;

设置开发环境(叉开Metron Repo,克隆Metron回购给你本地Dev Env,将您的Cloned Repo设置为IntelliJ项目);

如何开始贡献(创建JIRA故障单,将更改提交到本地回购);

将本地提交的更改推送到Forked Github repo;

创建拉取请求。

2.2 提交者资源

2.2.1 创建Apache架构

步骤:设置账户,生成构建工作,签署构建,阶段构建,要求发布投票;

2.2.2 合并提取请求

先决条件1—设置Github环境

先决条件2—设置你的回购

合并拉取请求—收集信息

步骤1—收集有关拉取请求的信息

步骤2—收集提交者的信息

步骤3—合并拉取请求:拉动和挤压

步骤4—合并拉取请求:验证

步骤5—合并拉取请求:提交

步骤6—合并拉取请求:操作后

2.2.3 提交者文档

如何合并网站变更请求

2.3 验证构建

步骤1—构建Metron

步骤2—通过vagrant和ansible将metron部署为单个VM

步骤3(可选)—使用Ansible验证AWS多节点部署(注意:部署AWS服务器会花费大笔资金)

2.4 技术会谈

2.5 档案

2.5.1 会议记录

经常性会议

会议笔记索引

2015-12-11会议记录

2016-05-05会议记录

2.5.2 Metron旧架构

Metron架构可以分为以下几个方面

数据采集,实时数据处理,SOC分析器仪表盘,

2.5.3 Metron要求

Hortonworks平台要求

Rackspace平台和UI要求

SOC用户问卷

2.5.3.1 MetronUI分类法

2.5.3.2 SOC用户问券

2.6 常见问题

2.6.1 降级Ansible

2.6.2 使用Quick Dev平台有问题?

2.7 入门

2.7.1 使用Git

 

3. Metron结构

Metron组件(Metron模块,域特定语言)

逻辑体系结构(遥感事件缓冲区,处理,丰富,标签,警报和坚持,UI门户与数据和集成服务,快速遥感摄取,遥感采集)

3.1 流

Metron Streaming是一个处理流处理的模块,包括遥测获取,丰富,威胁智能引用,警报和机器学习模型的实时评分。

有三种拓扑类型,分别如下。

3.1.1 解析拓扑

解析拓扑旨在利用传感器输入,并把它变成了Metron JSON对象。

可以采用两种类型的解析器:Grok和专用Java。

3.1.1.1 Grok解析器

3.1.1.2 Java解析器

3.1.1.3 Metron JSON对象

3.1.2 丰富/威胁因特尔拓扑

有连个流:消息流和(多个)富集流

3.1.2.1 富集/浓缩(资产、地理、用户)

增加为流消息添加上下文,例如,如果给定消息具有外部IP,则富集将是将地理数据标记到该消息。

3.1.2.2 威胁Intel

Metron目前提供了一个可扩展的框架来插入威胁英特尔源。每个威胁英特尔源都有两个组件:一个增强数据源和一个增强螺栓。

3.1.3 PCAP拓扑

3.2 PCAP服务

到具有PCAP服务的先决条件是具有PCAP拓扑结构和运行,代码为PCAP服务可以在这里找到。

3.2 传感器

Metron支持以下传感器和格式列表(数据平面开发套件(DPDK)探头,YAF,Bro IDS,Snort)

3.2.1 Metron Bro捕获设计

Bro主要用作深度包检测(DPI)元数据生成器。

3.2.2 Metron数据包捕获探针设计

网络数据包捕获探针设计为从网络捕获原始网络数据包,并批量加载到Kafka。

3.2.3 Metron YAF捕获设计

Metron使用YAF从Metron的PCAP探针生成IPFIX(Netflow)数据。

3.2.4 Snort捕获设计

Snort是目前更流行的网络入侵防御系统(NIPS)之一。Metron扮演的输出数据包捕获探针来Snort和Snort的时警报被触发了Metron使用Apache水槽管道这些警报到Kafka的话题。

3.3 数据加载

具体参考Github的文章。

3.5 UI

具体参考Github的文章。

3.6 部署脚本

具体参考Github的文章。

3.7 PCAP命令行工具

查询过滤器实用程序;

用法;

例子;

 

4. 当前支持的是什么

4.1 支持的数据存储

HBase、HDFS、ElasticSearch

4.2 支持的富集

地理、资产、用户

4.3 支持的因特尔威胁反馈

 

5. 会议笔记

 

6. 文档

6.1 快速开始

6.2 安装

你可以通过三种方式安装Metron;

基于Ansible的Vagrant单节点虚拟机安装,全自动10节点Ansible基于AWS上安装使用Ambari蓝图和AWS的API,Fully自动化了Metron安装由Ambari管理的任何集群。

6.2.1 开发虚拟机安装

基于Ansible的Vagrant单节点虚拟机安装;

此安装完全自动化在运行在Virtualbox上的单个虚拟化主机上配置Apache Metron。

6.2.2 云安装

AWS上的全自动10节点群集;

此安装完全自动化在Amazon EC2基础架构上配置Apache Metron。从仅使用Amazon EC2凭据开始,此项目将创建一个运行Apache Metron的完整功能的端到端多节点群集。

6.2.3 在Ambari集群上安装

以下提供有关如何在现有Ambari管理的HDP 2.4群集上安装Metron的说明。这些不是针对生产部署的建议,而是针对开发/测试环境的建议。

安装说明

步骤:设置,安装或验证现有Hadoop集群,下载并构建Metron,配置Metron进行安装,将Metron安装/部署到集群。

6.2.4 Metron与HDP2.5裸机安装

该指令可以应用于单节点部署和多节点部署。

先决条件;

Metron安装预备;

构建Metron代码;

安装有HDP2.5的Ambari2.4;

安装后配置;

故障排除;

6.3 Metron仪表盘

Metron的默认仪表板旨在允许您使用默认传感器套件轻松验证Metron的端到端功能。它强调了Kibana 4中提供的一些有用的小部件,并且作为您创建自己的定制仪表板的起点。

6.4 Metron参考应用

什么是Metron Reference App?

为什么我们需要它?

Metron 0.3.0版本的Metron参考应用程序的更新是什么?

6.4.1 设置用例

简介

设置用例场景

(客户Foo的要求,什么是Squid,怎样丰富Squid监测事件,关键点)

6.4.2 添加新的检测数据源

设置

首先安装Metron

在Metron中解析Squid监测数据源

使用Apache NiFi将数据流式传输到Metron

验证事件已建立索引

6.4.3 增强Metron仪表盘

步骤(设置和先决条件,创建更多的Squid传感器数据,创建索引模板,在Kibana中配置Squid索引,查看Squid数据,将Squid事件计数模板添加到仪表盘,创建直方图面板,添加详细面板,带有3个Squid面板的仪表盘)

6.4.4 丰富监测事件

Metron丰富框架解释

步骤1:设置和先决条件

步骤2:创建模拟丰富源

步骤3:配置Extractor配置文件

步骤4:配置元素到扩充映射

步骤5:在Metron UI中查看新的丰富的监测事件

6.4.5 丰富你的流

在本节中,我们将了解如何对Feed进行概要分析,然后将这些概要文件进一步纳入分类规则中。

6.4.6 威胁因特尔反馈的应用

威胁Intel框架解释

步骤1:设置和先决条件

步骤2:创建模拟威胁英特尔源数据源

步骤3:配置Extractor配置文件

步骤4:配置元素以威胁英特尔源映射

步骤5:运行威胁Intel装载程序

步骤6:在Metron UI中查看威胁警报

创建威胁英特尔命中计数面板

6.4.7 威胁分类

Metron查询语言

威胁分类配置说明

步骤1:设置和先决条件

步骤2:创建威胁分类规则配置

步骤3:将威胁分类配置上传到Zookeeper

步骤4:查看分段/分数提醒

6.4.8 启动Metron拓扑

6.4.9 批量装载和修剪数据

6.5 故障排除

6.5.1 拓扑故障排除

解析器拓扑

创建一些示例数据

创建集成测试

设置一些断点

运行测试

故障排除富集拓扑

6.6 Stellar查询语言

对于各种组件,我们需要确定所富集的JSON文档的条件是否为true。为了这些目的,存在创建以定义这些条件的简单DSL。现在,语言被集成在以下组件中:

全球验证

威胁分类

6.7 Stellar转换语言

对于各种组件,需要转换消息并以可插入的方式组合这些转换。为此,存在简单的DSL以允许为常见变换定义功能并且组成这些功能。

6.8 调整搜索层

调整你的硬件

Elasticsearch喜欢在大量小型服务器上运行,而不是在大型服务器上运行多个实例。见这个伟大的职位了解更多详情。

如果要在单个服务器上运行多个实例,请确保为每个实例提供专用磁盘。

 

7. 研究与思想

Apache Metron的各种想法和研究主题的着陆页。

7.1 用户研究

了解不同类型的用户及其需求和当前的挑战对于构建实际由组织使用的安全平台至关重要。 

此页面是与了解Metronn的用户,他们的痛苦和他们的想法有关的所有事情的着陆页。

7.1.1 SOC采访指南

热身问题

中小企业(从这里开始)

         Kibana

         值

         大图片

SOC(从这里开始)

         工作流

                   虚拟化

                   队列

                   工作流管理

时间

通讯

SOC团队

工具

搜索

采用

结束

设计回顾

7.1.2 用户访谈

与Metron的不同潜在用户进行的各种用户访谈的着陆页,包括:

一级,二,三级SOC分析师

SOC主题专家

SIEM工程师

SOC经理

安全数据科学家

安全平台/ DevOps团队

 

8. 网站PR合并

Metron网站是使用Jekyll生成的静态网站。markdown内容存储在master中,但生成的静态站点存储在ASF基础架构的特殊分支asf-site中,由ASF基础架构团队提取和提供。

如果您需要合并涉及更改网站的拉取请求,您可以按照以下步骤操作:

评估Jekyll的变化,以确保它看起来确定,没有问题(见下文)

通过正常的提交方法提交PR以掌握

将生成的站点提交到asf-site分支

 

9. Apache治理

9.1 Apache项目成熟度模型

许可和版权

发布

质量

社区

共识见识

独立

9.2 Apache Metron章程

介绍

本文档定义了Apache Metron项目操作的章程。它定义了项目的角色和职责,谁可以投票,投票如何工作,如何解决冲突等。

角色和职责

Apache项目定义了一组具有相关权限和职责的角色。这些角色控制个人在项目中可能执行的任务。角色在以下部分中定义。

做决定

表决

批准

操作

9.3 发展指南

作为一个开源项目,Metron欢迎各种形式的贡献。以下部分将帮助您开始使用。

9.3.1 如何贡献

贡献代码更改

查找和合并补丁

9.3.2 实施

语法和风格

代码样式

编码标准

文件

测试

合并要求

9.4 发布流程

Metron版本类型

发布命名约定

启动新的Metron版本

创建功能发布

创建维护版本

确保功能和维护版本之间的一致性

9.5 报告问题

 

来自:https://cwiki.apache.org/confluence/display/METRON/About+Metron

0 0