在北山上

明日之花,绽放遍野。 欢迎到访,在北山上。

使用ELK及EQL语法搭建一套EDR

什么是 ELK

ELK 不是一款软件,而是ElasticsearchLogstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

  • Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能。
  • Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置。
  • Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示。

简单的 ELK 架构

流程如下:

  1. 先使用Filebeat把日志收集起来,然后把数据再传给Logstash
  2. 通过Logstash强大的数据清洗功能,最终把数据写入到Elasticsearch中;
  3. Kibana进行可视化。

Elasticsearch安装

前往官网下载,下载对应平台的软件包。

解压:

tar -zxvf ./elasticsearch-7.8.0-linux-x86_64.tar.gz

创建启动用户并启动应用:

adduser elasticsearch
passwd elasticsearch
chown -R elasticsearch elasticsearch-7.8.0
su elasticsearch
./elasticsearch-7.8.0/bin/elasticsearch -d

新版本会存在默认账号密码,默认账号为:elastic,密码可查找:

sudo cat /var/log/elasticsearch/elasticsearch.log | grep "password"

或者重新设置密码:

./elasticsearch-7.8.0/bin/elasticsearch-reset-password -u elastic

访问9200查看是否安装成功。

Kibana安装

前往官网下载,下载对应平台的软件包。

解压:

tar -zxvf kibana-6.4.0-darwin-x86_64.tar.gz

修改config/kibana.yml 配置文件:

server.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"

启动服务:

nohup ./bin/kibana >kibana.out &

访问5601查看是否安装成功。

启动后需要配置密钥,在使用elasticsearch目录bin文件夹下的elasticsearch-create-enrollment-token生成:

./bin/elasticsearch-create-enrollment-token --scope kibana

填入生成的内容即可。

Logstash安装

暂时不需要安装。

Kibana添加Windows中Sysmon视图

Sysmon安装

下载安装文件配置文件

将其放到同一路径,以管理员权限执行。

sysmon.exe -accepteula -i sysmonconfig-export.xml

更新配置文件命令为:

sysmon.exe -c sysmonconfig-export.xml

执行eventvwr在事件查看器中的应用程序和服务日志TOMicrosoftTOWindowsTOSysmon中查看。

Fleet安装

对于Server端,在Kibana界面Management 中的Fleet中选择:添加Fleet服务器。

填写服务器的名称和URL,会生成一段默认的下载和安装语句,安装即可。

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.14.1-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.14.1-linux-x86_64.tar.gz
cd elastic-agent-8.14.1-linux-x86_64
sudo ./elastic-agent install 
  --fleet-server-es=https://10.211.55.8:9200 
  --fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE3MTkyOTkyMzE1NzM6X2NIUDZfb19TZ1dEWlcwa3JtVUREdw 
  --fleet-server-policy=fleet-server-policy 
  --fleet-server-es-ca-trusted-fingerprint=16cac27b7a2bd1eff1f9d935ab4a6bca1a2a92fcf96855b4ed8c6e7e6347b527 
  --fleet-server-port=8220

对于Agent端,选择:添加代理,选择或创建新代理策略。

之后执行对应生成的语句。

$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.14.1-windows-x86_64.zip -OutFile elastic-agent-8.14.1-windows-x86_64.zip
Expand-Archive .elastic-agent-8.14.1-windows-x86_64.zip -DestinationPath .
cd elastic-agent-8.14.1-windows-x86_64
.elastic-agent.exe install --url=https://10.211.55.8:8220 --enrollment-token=azRQRVRwQUJ3MFdKd21FNnJDRTc6eXJDRXV2cmlRbnFzd05lUlI1YkgtQQ== --insecure

注意在默认的生成语句后添加:--insecure 来解决证书的问题。

对于ARMWindows可以使用msi进行安装,安装后利用enroll命令进行配置。

PS C:UsersshanjijianDesktop> .elastic-agent-8.14.1-windows-x86_64.msi
PS C:Program FilesElasticAgent> .elastic-agent.exe enroll --url=https://10.211.55.8:8220 --enrollment-token=azRQRVRwQUJ3MFdKd21FNnJDRTc6eXJDRXV2cmlRbnFzd05lUlI1YkgtQQ==  --insecure

添加集成策略

选择Agent的代理策略,选择添加集成,添加Windows 集成,在Discover界面中选择创建数据视图。

填写名称,索引模式等信息,索引模式信息为:logs-windows.sysmon_operational-default ,添加完成后即可查看。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注