Security:在 SIEM 上运用 Elastic Security

Posted Elastic 中国社区官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Security:在 SIEM 上运用 Elastic Security相关的知识,希望对你有一定的参考价值。

Elastic Security 将 Elastic SIEM(其检测引擎可自动检测威胁,以便快速调查和响应威胁)与 Endpoint Security 结合到一个解决方案中,从而统一整个网络的预防、检测和响应。

本教程将引导你设置集成,以便你可以从主机收集数据。 首先,你将网络数据包捕获集成添加到代理策略,然后你将在主机上部署 Elastic Agent 以收集网络数据包捕获数据。 Elastic 的集成不仅提供了一种添加新数据源的简单方法,

以下示例演示如何添加网络数据包捕获集成,该集成显示有关主机上的网络连接的流信息。在今天的展示中,我将使用如下的架构:

我将使用 Elastic Stack 8.5.0 来进行展示。 

安装

如果你还没有安装好自己的 Elasticsearch 及 Kibana 请参考如下的教程来进行安装。

在安装的时候,请注意选择 Elastic Stack 8.x 的安装文章来进行安装。

我们按照上面的要求进行安装 Elasticsearch 及 Kibana。为了能够让 fleet 正常工作,内置的 API service 必须启动。我们必须为 Elasticsearch 的配置文件 config/elasticsearch.yml 文件配置:

config/elasticsearch.yml

xpack.security.authc.api_key.enabled: true

配置完后,我们再重新启动 Elasticsearch。针对 Kibana,我们也需要做一个额外的配置。我们需要修改 config/kibana.yml 文件。在这个文件的最后面,添加如下的一行:

config/kibana.yml

 
xpack.encryptedSavedObjects.encryptionKey: 'fhjskloppd678ehkdfdlliverpoolfcr'

如果你不想使用上面的这个设置,你可以使用如下的方式来获得:

从上面的输出中,我们可以看出来,有三个输出的 key。我们可以把这三个同时拷贝,并添加到 config/kibana.yml 文件的后面。当然,我们也可以只拷贝其中的一个也可。我们再重新启动 Kibana。

这样我们对 Elasticsearch 及 Kibana 的配置就完成。 针对 Elastic Stack 8.0 以前的版本安装,请阅读我之前的文章 “Observability:如何在最新的 Elastic Stack 中使用 Fleet 摄入 system 日志及指标”。 

除此之外,Kibana 需要 Internet 连接才能从 Elastic Package Registry 下载集成包。 确保 Kibana 服务器可以连接到https://epr.elastic.co 的端口 443 上 。如果你的环境有网络流量限制,有一些方法可以解决此要求。 有关详细信息,请参阅气隙环境。

目前,Fleet 只能被具有 superuser role 的用户所使用。


配置 Fleet

Elastic ingreations 包括从系统收集数据、管理系统以及对外部系统执行操作所需的配置。 例如,有一些集成可以收集 mysql 日志和指标,保护主机免受恶意软件的侵害,以及在事件报告系统中创建问题。

使用 Kibana 中的 Fleet 将日志、指标和安全数据导入 Elastic Stack。第一次使用 Fleet 时,你可能需要对其进行设置并添加 Fleet Server。在做配置之前,我们首先来查看一下有没有任何的 integration 被安装:

我们打开 Fleet 页面: 

在上面,我们配置 Fleet Server 到 Ubuntu OS 机器上。它具有 https 的访问。点击上面的 Save and apply settings。

我们接下来添加 Agent:

上面显示我们的 Fleet Sever policy 被成功地创建了。我们需要把我们的 Fleet Server 安装到 Ubuntu OS 机器上。 

 由于我们的 Ubuntu OS 是 Linux OS,所以,我们选择上面的指令来在 Ubuntu OS 上进行安装:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.5.0-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.5.0-linux-x86_64.tar.gz
cd elastic-agent-8.5.0-linux-x86_64
sudo ./elastic-agent install \\
  --fleet-server-es=https://192.168.0.3:9200 \\
  --fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE2Njc5NzM4NTU4OTM6cmJVdm9kaWtUTEN3endDYW02Um9uQQ \\
  --fleet-server-policy=fleet-server-policy \\
  --fleet-server-es-ca-trusted-fingerprint=f8601e3af7471c49006399a2d58f8656224be1170f0f6126f99a25d19bbdb788

 

从上面的输出中,我们可以看出来我们的 Fleet Server 已经被成功地安装,并且 Elastic Agent 在 Ubuntu 机器上也已经运行起来了。

我们再次回到 Kibana 的界面:

由于我们的 Elastic Agent 和 Fleet Server 是在一个服务器上运行的,所以,我们直接在 Fleet Server Policy 里添加我们想要的 integration。如果你的 Elastic Agent 可以运行于另外的一个机器上,而不和 Fleet Server 在同一个机器上,你可以创建一个新的 policy,比如 logs。然后让 agent 赋予给这个 新创建的 policy。我们需要明白的一点是在我们上面安装 Elastic Agent 的时候,它同时也安装了 Fleet Server。在一个机器上,我们只能运行一个 Elastic Agent 的实例。

如果我们想在其它的机器上继续安装 Elastic Agent,那么请点击上面的 Continue enrolling Elastic Agent,并安装 Kibana 的提示来进行安装:

针对自签名的 Fleet server 安装,我们在安装的时候,需要添加一个 --insecure 选项,否则安装不通过。也即:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.5.0-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.5.0-linux-x86_64.tar.gz
cd elastic-agent-8.5.0-linux-x86_64
sudo ./elastic-agent install --url=https://192.168.0.4:8220 --enrollment-token=Q0V4c1c0UUI5MlVBemRhcG5ITDQ6N0R0UDltU1pSX1NDUDFaY1pGWjl1Zw== --insecure

如果你想针对 Fleet Server 做有证书的安装,你可以阅读文章  “Observability:在生产环境中配置 Fleet Server 和 Elastic Agent 之间的安全”。

我们现在再回到 Fleet 的界面:

 

 上面显示我们已经成功地把 network_traffic-1 集成添加到我们的 policy 中了。

查看仪表盘

 

以上是关于Security:在 SIEM 上运用 Elastic Security的主要内容,如果未能解决你的问题,请参考以下文章

大咖直播Elastic Security 安全管理实战工作坊(第二期)

Elastic 在 SIEM 市场继续获得动力

THMIntro to Defensive Security(防御性安全介绍)-学习

Ponemon:优化SIEM时所面临的挑战

Gartner:2017年SIEM(安全信息与事件管理)市场分析

浅析SIEM态势感知平台安全运营中心