前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【网安合规】使用 Promtail - 快速过滤收集Windows事件日志,合规利器!

【网安合规】使用 Promtail - 快速过滤收集Windows事件日志,合规利器!

作者头像
全栈工程师修炼指南
发布2024-04-17 18:05:43
960
发布2024-04-17 18:05:43
举报
前言简述

描述:在上一篇文章中,已经将 Windows Server 业务服务器通过 syslog 的方式将系统日志转发到 远程 rsyslog 日志服务器中,但是由于 rsyslog windows agent 诸多限制(太贵了),所以最终放弃了此方法,从而继续查看是否有其他更好的收集Windows 事件日志的方法,通过搜索引擎,最终找到 Promtail 采集 Windows Server 事件日志的配置方法,这里不得不说到国内关于使用 Promtail 采集 Windows Server 事件日志的资料很少,大多只是只言片语,所以作者在实践中遇到的许多的坑,最终是靠着Loki官方日志、和issue以及不断的尝试,这里记录下以便后续有需求的童鞋,也希望各位看友能多多支持《#网络安全攻防实践》专栏,收获一定大于付出。

此文实践效果展示:

温馨提示:如需下载一键安装PowerShell脚本以及Promtail 、rsyslog agent 工具的请在文末获取

weiyigeek.top-使用Powershell脚本快速部署抓取系统事件日志图

weiyigeek.top-Windows日志语系与时间时区图

weiyigeek.top-使用Grafana检索采集的Windows系统事件日志图

通过Loki官方文档提到,在 Windows 上,Promtail 支持读取事件日志,可以使用 Windows_events 节配置抓取 Windows Server 事件目标, 并发送到 Loki 服务器,其配置说明文档如下:

  • https://grafana.com/docs/loki/latest/send-data/promtail/scraping/#windows-event-log
  • https://grafana.com/docs/loki/latest/send-data/promtail/configuration/#windows_events

Windows_events 配置详述:

代码语言:javascript
复制
windows_events:
  # Promtail是否应该传递传入日志生成的时间戳,当为 false 时将当前时间戳分配给日志。
  [use_incoming_timestamp: <bool> | default = false]
  
  # 抓取新事件的时间间隔。默认目标每3秒检查一次。
  [poll_interval: <duration> | default = 3s]

  # 用于事件呈现的LCID(区域设置ID)
  # - 1033 to force English language
  # -  0 to use default Windows locale
  [locale: <int> | default = 0]

  # 事件日志的名称,仅当 xpath_query 为空时使用,更多日志可使用 `wevtutil el` DOS 命令查看事件日志名称。
  # Example: "Application" "System" "Security"
  [eventlog_name: <string> | default = ""]

  # xpath_query可以是定义的缩写形式,例如 "Event/System[EventID=999]",更多 XPath 查询语法请参考:
  # https://docs.microsoft.com/en-us/windows/win32/wes/consuming-events
  [xpath_query: <string> | default = "*"]

  # 书签包含目标在XML中的当前位置,当重新启动或推出Promtail时,目标将继续根据书签位置从它停止的地方刮取事件(特别注意:它是自动创建的)。
  [bookmark_path: <string> | default = ""]

  # 允许排除xml事件数据,自定义事件数据,以节省空间。
  [exclude_event_data: <bool> | default = false]
  
  # 允许排除人性化事件消息,建议启用
  [exclude_event_message: <bool> | default = false]
  
  # 允许排除 windows 事件的用户数据,自定义事件数据,以节省空间。
  [exclude_user_data: <bool> | default = false]
  
  # 添加到从windows事件日志读取的每条日志行的标签
  labels:
    [ <labelname>: <labelvalue> ... ]

温馨提示:默认情况下,事件每 3 秒定期抓取一次,但可以使用 poll_interval,若有要订阅特定事件流,您需要提供 eventlog_namexpath_query 参数

实践步骤:

Step 1.每一个Grafana-Loki版本都包含Promtail的二进制文件,此处作者使用v3.0.0版本的Promtail.

链接直达:

https://github.com/grafana/loki/releases/download/v3.0.0/promtail-windows-amd64.exe.zip

温馨提示:由于最新版本可能会根据时间的变化而变化,而不同的版本配置上有些许差异,若需要选择最新版本请自行测试如下配置是否可行,若不行请参考官方文档进行调整。

温馨提示:若无法访问Github下载promtail,请访问 https://d.serctl.com/ 镜像站来下载。

Step 2.将下载的 promtail-windows-amd64.exe.zip 压缩包上传到需要抓取系统事件日志的服务器上解压,然后按照下述示例配置 promtail.yaml 文件,作者添加了用Promtail 流水线阶段处理过滤审计需要关注的 Windows事件。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈工程师修炼指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Grafana 服务
Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档