使用 Elasticsearch 和 Grafana 对 Active Directory 用户进行登录审核

我们通常被要求做的非常常见的事情是知道用户可以生成的登录和其他有趣信息的可能性. 在这篇文章中,我们将了解如何可视化: 他们何时登录, 他们关闭会话的时间, 不正确的登录尝试, 当计算机被锁定时, 或解锁, 或者当屏幕保护程序跳闸或已停用时…

实际上,正如我们所知,这种类型的信息记录在计算机的 Event Viewer 中, 域控制器可能会向我们提供一些记录, 和其他记录用户工作的计算机.

我们将在这篇文章中举的例子就像我说的, 收集团队事件, 我们会将它们集中存储在 Elasticsearch 中,然后使用 Grafana,我们将根据事件 ID 进行我们最感兴趣的查询. 我们将能够实时查看数据, 或直接搜索一段时间, 或直接询问特定用户. 然后我们在图形中可视化它们, 板, 或者我们想要的任何方式, 如果我们愿意,我们就会生成 PDF 报告 我们会通过电子邮件将它们发送给任何感兴趣的人.

所以很明显,我们首先需要一台 Elasticsearch 正在运行, 然后 我们将安装 Winlogbeat 在域控制器上. DC 的事件查看器将记录用户何时登录和错误登录. 如果我们想了解他们何时注销的数据, 或者我们在开始时讨论的当团队崩溃超时时, 或解锁时, 与屏幕保护程序相同, 如果屏幕保护程序跳转或停用怎么办. 我们需要在客户端计算机上安装 Winlogbeat.

最后,正如我们理解的那样, 事件查看器事件在 Elasticsearch 中收集,然后我们将查询任何标识符, 在这篇文章中,我们只看这些例子, 但还有许多其他可能性!

总结, 每个 Winlogbeat 的配置部分, 请记住,我们可以从那里直接过滤以引入所有类型的记录或仅引入我们感兴趣的记录, 在这种情况下, 我们正在讨论的内容将被记录在 'Security' 事件中, 因此,我们的 winlogbeat.yaml 或多或少是这样的:

winlogbeat.event_logs:
- 名字: 安全ignore_older: 72h setup.kibana:
  主机: "https://DIRECCION_IP_KIBANA:5601"
输出.elasticsearch:
  # 要连接到的主机数组.
  主机: ["https://DIRECCION_IP_ELASTICSEARCH:9200"]
  用户名: "用户"
  密码: "密码"

一旦我们有了 Elasticsearch 的支持,并且我们针对此索引从 Grafana 创建了 DataSource,我们就可以开始制作我们感兴趣的可视化. 我将做最基本的作, 一个表, 一个表格,我们将在其中以列出的格式查看我们感兴趣的字段,并按事件 ID 或事件 ID 的 ID 进行筛选.

例如, 查看注销 (当有人注销其用户时), 我们将进行一个非常简单的 Lucene 查询, 通过将 “事件代码: 4647” 这对我们来说已经足够了. 找出哪个 ID 做什么, 我将在帖子下方留下有关此主题的最有趣的 ID 列表. 一如既往的最好, 将从 Kibana 播放以发现其他类型的查询.

总, 具有 Table type 面板, 使用查询, 表示我们希望结果为 Raw 格式, 我们将其转换为 JSON 格式并选择要显示的字段, 我们也可以重命名或更改它们的格式. 查看图片以回答任何问题.

然后,我们可以创建任意数量的面板,以满足我们想要可视化的不同信息, 查看具有 ID 的登录 4624 我们将拥有它,或者可能拥有它 4768, 这取决于我们感兴趣的登录类型. 对于注销,我们可以按 ID 进行搜索 4647.

如果我们想看到不正确的登录信息,我们只需要查找 ID 4625.

如果我们想在计算机崩溃时搜索它们, 当用户会话被锁定时,我们将拥有事件 ID 4800 对于解锁,我们将按 ID 进行过滤 4801.

屏幕保护程序也是如此, 如果我们想知道它何时跳转到了计算机上, 我们将查找 ID 4802 在知道他们何时停用了屏幕保护程序的情况下,我们将拥有 ID 4803.

最后但同样重要的, 我们必须创建一个 GPO 才能启用 3 政策, 允许在 Teams 的事件查看器中收集此类信息, 从 Computer Settings > 政策 > Windows 设置 > 安全设置 > 高级审核设置 > 登录和注销:

  • 审核注销: 成功与错误
  • 审核登录: 成功与错误
  • 审核其他登录和注销事件: 成功与错误

我给你留下一份可能对你有用的事件清单:

审核策略的更改:
4719: 系统审核策略已更改.
4908: 更改了特殊组的登录表.

对审核身份验证策略的更改
4706: 已在域中创建新的信任.
4707: 已删除对域的信任.
4713: Kerberos 策略已更改.
4716: 受信任的域信息已被修改.
4717: 已向帐户授予系统安全访问权限.
4718: 已删除对帐户的系统安全访问权限.
4739: 域策略已被修改.
4865: 添加了受信任的林信息条目.
4866: 已删除受信任的林信息条目.
4867: 已修改受信任的林信息条目.
4706: 已为域创建新的信任.
4707: 已删除对域的信任.

计算机帐户管理审计
4741: 已创建计算机帐户.
4742: 计算机帐户已更改.
4743: 已删除计算机帐户.

DPAPI 活动审计
4692: 尝试备份 Data Protection Master Key.
4693: 已尝试恢复数据保护主密钥.
4695: 有人试图取消对可审计的受保护数据.

Kerberos 身份验证服务审核
4768: 已请求 Kerberos 身份验证票证 (TGT 餐厅)
4771: Kerberos 预身份验证失败
4772: Kerberos 身份验证票证请求失败

审计 Kerberos 服务票证的作
4769: 已申请 Kerberos 服务票据 (TGS系列)
4770: 已续订 Kerberos 服务票证

注销审核
4634: 用户帐户已注销.

登录审核
4624: 用户帐户已成功登录.
4625: 用户帐户无法登录, 凭据无效.
4648: 尝试使用显式凭据登录.

审核其他帐户登录事件
4648: 尝试使用显式凭据登录.
4649: 检测到重放攻击.
4800: 工作站已锁定.
4801: 工作站已解锁.
5378: 策略不允许请求的凭证委派

审计其他对象访问事件
4698: 已创建计划任务.
4699: 已删除计划任务.
4702: 已更新计划任务.

创建审计流程
4688: 已创建新进程.

审计安全组管理
4728: 已将成员添加到全局安全组.
4729: 已删除全局安全组的成员.
4732: 已将成员添加到启用安全性的本地组.
4733: 已启用安全性的本地组的成员已被删除.
4735: 已启用安全性的本地组已被修改.
4737: 已启用安全性的全局组已被修改.
4755: 已启用安全性的通用组已被修改.
4756: 已将成员添加到启用安全性的通用组.
4757: 已启用安全性的通用组的成员已被删除.
4764: 更改了组的类型.

审计安全系统扩展
4610: 本地安全机构已上传身份验证数据包.
4611: 已向本地安全机构注册受信任的登录进程.
4697: 已在系统上安装 服务


敏感权限使用审核
4672: 分配给新登录名的特殊权限.
4673: 已调用特权服务.
4674: 尝试对特权对象执行作.

特殊登录审核
4964: 已将特殊组分配给新登录帐户.

用户帐户管理审计
4720: 已创建用户帐户.
4722: 用户帐户已激活.
4723: 尝试更改帐户的密码.
4724: 尝试重置帐户密码.
4725: 用户帐户已被停用.
4726: 已删除用户帐户.
4738: 用户账户已被修改.
4740: 用户帐户已被锁定.
4765: 已将 SID 历史记录添加到帐户.
4766: 尝试将 SID 历史记录添加到帐户失败.
4767: 用户帐户已解锁.
4780: 已为属于 Admin 组成员的账户配置 ACL.
4794: 已尝试设置目录服务的恢复模式.

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!