使用 Elastic 收集 Windows 遥测数据:ETW Filebeat 输入简介

作者:来自 Elastic Chema Martinez

在安全领域,能够使用 Windows 主机的系统遥测数据为监控、故障排除和保护 IT 环境开辟了新的可能性。意识到这一点,Elastic 推出了专注于 Windows 事件跟踪 (ETW) 的新功能 - 这是一种强大的 Windows 原生机制,用于捕获大量系统和应用程序事件。借助这些新功能,Elastic 用户可以使用 Elastic Search AI 平台捕获、分析和可视化 Windows 遥测数据。

什么是 ETW?

ETW 是一种轻量级、高性能的 Windows 原生机制,用于记录有关系统性能和活动(system performance and activity)的详细事件数据。与传统的 Windows 事件日志不同,ETW 使用户能够收集低级遥测数据,这些遥测数据可针对不同的提供商和场景进行定制,包括系统性能洞察和特定于应用程序的诊断。

在 Elastic 中集成 ETW 的动机

ETW 已广泛用于 Windows 环境中的诊断和性能监控,但收集和管理 ETW 数据传统上需要复杂的设置。通过将 ETW 功能直接集成到 Elastic 中,我们的目标是简化此过程,使在 Elastic 中收集、过滤和分析 ETW 事件以及其他系统和应用程序日志变得更加容易。

深入探究:Filebeat ETW 输入

Elastic 的新 ETW 功能的核心是 Filebeat 的 ETW 输入。此新输入允许 Filebeat 直接订阅 ETW 提供商,从而简化了收集、传输和处理 ETW 数据的方式。下面深入了解它的工作原理以及你可以使用它的方式。

Filebeat ETW 输入的工作原理

Filebeat ETW 输入(Filebeat ETW input)订阅 Windows 主机上的 ETW 会话。ETW 会话是来自 ETW 提供商的事件的逻辑分组,这些提供商本质上是遥测数据的来源,例如 Windows 内核和应用程序提供商。

Filebeat 中的 ETW 输入使用此订阅机制,实时收集数据并将其发送到 Elasticsearch 进行分析和可视化。它可以在三种灵活的模式下运行,并适应一系列数据收集场景,以满足实时和历史数据需求:

  1. 创建新会话:在此模式下,Filebeat 在 Windows 主机上初始化新的 ETW 会话以捕获来自用户模式提供商的事件。此设置非常适合需要从系统上当前运行的应用程序或服务获取实时数据的场景。通过创建专用会话,用户可以收集特定的遥测数据,而不会影响或依赖系统上预先存在的 ETW 会话。
  2. 附加到现有会话:Filebeat 还可以附加到已经活动的 ETW 会话,收集该会话中生成的持续事件数据。这种方法对于已在使用 ETW 会话的环境非常有用。它允许管理员与其他监控工作流一起捕获事件,而不会重复会话或影响系统性能。
  3. 从预先录制的 .etl 文件中读取:在某些情况下,ETW 数据可能会提前记录并存储在 .etl 文件中。Filebeat 可以解析这些文件,使用户能够分析历史事件数据。此模式对于回顾性分析特别有价值,用户可能希望根据先前捕获的 ETW 数据调查以前的系统或应用程序行为。

这种操作模式的灵活性使 Filebeat 的 ETW 输入能够适应各种用例 —— 无论是用于实时监控、取证分析还是操作故障排除。

技术工作流程概述

设置模式后,ETW 输入将遵循简化的流程来收集数据并将其发送到 Elastic:

  • 提供商订阅:Filebeat 根据用户配置发起对一个或多个 ETW 提供商的订阅,无论是通过创建新会话还是连接到现有会话。
  • 数据收集:从活动 ETW 会话捕获事件或从 .etl 文件中解析事件。ETW 记录被收集、解析并转换为 JSON 对象,以确保它们的结构一致,以便有效提取。此转换为 Elasticsearch 中的顺利索引做好了准备,使其能够与 Elastic 中的其他日志和指标数据无缝集成。
  • 传输到 Elasticsearch:收集事件后,它们将被发送到 Elasticsearch 进行存储和分析 - 并准备在 Kibana 中进行可视化。

示例用例:配置 ETW 输入

为了演示如何配置 Filebeat ETW 输入以从特定 ETW 提供程序捕获数据,我们以监控 Microsoft DNS 服务器提供程序为例。

要配置 Filebeat ETW 输入以监控 DNS 事件,我们可以使用 logman 命令行实用程序,该实用程序可以深入了解可用的 ETW 提供程序及其详细信息。logman 允许我们列出所有可用的提供程序,查看每个提供程序的清单,并检查可过滤关键字、跟踪级别和其他配置等详细信息。

在配置 Filebeat 以从特定提供程序收集事件之前,你可能需要查看系统中所有可用的 ETW 提供程序。要查看提供程序的完整列表,请运行以下命令:

PS> logman query providers

示例输出:

Provider                                 GUID
-------------------------------------------------------------------------------
Microsoft-Windows-Kernel-Process         {75A03DF8-6A47-4C6C-B0A0-FB37A13CA342}
Microsoft-Windows-Kernel-File            {EDD08927-9CC4-4E65-B970-C2560FB5C289}
Microsoft-Windows-Kernel-Network         {7DD42A49-5329-4832-8DFD-43D979153A88}
Microsoft-Windows-DNSServer              {EB79061A-A566-4698-9119-3ED2807060E7}
Microsoft-Windows-PowerShell             {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
...

此命令输出可用 ETW 提供程序的列表,显示每个提供程序的名称和唯一 GUID。通过找到感兴趣的提供程序,你可以记下其名称和 GUID 以用于配置目的。

要查看有关特定提供程序作为 Microsoft DNS 服务器的更多详细信息,请在命令 shell 中运行:

PS> logman query providers "Microsoft-Windows-DNSServer"

示例输出如下:

Provider                                 GUID
-------------------------------------------------------------------------------
Microsoft-Windows-DNSServer              {EB79061A-A566-4698-9119-3ED2807060E7}

Value               Keyword              Description
-------------------------------------------------------------------------------
0x0000000000000001  QUERY_RECEIVED
0x0000000000000002  RESPONSE_SUCCESS
0x0000000000000004  RESPONSE_FAILURE
0x0000000000000008  IGNORED_QUERY
0x0000000000000010  RECURSE_QUERY_OUT
0x0000000000000020  RECURSE_RESPONSE_IN
0x0000000000000040  RECURSE_QUERY_DROP
...
0x8000000000000000  Microsoft-Windows-DNSServer/Analytical Microsoft-Windows-DNS-Server/Analytical
0x4000000000000000  Microsoft-Windows-DNSServer/Audit Microsoft-Windows-DNS-Server/Audit

Value               Level                Description
-------------------------------------------------------------------------------
0x02                win:Error            Error
0x03                win:Warning          Warning
0x04                win:Informational    Information

PID                 Image
-------------------------------------------------------------------------------
0x00000354          C:\Windows\System32\dns.exe
0x00000354          C:\Windows\System32\dns.exe

从此输出中,我们可以看到提供程序 Microsoft-Windows-DNSServer 提供了几个关键字来过滤特定事件类型,例如 QUERY_RECEIVED、RESPONSE_SUCCESS、RESPONSE_FAILURE 等 - 每个关键字都由唯一的十六进制代码表示。此外,它还提供级别(错误、警告、信息),指定可以捕获的事件的严重性。

Filebeat ETW 输入提供过滤选项,允许你仅捕获来自特定提供程序的相关事件:

  • match_any_keyword:如果事件与指定的任何一个关键字匹配,则捕获事件。当你想要监控一系列不一定同时发生的事件类型时,这很有用。
  • match_all_keyword:仅当事件与所有指定的关键字匹配时才捕获事件。此选项非常适合高度特定的事件监控,其中事件必须同时满足多个条件。
  • trace_level:根据事件的严重性级别过滤事件,允许你指定是否仅捕获错误、警告或信息性消息。这有助于将监控工作集中在高优先级问题上。

logman 的输出列出了各种事件类型和相应的关键字,允许你选择要监控的特定事件。例如,如果你想要跟踪递归查询,你可以查找诸如 RECURSE_QUERY_OUT、RECURSE_RESPONSE_IN 或 RECURSE_QUERY_DROP 之类的关键字。要专门针对这些递归查询事件进行过滤,你可以计算它们的值的位掩码总和:

1. 确定每个关键字的十六进制值:

  • RECURSE_QUERY_OUT:0x0000000000000010
  • RECURSE_RESPONSE_IN:0x0000000000000020
  • RECURSE_QUERY_DROP:0x0000000000000040
  • Microsoft-Windows-DNSServer/Analytical(确保捕获分析事件):0x8000000000000000

2. 将这些值相加:

  • 0x8000000000000000 + 0x000000000000010 + 0x0000000000000020 + 0x0000000000000040 = 0x8000000000000070

此结果位掩码 0x8000000000000070 将在 match_any_keyword 配置中使用,以仅捕获这些特定的递归查询事件。

此方法允许对 ETW 输入所摄取的数据进行精细控制,确保你仅收集与你的监控需求相关的事件。

引入基于 ETW 的集成

除了 Filebeat ETW 输入之外,我们还引入了两个集成,它们可简化特定用例的 ETW 数据收集。

Microsoft DNS 服务器集成

监控 DNS 服务器分析日志对于维护网络基础设施的安全性和性能至关重要。常见的 DNS 攻击类型 — DNS 劫持、DNS 隧道、各种拒绝服务 (DoS) 攻击和 DNS 缓存中毒 — 对组织来说意味着重大风险。Windows DNS 分析日志记录是管理员和安全分析师需要了解的重要事件源。它提供了对网络上内部和外部发生的每个 DNS 事务的详细见解。

Microsoft DNS 服务器集成专注于收集 DNS 服务器审计和分析日志。通过此集成,组织可以轻松跟踪和分析 DNS 查询、响应和错误率 — 从而更深入地了解 DNS 活动。集成中包含的预构建仪表板允许用户深入研究 DNS 活动分析,而无需进行复杂的配置或大量设置。

Microsoft DNS 服务器分析仪表板

自定义 ETW 集成

自定义 ETW(custom ETW)集成使用户能够将 ETW 事件导入 Elastic,从而可以灵活地配置与任何兼容提供商的集成或从预先记录的 .etl 文件中读取。

这种适应性使用户能够捕获特定于提供商的数据(应用程序日志、系统性能指标或历史事件数据),以满足他们的监控需求。

尝试 ETW 输入

Elastic 中的新 ETW 输入揭示了监控和保护 Windows 环境的强大可能性。用户现在可以从依赖 ETW 的 Windows 应用程序和服务中收集详细的遥测数据,从而实时洞察系统性能、应用程序行为和潜在的安全风险。

此功能由内置集成(例如 Microsoft DNS 服务器集成)补充,这些集成使无需复杂设置即可轻松获得即时、可操作的洞察。

这些新功能只是 ETW 可以为 Elastic 用户带来的开始。我们很高兴你尝试这些功能、探索新的用例并分享你的反馈,以帮助我们继续在 Elastic 中发展 ETW 功能。要开始使用,请访问 ETW 输入(ETW input)页面获取设置说明,或在 Elastic Cloud 上免费试用这些功能。

本文中描述的任何功能或特性的发布和时间均由 Elastic 自行决定。任何当前不可用的功能或特性可能无法按时交付或根本无法交付。

原文:Collecting Windows telemetry with Elastic: An introduction to the ETW Filebeat input | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/922533.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.net core MVC入门(一)

文章目录 项目地址一、环境配置1.1 安装EF core需要包1.2 配置数据库连接二、使用EF创建表2.1 整体流程梳理2.1 建表详细流程三、添加第一个视图3.1整体流程梳理3.1 添加视图,并显示在web里四、使用EF增加Catogory数据,并且读取数据到页面4.1整体流程梳理4.2 实现五、增加Cat…

短视频矩阵矩阵,矩阵号策略

随着数字媒体的迅猛发展,短视频平台已经成为企业和个人品牌推广的核心渠道。在这一背景下,短视频矩阵营销策略应运而生,它通过高效整合和管理多个短视频账号,实现资源的最优配置和营销效果的最大化。本文旨在深入探讨短视频矩阵的…

决策回归树【原理/算例/决策回归树 VS 线性回归】

决策回归树 1. 决策回归树原理2. 决策回归树算例3. 手动计算MSE和最优划分属性4. 决策回归树 VS 线性回归 1. 决策回归树原理 决策回归树,虽然叫做“回归”树,但是它的本质还是分类算法,只是分的类别多一点。 1. 回归树的裂分指标 回归树种&…

基于STM32的智能鱼缸控制系统的Proteus仿真

文章目录 一、智能鱼缸控制系统1.题目要求2.思路2.1 主控2.2 传感器2.3 按键2.4 声光报警2.5 自动换水,喂食,供氧2.6 OLED显示2.7 电源部分2.8 远程终端 3.电路仿真3.1 未仿真时3.2 开始仿真,正常显示3.3 按下设置按键,进入阈值界…

【Python爬虫】Scrapy框架实战---百度首页热榜新闻

如何利用Scrapy框架实战提取百度首页热榜新闻的排名、标题和链接 一、安装Scrapy库 二、创建项目(以BaiduSpider为例) scrapy startproject BaiduSpider生成每个文件的功能: 二、 创建爬虫脚本(爬虫名:news&#xff…

mysql-分析MVCC原理

一、MVCC简介 MVCC是一种用来解决读写冲读的无锁并发控制,也就是为事务分配单增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照,所以MVCC可以为数据库解决一些问题。…

论文笔记:Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

1. 挑战/问题(Challenges/Issues): 这篇论文探讨了大型预训练语言模型在处理知识密集型自然语言处理(NLP)任务时面临的挑战。尽管这些模型在参数中存储了大量事实知识,并在微调后能够在下游NLP任务中取得很…

嵌入式硬件电子电路设计(六)LDO低压差线性稳压器全面详解

引言: LDO(Low Dropout Regulator,低压差线性稳压器)是一种常用的电源管理组件,用于提供稳定的输出电压,同时允许较小的输入电压与输出电压之间的差值。LDO广泛应用于各种电子设备中,特别是在对…

Spring:AOP面向切面案例讲解AOP核心概念

Spring的AOP,在不惊动(改动)原有设计(代码)的前提下,想给谁添加功能就给谁添加。这个也就是Spring的理念: 无入侵式/无侵入式 AOP中核心概念分别指的是什么? 连接点切入点通知通知类切面 下面以一个例子进行讲解,直接上代码&a…

禁止Chrome的自动升级

一、需求分析 因为用Chromeselenium做了网页自动化填写任务,如果Google Chrome浏览器自动升级,就会导致chromedriver加载失败,自动化任务失效,因此需要禁止Chrome浏览器的自动升级。 二、当前环境 三、实际配置 运行注册表编辑…

2024年wordpress、d-link等相关的多个cve漏洞poc

⚠️ 漏洞 ✅ CVE-2024-10914 在D-Link DNS-320、DNS-320LW、DNS-325和DNS-340L中发现的漏洞,版本直到20241028 GET /cgi-bin/account_mgr.cgi?cmdcgi_user_add&name%27;id;%27 HTTP/1.1✅ CVE-2024-11305 在Altenergy Power Control Software中发现的关键…

Spring框架特性及包下载(Java EE 学习笔记04)

1 Spring 5的新特性 Spring 5是Spring当前最新的版本,与历史版本对比,Spring 5对Spring核心框架进行了修订和更新,增加了很多新特性,如支持响应式编程等。 更新JDK基线 因为Spring 5代码库运行于JDK 8之上,所以Spri…

从搭建uni-app+vue3工程开始

技术栈 uni-app、vue3、typescript、vite、sass、uview-plus、pinia、axios 一、项目搭建 1、创建以 typescript 开发的工程 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project2、安装sass npm install -D sass// 安装sass-loader,注意需要版本10&…

WPF中的登录界面

创建如下的目录结构&#xff1a; 2.在App.xaml.cs中设置为先登录验证之后再进入主页面 using Prism.Ioc; using System.Windows; using 校园访客系统.Views;namespace 校园访客系统 {/// <summary>/// Interaction logic for App.xaml/// </summary>public partia…

ros2学习日记_241124_ros相关链接

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…

ETAS工具导入DBC生成Com协议栈

文章目录 前言DBC配置关键属性Cobra参数配置Cobra使用isolar工程配置总结前言 ETAS工具导入DBC主要也是生成arxml用的,ETAS推荐使用Cobra导入,本文介绍导入过程及注意事项 DBC配置关键属性 对于普通Com报文,配置为周期发送,及其周期,NmMessage配置为No,示例如下: 对…

Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化

Kafka&#xff1a;分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析&#xff1a;从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

如果在docker 容器中安装ros遇到的问题

1.在容器内部无法修改时间&#xff0c;需要在宿主机外边修改时钟。修改时钟&#xff1a; hwclock --systohc或者执行 date -s "2024-11-24 19:25:10"2.容器内部内置有opencv4.5版本&#xff0c;需要卸载&#xff0c;重新安装4.2.0版本。记录折腾好久的卸载过程。 …

排序(Java数据结构)

1. 排序的概念及引用 1.1 排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。(所有的排序都是默认从小到大排序) 稳定性&#xff1a;假定在待排序的记录序列中&#xff…

AutoDL安装docker问题

在AutoDL上租了卡&#xff0c;安装docker遇到一些问题&#xff1a; 1.执行 sudo docker run hello-world 报错 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方法 先查看docker有没有启动&#xff0c;…