您现在的位置是:网站首页> 编程资料编程资料

Security安装 Elastic SIEM 和 EDR的超详细教程_其它综合_

2023-05-27 299人已围观

简介 Security安装 Elastic SIEM 和 EDR的超详细教程_其它综合_

Elastic Security 为分析人员提供了预防,检测和响应威胁的手段。 该解决方案解决了SIEM,endpoint,威胁搜寻等安全用例,使 SecOps 团队能够收集各种数据,执行自动化和分析师驱动的分析,并通过嵌入式工作流和自动化来应对安全威胁。在今天的文章中,我将介绍如何安装 Elastic SIEM 及 EDR。

在我的系统配置中,我们使用如下的结构:

我有两台机器,在其中的一台机器上安装有 Elasticsearch,Filebeat 及 Kibana,而在另外一台机器上安装有 endpoint agent。在今天的练习中,我将详细地介绍如何一步一步地完成整个安装。

安装 Elastic Stack 基础

尽管我在之前的很多文章中有介绍如何安装 Elastic Stack,我还是想一步一步地来详细介绍。就我而言,我使用的是 Elastic Stack 的最新版本7.11.1。对于我的 Elastic Stack 设置,我使用的是一个单台的 Ubuntu 20.04 机器。 该服务器将运行 Elasticsearch 和 Kibana。

安装 Elasticsearch

首先安装 transport-https

 sudo apt-get install curl apt-transport-https

接下来,将 Elastic 仓库添加到你的源列表。

 curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
 echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

然后更新。

 sudo apt update

现在安装 Elasticsearch

 sudo apt-get install elasticsearch 

对于中国有的开发者来说,上面的安装步骤可能会很慢,一种办法就是直接到网址 https://www.elastic.co/downloads/ 直接下载 Elasticsearch 的 deb 安装包,并按如下的命令来进行安装:

 sudo dpkg -i elasticsearch-7.11.1-amd64.deb

安装 Elasticsearch 之后,我们需要对其配置文件进行几处更改。 该文件位于 /etc/elasticsearch/elasticsearch.yml 中。要访问此文件,你需要 root 特权。

首先,我们需要更改 network.host 值。 其默认设置为localhost。 将其更改为安装了 Elasticsearch 的主机的 IP 地址。

 cluster.name: demo-elk node.name: elk-1 network.host: 0.0.0.0 discovery.type: single-node

现在,你应该准备启动 Elasticsearch 并检查它是否已正确启动。

 sudo service elasticsearch start

我们可以使用如下的命令来查看 elasticsearch 服务的状态:

 service elasticsearch status

如上所示,如果我们看到 Elasticsearch 服务的状态为 active,则表明它的安装是成功的。

你还可以通过运行以下命令来检查 Elasticsearch 是否可从其他主机访问:

 curl http://:9200

输出应类似于以下内容:

安装 Kibana

运行以下命令以安装 Kibana。

 sudo apt install kibana

对于中国有的开发者来说,上面的安装步骤可能会很慢,一种办法就是直接到网址 https://www.elastic.co/downloads/ 直接下载 Kibana 的 deb 安装包,并按如下的命令来进行安装:

 sudo dpkg -i kibana-7.11.1-amd64.deb

一旦安装完成后,编辑 /etc/kibana/kibana.yml 并指定托管 Kibana 的 IP 地址。

 server_port: 5601 server_host: 0.0.0.0 server_name: demo-kibana

在上面,我们可以只修改 server_host 即可,其它的我们可以使用默认的配置即可。设置 server_host 为 0.0.0.0 为的是我们可以在其它的机器上访问当前的 Kibana。我们可以使用 Ubuntu 机器的 IP 地址加上端口 5601 就可以访问了。

启动 Kibana 并检查其状态。

 sudo service kibana start sudo service kibana status

如果我们能看到状态为 active,则表明我们的安装是成功。我们可以通过另外一个电脑来访问 Kibana:

你如果能看到上面的画面,则表明你的安装是成功的。

安装 Beats

Filebeat 用于将数据从设备传送到 Elasticsearch。 对于不同的产品,有许多不同的 Filebeat 模块,它们以所需的格式将日志和数据发送到 Elasticsearch。 在此示例中,我们将模块用于 Zeek,但是 Elastic 也扩展了其对其他产品的支持,包括 AWS,CrowdStrike,ZScaler 等。

目前,我们只打算在运行 Zeek 的主机上安装 Filebeat,我们稍后会对其进行配置。

 sudo apt-get install filebeat

对于中国有的开发者来说,上面的安装步骤可能会很慢,一种办法就是直接到网址 https://www.elastic.co/downloads/ 直接下载 Filebeat 的 deb 安装包,并按如下的命令来进行安装:

 sudo dpkg -i filebeat-7.11.1-amd64.deb

安装 Zeek

现在,我们准备着手安装 Zeek。 首先,我们需要安装所有必备组件。 通过运行以下命令来执行此操作。

 sudo apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev

接下来,我们需要为 Zeek 创建工作目录,由于某些原因,Zeek 在安装时默认不执行此操作。

 sudo mkdir /opt/zeek sudo chown -R root:root /opt/zeek sudo chmod 740 /opt/zeek

接下来下载带有 GIT 的 Zeek

 git clone --recursive https://github.com/zeek/zeek

等下载完文件,进入 zeek 下载目录。 然后将我们先前创建的 /opt/zeek 目录设置为安装目录。

 cd /home/$USER/zeek ./configure --prefix=/opt/zeek

在上面,我们假设你把 zeek 的文件 clone 到 home 目录下的 zeek 目录。现在,我们准备安装 Zeek,运行以下 make 命令,然后将其保留安装(这可能需要一些时间)

 make sudo make install

接下来,我们需要添加 PATH 环境变量

 export PATH=/opt/zeek/bin:$PATH

我们可以在 /opt/zeek/etc 找到一个叫做 node.cfg 的配置文件。

 # pwd /opt/zeek/etc root@liuxgu:/opt/zeek/etc# ls networks.cfg node.cfg zeekctl.cfg zkg

这个文件包含对 zeek 的节点配置。我们需要配置我们的 interface:

node.cfg

上面的 interface, 我们可以通过 ifconfig 命令来获得本机的接口。另外,我们需要安装 sendmail,否则在运行 zeek 时会发生无法找到 sendmail 的错误。

 sudo apt-get install sendmail

现在,我们准备运行下面的命令来部署 Zeek。我们需要在 root 账号下运行:

 zeekctl deploy

我们可以在 /opt/zeek/logs 目录里发现日志。“current” 目录保存当天的日志,而前几天的日志则存档到其自己的目录中。 还有一个针对不同数据类型的日志文件,例如 DNS 连接,HTTP 连接等。

让我们检查DNS日志

 # pwd /opt/zeek/logs root@liuxgu:/opt/zeek/logs# ls 2021-02-24 current

配置安全

就目前而言,我们在 ELK 部署中拥有的唯一功能是日志提取和可视化。 我们可以将日志提取到 Elastisearch 中,并通过 Kibana 可视化来处理数据,但是缺少 SIEM 的核心功能。 我们无法建立检测或用例。 此功能不是“开箱即用”的,要使用它,我们必须首先在所有不同节点之间配置安全性。 X-Pack 是 Elastic 软件包,它基本上负责所有 Elastic Security 功能。

所需的一个关键组件是配置每个节点之间的 SSL 连接,可以通过多种方法进行。 我们也将使用 X-Pack 来执行此操作。

首先,在安装了 Elasticsearch 的主机上,我们需要创建一个 YAML 文件 /usr/share/elasticsearch/instances.yml,它将包含我们要使用 SSL 保护的不同节点/实例。 就我而言,我只有 Elasticsearch,Kibana 和 Zeek。

/usr/share/elasticsearch/instances.yml

 instances: - name: "elasticsearch" ip: - "192.168.0.4" - name: "kibana" ip: - "192.168.0.4" - name: "zeek" ip: - "192.168.0.4"

接下来,我们将使用 Elastic 的 certutil 工具为我们的实例生成证书。 这也将生成一个证书颁发机构(Certificate Authority)。

 /usr/share/elasticsearch/bin/elasticsearch-certutil cert ca --pem --in instances.yml --out certs.zip

这将为我们的每个实例创建一个 .crt 和 .key 文件,以及一个 ca.crt 文件。你可以使用 unzip 来解压缩不同的证书。

 unzip /usr/share/elasticsearch/certs.zip -d /usr/share/elasticsearch/

现在我们有了我们的证书,我们可以配置每个实例。

配置 Elasticsearch SSL

首先,我们需要创建一个文件夹将你的证书存储在我们的 Elasticsearch 主机上。

 mkdir /etc/elasticsearch/certs/ca -p

接下来,我们需要将解压缩的证书复制到其相关文件夹中并设置正确的权限。

 cp ca/ca.crt /etc/elasticsearch/certs/ca cp elasticsearch/elasticsearch.crt /etc/elasticsearch/certs cp elasticsearch/elasticsearch.key /etc/elasticsearch/certs chown -R elasticsearch: /etc/elasticsearch/certs chmod -R 770 /etc/elasticsearch/cert

接下来,我们需要将 SSL 配置添加到我们的 /etc/elasticsearch/elasticsearch.yml 文件中。

/etc/elasticsearch/elasticsearch.yml

 # Transport layer xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.key: /etc/elasticsearch/certs/elasticsearch.key xpack.security.transport.ssl.certificate: /etc/elasticsearch/certs/elasticsearch.crt xpack.security.transport.ssl.certificate_authorities: [ "/etc/elasticsearch/certs/ca/ca.crt" ] # HTTP layer xpack.security.http.ssl.enabled: true xpack.security.http.ssl.verification_mode: certificate xpack.security.http.ssl.key: /etc/elasticsearch/certs/elasticsearch.key xpack.security.http.ssl.certificate: /etc/elasticsearch/certs/elasticsearch.crt xpack.security.http.ssl.certificate_authorities: [ "/etc/elasticsearch/certs/ca/ca.crt" ]

现在重新启动 Elasticsearch。

提示:
                    本文由整理自网络,如有侵权请联系本站删除!
                    
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!

-六神源码网