使用 Windows 事件转发帮助进行入侵检测 (Windows 10) - Windows security | Microsoft Docs
了解有关从组织的设备中收集事件的方法。 本文同时讨论了正常操作情况下以及怀疑有入侵时的事件。
Windows 事件转发 (WEF) 读取组织中设备上的任何操作或管理事件日志,并将选择的事件转发到 Windows 事件收集器 (WEC) 服务器。
为了实现此功能,有两个不同的订阅发布到客户端设备 - 基线订阅和可疑订阅。 基线订阅注册组织中的所有设备,而“可疑”订阅仅包括已由你添加的设备。 Suspect 订阅收集更多事件,以帮助生成系统活动的上下文,并且可以根据需要快速更新以适应新事件和/或方案,而不会影响基线操作。
此实现有助于区分最终存储事件的位置。 基线事件可以发送到具有联机分析功能的设备,例如安全事件管理器 (SEM) ,同时还可以将事件发送到 MapReduce 系统(如 HDInsight 或 Hadoop)进行长期存储和更深入的分析。 由于音量和较低的信号/噪音比率,可疑订阅中的事件将直接发送到 MapReduce 系统,这些事件主要用于主机取证分析。
SEM 的优势在于能够检查、关联事件,并以计算机速度为已知模式方式和警报安全人员生成警报。
MapReduce 系统 (年比 SEM) 的保留时间更长,) 每天 (数百 TB 的入口能力更大,并且能够对数据执行更复杂的操作,例如统计和趋势分析、模式聚类分析或应用机器学习算法。
下面是 WEF 事件的近似缩放指南:
事件/第二个范围 | 数据存储 |
---|---|
0 - 5,000 | SQL 或 SEM |
5,000 - 50,000 | SEM |
50,000+ | Hadoop/HDInsight/Data Lake |
设备上的事件生成必须单独启用,或者作为基线 WEF 实现的 GPO 的一部分,包括启用已禁用的事件日志和设置通道权限。 有关详细信息,请参阅 附录 C - 事件通道设置 (启用和通道访问) 方法。 此条件是因为 WEF 是有关事件日志的被动系统。 它不能更改事件日志文件的大小、启用已禁用的事件通道、更改通道权限或调整安全审核策略。 WEF 仅查询现有事件的事件通道。 此外,如果设备上已发生事件生成,则可以更完整地收集事件,从而生成系统活动的完整历史记录。 否则,将限制 GPO 和 WEF 订阅刷新周期的速度,以更改设备上生成的内容。 在现代设备上,启用更多事件通道和扩大事件日志文件的大小不会导致明显的性能差异。
有关建议的最低审核策略和注册表系统 ACL 设置,请参 阅附录 A - 建议的最小最低审核策略 和 附录 B - 建议的最低注册表系统 ACL 策略。
注意: 这些只是满足 WEF 订阅选择的内容所需的最小值。
从 WEF 订阅管理的角度来看,提供的事件查询应在两个单独的订阅中使用,以方便维护:仅允许满足特定条件的计算机访问目标订阅,此访问权限将由算法或分析师的方向决定。 所有设备都应有权访问基线订阅。
此双重订阅系统意味着将创建两个基本订阅:
每个都使用下面各自的事件查询。 对于目标订阅,应将启用“读取现有事件”选项设置为 true,以允许从系统收集现有事件。 默认情况下,WEF 订阅只会转发客户端接收 WEF 订阅后生成的事件。
在 附录 E - 带批注的基线订阅事件查询 和 附录 F - 带批注的可疑订阅事件查询中,创建 WEF 订阅时将包含事件查询 XML。 这些订阅会为查询目的和清晰度进行批注。 可以删除或编辑单个 <查询> 元素,而不会影响查询的其余部分。
本部分介绍 IT 专业人员和客户的常见问题。
简短的回答是:否。
较长的答案是: Eventlog-forwardingPlugin/Operational 事件通道记录与设备上存在的 WEF 订阅相关的成功、警告和错误事件。 除非用户打开事件查看器并导航到该通道,否则他们不会通过资源消耗或图形用户界面弹出窗口注意到 WEF。 即使 WEF 订阅出现问题,也不会出现用户交互或性能下降的问题。 所有成功、警告和失败事件都记录到此操作事件通道。
可以将 WEF 订阅配置为推送或拉取,但不能同时进行两者。 使用推送或源启动的订阅可以实现最简单、最灵活、可伸缩性最高的 IT 部署。 WEF 客户端使用 GPO 进行配置,并激活内置转发客户端。 对于请求,收集器已启动,WEC 服务器上的订阅将预配置为要从中选择事件的 WEF 客户端设备的名称。 将提前配置这些客户端,以允许订阅中使用的凭据通过将凭据添加到 事件日志读取器 内置本地安全组来正常 (远程访问其事件日志。) 一个有用的方案:密切监视特定的计算机集。
WEF 很好地处理 VPN、RAS 和 DirectAccess 方案,并在重新建立与 WEF 收集器的连接时重新连接并发送任何累积的事件积压。
WEC 服务器在其注册表中维护每个 WEF 订阅的每个事件源的书签信息和上次检测信号时间。 当事件源重新连接到 WEC 服务器时,最后一个书签位置将发送到设备,以用作恢复转发事件的起点。 如果 WEF 客户端没有要发送的事件,则 WEF 客户端将定期连接以将检测信号发送到 WEC 服务器,以指示其处于活动状态。 可以为每个订阅单独配置此检测信号值。
是。 WEF 是不可知的传输,将通过 IPv4 或 IPv6 工作。
在域设置中,用于传输 WEF 事件的连接使用 Kerberos 进行加密,默认情况下, (以 NTLM 作为回退选项,可以通过使用 GPO) 来禁用。 只有 WEF 收集器才能解密连接。 此外,无论身份验证类型 (Kerberos 或 NTLM.) 有 GPO 选项可强制身份验证仅使用 Kerberos,WEF 客户端与 WEC 服务器之间的连接都会进行相互身份验证。
无论选择 HTTP 还是 HTTPS,都将执行此身份验证和加密。
如果使用基于证书的身份验证,则 HTTPS 选项是可用的,在这种情况下,基于 Kerberos 的相互身份验证不是一个选项。 SSL 证书和预配的客户端证书用于提供相互身份验证。
当与 WEC 服务器的连接丢失时,WEF 客户端计算机本地事件日志是 WEF 的缓冲区。 若要增加“缓冲区大小”,请增加所选事件的特定事件日志文件的最大文件大小。 有关详细信息,请参阅 附录 C – 启用的事件通道设置 (通道访问) 方法。
当事件日志覆盖现有事件 (导致数据丢失(如果设备未连接到事件收集器) )时,不会向 WEF 收集器发送从客户端丢失事件的通知。 也没有指示在事件流中遇到间隙的指示器。
WEF 有两种转发事件模式。 默认值为“呈现的文本”,包括事件的文本说明,就像在事件查看器中看到的一样。 此说明的包含意味着事件大小会根据呈现的说明的大小实际上增加一倍或三倍。 替代模式是“事件” (有时也称为“二进制”格式) - 这只是以二进制 XML 格式发送的事件 XML 本身 (,因为它将写入到 evtx 文件。) 此格式是紧凑的,可以是单个 WEC 服务器可以容纳的事件卷的两倍多。
可以通过 WECUTIL 实用工具将订阅“testSubscription”配置为使用事件格式:
syntax复制
@rem required to set the DeliveryMaxItems or DeliveryMaxLatencyTime
Wecutil ss “testSubscription” /cf:Events
事件传递选项是 WEF 订阅配置参数的一部分 - 有三个内置订阅传递选项:正常、最小化带宽和最小化延迟。 第四个名为“Custom”的 catch-all 可用,但无法使用事件查看器通过 WEF UI 进行选择或配置。 必须使用WECUTIL.EXE命令行应用程序选择和配置自定义交付选项。 所有订阅选项都定义最大事件计数和最大事件年龄,如果超过这两个限制,则会将累积的事件发送到事件收集器。
下表概述了内置交付选项:
事件传递优化选项 | 描述 |
---|---|
正常 | 此选项可确保事件的可靠传递,并且不会尝试节省带宽。 这是适当的选择,除非需要更严格地控制带宽使用情况或需要尽快传送的转发事件。 它使用拉取传递模式,一次批处理 5 个项目,并设置 15 分钟的批次超时。 |
最大程度地减少带宽 | 此选项可确保严格控制对事件传递使用网络带宽。 如果要限制为传送事件而建立的网络连接频率,则这是一个适当的选择。 它使用推送传递模式,并设置 6 小时的批处理超时。 此外,它使用 6 小时的检测信号间隔。 |
最大程度地减少延迟 | 此选项可确保以最小延迟传递事件。 如果要收集警报或关键事件,则这是一个适当的选择。 它使用推送传递模式,并设置 30 秒的批次超时。 |
有关传递选项的详细信息,请参阅 “配置高级订阅设置”。
主要区别在于从客户端发送事件的延迟。 如果没有内置选项满足要求,则可以从提升的命令提示符为给定订阅设置自定义事件传递选项:
syntax复制
@rem required to set the DeliveryMaxItems or DeliveryMaxLatencyTime
Wecutil ss “SubscriptionNameGoesHere” /cm:Custom
@rem set DeliveryMaxItems to 1 event
Wecutil ss “SubscriptionNameGoesHere” /dmi:1
@rem set DeliveryMaxLatencyTime to 10 ms
Wecutil ss “SubscriptionNameGoesHere” /dmlt:10
对于源发起的订阅:WEC 服务器上的每个 WEF 订阅都有其自己的 ACL,用于计算机帐户或包含计算机帐户的安全组 (不是用户帐户) 明确允许其参与该订阅或被显式拒绝访问。 此 ACL 仅适用于单个 WEF 订阅 (,因为给定 WEC 服务器) 上可以有多个 WEF 订阅,其他 WEF 订阅具有各自的单独 ACL。
对于收集器发起的订阅:订阅包含 WEC 服务器要从中收集事件的计算机列表。 此列表在 WEC 服务器上进行管理,用于订阅的凭据必须有权从 WEF 客户端读取事件日志 - 凭据可以是计算机帐户或域帐户。
是。 如果需要High-Availability环境,请使用相同的订阅配置配置多个 WEC 服务器,并将两个 WEC Server URI 发布到 WEF 客户端。 如果事件具有适当的访问权限,WEF 客户端将同时将事件转发到 WEC 服务器上配置的订阅。
有三个因素限制了 WEC 服务器的可伸缩性。 商品硬件上稳定 WEC 服务器的一般规则是,所有配置的订阅平均每秒规划 3,000 个事件。
磁盘 I/O。 WEC 服务器不处理或验证收到的事件,而是缓冲收到的事件,然后将其记录到本地事件日志文件 (EVTX 文件) 。 记录到 EVTX 文件的速度受磁盘写入速度的限制。 将 EVTX 文件隔离到自己的数组或使用高速磁盘可以增加单个 WEC 服务器每秒可接收的事件数。
网络连接。 虽然 WEF 源不与 WEC 服务器保持永久的持久连接,但它不会在发送其事件后立即断开连接。 这种宽大性意味着可以同时连接到 WEC 服务器的 WEF 源数仅限于 WEC 服务器上可用的开放 TCP 端口。
注册表大小。 对于连接到 WEF 订阅的每个唯一设备,都有一个注册表项 (对应于创建的 WEF 客户端) 的 FQDN,用于存储书签和源检测信号信息。 如果未删除此信息以删除非活动客户端,则这组注册表项可能会随时间推移增长到无法管理的大小。
下面列出了每个订阅收集的所有项,实际订阅 XML 在附录中可用。 这些项分为基线和目标项。 目的是将所有主机订阅到基线,然后根据需要注册 (并删除) 主机。
虽然此订阅似乎是最大的订阅,但它实际上是每个设备的最低数量。 (异常应允许异常的异常 - 执行复杂开发人员相关任务的设备可能会创建异常大量的进程创建和 AppLocker 事件。) 此订阅不需要在客户端设备上进行特殊配置即可启用事件通道或修改通道权限。
订阅实质上是应用于事件日志的查询语句的集合。 此订阅意味着它是模块化的,可以删除或更改给定的查询语句,而不会影响订阅中的其他查询语句。 此外,禁止筛选出特定事件的语句,仅适用于该查询语句,不适用于整个订阅。
为了从基线订阅中获取最大价值,我们建议在设备上设置以下要求,以确保客户端已生成要从系统转发的所需事件。
应用安全审核策略,该策略是建议的最低审核策略的超级集。 有关详细信息,请参阅 附录 A – 建议的最小最低审核策略。 此策略可确保安全事件日志生成所需的事件。
将至少Audit-Only AppLocker 策略应用到设备。
启用禁用的事件通道,并为新式事件文件设置最小大小。
目前,没有用于启用或设置新式事件文件最大大小的 GPO 模板。 必须使用 GPO 定义此阈值。 有关详细信息,请参阅 附录 C – 启用的事件通道设置 (通道访问) 方法。
可在以下内容中找到带批注的事件查询。 有关详细信息,请参阅 附录 F – 带批注的可疑订阅事件查询。
来自Microsoft Antimalware或Windows Defender的反恶意软件事件。 如果这些事件写入 Windows 事件日志,则可以轻松地为任何给定的反恶意软件产品配置这些事件。
安全事件日志进程创建事件。
AppLocker 进程创建事件 (EXE、脚本、打包应用安装和执行) 。
注册表修改事件。 有关详细信息,请参阅 附录 B – 建议的最低注册表系统 ACL 策略。
OS 启动和关闭
服务安装
证书颁发机构审核事件
用户配置文件事件
服务启动失败
网络共享访问事件
系统关闭启动请求
用户发起的交互式注销事件
远程桌面服务会话连接、重新连接或断开连接。
如果安装了 EMET,则为 EMET 事件。
事件转发插件事件
网络共享创建和删除
备注
设备启动时将重新创建所有共享。
登录会话
Windows 错误报告 (应用程序崩溃事件仅)
事件日志服务事件
清除了事件日志 (包括安全事件日志)
分配给新登录的特殊特权
出站远程桌面服务会话尝试
系统时间已更改
SMB 客户端 (映射驱动器连接)
帐户凭据验证
用户已添加或从本地管理员安全组中删除。
访问加密 API 私钥
任务计划程序任务的创建和删除
使用显式凭据登录
智能卡持有者验证事件
此订阅添加了一些可能的与入侵者相关的活动,以帮助分析师进一步优化他们对设备状态的确定。
为网络会话创建登录会话
RADIUS 和 VPN 事件
Crypto API X509 对象和生成链事件
分配给本地登录的组
登录会话退出
客户端 DNS 查找事件
进程退出
本地凭据验证或使用显式凭据登录
注册表修改审核事件
无线 802.1x 身份验证
Windows PowerShell日志记录
用户模式驱动程序框架“驱动程序已加载”事件
如果你的组织审核策略使更多的审核能够满足其需求,那也没关系。 下面的策略是启用基线订阅和目标订阅收集的事件所需的最低审核策略设置。
类别 | 子类别 | 审核设置 |
---|---|---|
帐户登录 | 凭据验证 | 成功和失败 |
帐户管理 | 安全组管理 | 成功 |
帐户管理 | 用户帐户管理 | 成功和失败 |
帐户管理 | 计算机帐户管理 | 成功和失败 |
帐户管理 | 其他帐户管理事件 | 成功和失败 |
详细跟踪 | 流程创建 | 成功 |
详细跟踪 | 流程终止 | 成功 |
登录/注销 | 用户/设备声明 | 未配置 |
登录/注销 | IPsec 扩展模式 | 未配置 |
登录/注销 | IPsec 快速模式 | 未配置 |
登录/注销 | 登录 | 成功和失败 |
登录/注销 | 在用户界面中, | 成功 |
登录/注销 | 其他登录/注销事件 | 成功和失败 |
登录/注销 | 特殊登录 | 成功和失败 |
登录/注销 | 帐户锁定 | 成功 |
对象访问 | 已生成应用程序 | 未配置 |
对象访问 | 文件共享 | 成功 |
对象访问 | 文件系统 | 未配置 |
对象访问 | 其他对象访问事件 | 未配置 |
对象访问 | 注册表 | 未配置 |
对象访问 | 可移动存储 | 成功 |
策略更改 | 审核策略更改 | 成功和失败 |
策略更改 | MPSSVC Rule-Level 策略更改 | 成功和失败 |
策略更改 | 其他策略更改事件 | 成功和失败 |
策略更改 | 身份验证策略更改 | 成功和失败 |
策略更改 | 授权策略更改 | 成功和失败 |
特权使用 | 敏感权限使用 | 未配置 |
系统 | 安全状态更改 | 成功和失败 |
系统 | 安全系统扩展 | 成功和失败 |
系统 | 系统完整性 | 成功和失败 |
Run 和 RunOnce 密钥可用于入侵者和恶意软件持久性。 它允许代码运行 (或仅运行一次,然后删除,分别) 用户登录到系统时。
此含义可以轻松扩展到注册表中的其他自动执行起始点密钥。
使用以下数字查看如何配置这些注册表项。
默认情况下,某些通道处于禁用状态,必须启用。 其他,如 Microsoft-Windows-CAPI2/Operational,必须修改通道访问权限,以允许事件日志读取器内置安全组从中读取。
此自定义的推荐和最有效方法是将基线 GPO 配置为运行计划任务,以配置事件通道 (启用、设置最大大小和调整通道访问) 。 此配置将在下一个 GPO 刷新周期生效,对客户端设备的影响最小。
以下 GPO 代码片段执行以下任务:
下面是 WEF 运行的最小步骤:
XML复制
*[EventData[Data[1]="S-1-5-18"]]
XML复制
*[EventData[Data[@Name="QueryOptions"]="140737488355328"]]
*[EventData[Data[@Name="QueryResults"]=""]]
可以使用以下链接获取详细信息: