这是ELK入门到实践系列的第三篇文章,分享如何使用ELK分析Windows事件日志。
Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
在本文,通过ELK 安全分析的视角,我们将能够检测异常的登录行为和不常见的可疑进程。
本系列文章前文欣赏:
(1):通过rsyslog搭建集中日志服务器
(2):使用ELK实时分析SSH暴力破解
Winlogbeat
使用Winlogbeat将Windows事件日志流传输到Elasticsearch。Winlogbeat 通过标准的 windows API 获取 windows 系统日志,常见的有 Application,Security 、System三个核心日志文件。winlogbeat 配置如下:
步骤一:安装Winlogbeat
1、下载并解压缩Winlogbeat
代码语言:javascript复制下载地址:https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-7.4.2-windows-x86_64.zip
2、安装Winlogbeat服务
以管理员身份打开PowerShell,在PowerShell提示符下,运行以下命令以安装服务。
代码语言:javascript复制cd "C:Program Files(x86)Winlogbeat".install-service-winlogbeat.ps1
如果在系统上禁用了脚本执行,则需要为当前会话设置执行策略以允许脚本运行。例如:
代码语言:javascript复制PowerShell.exe -ExecutionPolicy UnRestricted -File .install-service-winlogbeat.ps1。
步骤二:配置Winlogbeat
修改 C:Program FilesWinlogbeatwinlogbeat.yml
以设置连接信息:
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
# Optional protocol and basic auth credentials.
#protocol: "https"
#username: "elastic"
#password: "changeme"
填写要输出到es的地址,保存配置文件后,使用以下命令检查配置文件的正确性:
代码语言:javascript复制winlogbeat.exe test config -winlogbeat.yml -e
步骤三:启动 Winlogbeat
使用以下命令启动Winlogbeat服务
代码语言:javascript复制Start-Service winlogbeat
使用以下命令停止Winlogbeat服务:
代码语言:javascript复制Stop-Service winlogbeat
安装部署ES
1、安装
代码语言:javascript复制yum -y install elasticsearch
2、配置
代码语言:javascript复制cd /etc/elasticsearch/vi elasticsearch.yml network.host: 0.0.0.0 http.port: 9200
3、启动ES
代码语言:javascript复制/bin/systemctl daemon-reloadsystemctl start elasticsearch
基于ELK的SIEM
Kibana中的SIEM应用程序为安全分析提供了一个交互式工作区,可以分析主机相关和网络相关的安全事件。
创建索引,在SIEM界面,可以查到通过Winlogbeat从Windows事件日志提取主机事件。
点击查看主机,在主机界面,可以查看安全分析得到的结果,共包含五部分信息。
第一部分,接入日志的主机数量,用户身份验证情况,用户访问IP等汇总信息。
第二部分,接入日志的所有主机,包含主机名、最后看到事件、OS类型及版本。
第三部分,显示登录成功和失败的用户名、次数、登录时间等信息。
第四部分,显示不常见的进行,包含进程名,主机数目,命令及用户等信息。
第五部分,显示所有的安全事件,包含时间戳、主机名、日志类型、用户、源、消息等信息。
结语
在本文,基于Elastic Stack的SIEM,展现了强大的安全事件分析的能力,通过Winlogbeat收集Windows事件日志,以Elasticsearch的速度进行安全分析,使用Kibana中的SIEM应用程序浏览安全数据,以快速检测和响应安全事件。
当然,不只是Windows事件日志,借助Beats可以从任何你想要的地方提取数据,如审核事件、认证日志、DNS流量、网络流等。这只是初步的探索,如何更好的使用Elastic SIEM去发现并解决安全问题,才是我们接下来要深究的方向。在学习,也一直在路上,加油!