
与Splunk日志记录和分析系统在俄罗斯的销售终止有关,提出了如何替换此解决方案的问题? 花了很多时间熟悉各种解决方案后,我选择了一个真正的人的解决方案-
“ ELK堆栈” 。 该系统需要时间来配置它,因此,您可以获得一个非常强大的系统,用于分析组织中信息安全事件的状态和操作响应。 在本系列文章中,我们将考虑ELK堆栈的基本(或可能不是)功能,考虑如何解析日志,如何构建图形和仪表板,以及使用来自Check Point防火墙或OpenVas安全扫描程序的日志可以完成哪些有趣的功能。 首先,考虑一下它是什么-ELK堆栈以及它组成的组件。
ELK堆栈是三个开源项目的缩写:
Elasticsearch ,
Logstash和
Kibana 。 由Elastic以及所有相关项目开发。 Elasticsearch是整个系统的核心,它结合了数据库,搜索和分析系统的功能。 Logstash是服务器端数据处理管道,可同时从多个源接收数据,解析日志,然后将其发送到Elasticsearch数据库。 Kibana允许用户使用Elasticsearch中的图表将数据可视化。 也可以通过Kibana来管理数据库。 接下来,我们将分别更详细地考虑每个系统。

Logstash
Logstash是用于处理来自各种来源的日志事件的实用程序,您可以使用它选择消息中的字段及其值,还可以配置过滤和编辑数据。 完成所有操作后,Logstash将事件重定向到最终数据存储。 该实用程序仅通过配置文件进行配置。
典型的logstash配置是一个文件,由多个传入信息流(输入),此信息的多个过滤器(过滤器)和几个输出流(输出)组成。 它看起来像一个或多个配置文件,在最简单的版本中(根本不执行任何操作)如下所示:
input { } filter { } output { }
在INPUT中,我们配置日志将进入哪个端口,并根据哪种协议进行配置,或者配置从哪个文件夹中读取新文件或不断写入的文件。 在FILTER中,我们配置日志解析器:解析字段,编辑值,添加新参数或删除。 FILTER是Logstash附带的消息管理字段,其中包含大量的编辑选项。 在输出中,我们配置已解析日志的发送位置(如果它是elasticsearch),则发送JSON请求,在其中发送带有值的字段,或者作为调试的一部分,可以将其输出到stdout或写入文件。

弹性搜索
最初,Elasticsearch是一个全文搜索解决方案,但具有其他功能,例如易于扩展,复制等,这使该产品成为适用于具有大量数据的高负载项目的非常便捷且良好的解决方案。 Elasticsearch是JSON格式的文档的非关系存储库(NoSQL),并且是基于Lucene全文搜索的搜索引擎。 硬件平台是Java虚拟机,因此系统需要大量的处理器和RAM资源才能工作。
使用Logstash或使用查询API的每条传入消息都被索引为“文档”-关系SQL中表的类似物。 所有文档都存储在索引中-SQL中数据库的类似物。
数据库中文档的示例:
{ "_index": "checkpoint-2019.10.10", "_type": "_doc", "_id": "yvNZcWwBygXz5W1aycBy", "_version": 1, "_score": null, "_source": { "layer_uuid": [ "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0", "dbee3718-cf2f-4de0-8681-529cb75be9a6" ], "outzone": "External", "layer_name": [ "TSS-Standard Security", "TSS-Standard Application" ], "time": "1565269565", "dst": "103.5.198.210", "parent_rule": "0", "host": "10.10.10.250", "ifname": "eth6", ] }
数据库的所有工作都基于使用REST API的JSON请求,该请求可以按索引发布文档,也可以采用以下格式的某些统计信息:问题-答案。 为了可视化所有请求答案,编写了Kibana,这是一个Web服务。
基巴纳
Kibana允许您从elasticsearch数据库中搜索/获取数据并请求统计信息,但是许多美丽的图形和仪表板都是基于答案构建的。 该系统还具有Elasticsearch数据库管理功能,在后续文章中,我们将更详细地考虑此服务。 现在,让我们展示一下Check Point防火墙和可以构建的OpenVas漏洞扫描程序上的仪表板示例。
Check Point的仪表板示例,图片可点击:

OpenVas仪表板示例,图片可点击:

结论
我们检查了
ELK堆栈的组成,并对主要产品有所了解,然后在课程中,我们将分别考虑编写Logstash配置文件,在Kibana上设置仪表板,熟悉API请求,自动化等等!
所以请继续关注(
Telegram ,
Facebook ,
VK ,
TS Solution Blog ),
Yandex.Zen 。