Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Win 运维 | Windows Server 系统事件日志浅析与日志审计实践

Win 运维 | Windows Server 系统事件日志浅析与日志审计实践

作者头像
全栈工程师修炼指南
发布于 2024-04-17 10:04:47
发布于 2024-04-17 10:04:47
88500
代码可运行
举报
运行总次数:0
代码可运行
0x00 前言简述

首先,由于企业网络安全等级保护要求以及安全运维工作的需求,企业安全运维人员需要了解企业内各业务系统的安全事件,以便及时发现并处理安全事件。当下在企业中仍有占有一定量的业务运行在 Windows Server 操作系统中,因此了解 Windows 事件日志对于企业安全运维人员来说是十分必要的。

Windows 事件日志是 Windows 系统安全事件以及错误信息记录的地方,可以帮助你识别和解决各种问题,例如,安全认证审核、应用程序崩溃、系统错误等,此外由于等保审计需求,需要配置 Windows 事件的审计功能,并在事件日志存储在本地服务器上的同时,还需上传到企业的中心日志服务器中(Rsyslog、Loki(PLG 技术栈)、Elasticsearch(ELK技术栈)),更有甚者将其载入到 Grafana 可视化,以备后续发生安全事件时,网络安全工程师可以及时的检索日志以溯源跟踪。

所以本文能够帮助你更好地理解和使用 Windows 事件日志,以及让你企业中 Windows 服务器满足等保日志审计要求,让运维更加便利,系统更加的安全,希望大家能多多支持此《#运维从业必学》专栏!

本章日志审计实践效果如下图所示:

weiyigeek.top-自定义用户登录日志记录批处理文件图

weiyigeek.top-windows中使用Promtail采集审计关键日志图

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

温馨提示:作者最近开通的知识星球,全栈系列从门到实践教程将会逐步同步到星球内(实时更新),加入星球将获得作者在安全、运维、开发(Sec、Ops、Dev)中的所有学习实践笔记,和问题答疑以及远程技术支持,希望大家多多支持!

0x01 日志知识

什么是 Windows 事件日志?

描述:Windows 操作系统在其运行的生命周期中会记录其大量的日志信息,包括:Windows 事件日志(Event Log),IIS 应用日志,FTP 应用日志,Exchange Server 邮件服务日志 以及 MSSQL Server 数据库日志等,并且涵盖了应用程序错误、系统错误等,此外,遇到应用程序频繁崩溃或蓝屏死机(BSOD),Windows 会记录应用程序异常信息,以及在系统崩溃时创建一个日志来记录崩溃原因,便可以追溯问题发生的原因,了解计算机的健康状况,以及排除故障。

此处,Windows 系统内置的三个核心(System,Security 和 Application)事件日志文件,其默认大小均为 20480KB(20MB),记录事件数据超过 20MB 时,默认系统将优先覆盖过期的日志记录,其它应用程序及服务日志默认最大为 1024KB,超过最大限制也优先覆盖过期的日志记录,当然我们可以根据实际需求进行更改,具体修改可继续参考后续章节。

weiyigeek.top-通过windows事件查看器安全日志属性配置图

温馨提示:有时错误信息很直观,可以一目了然地帮助我们解决问题(完结撒花 🎉),但是有时却只有一个错误代码,例如 0xC000021A(一脸懵 X😳),此时就需要通过查询 Microsoft 知识库、上网进一步搜索,或咨询专业系统运维工程师来找到详细的解决方法。

  • Microsoft 知识库:提供了有关事件日志的详细信息和解决方案, 直达 [https://learn.microsoft.com/en-us/troubleshoot/]。
  • Microsoft 支持社区:可以就特定事件 ID 和错误代码寻求帮助, 直达 [https://answers.microsoft.com/zh-hans]。

Windows 事件日志分类

描述:Windows 事件日志可分为 Windows 日志应用程序和服务日志两大类,了解这些类别有助于在出现问题时迅速定位相关日志,缩小排查范围。

Windows 日志

  • System:即系统日志,包含 Windows 系统组件记录的事件。例如,在启动过程中加载驱动程序或其他系统组件失败将记录在系统日志中。
  • Security:即安全日志,包含系统安全相关的事件。例如,记录用户登录、注销、系统启动和关闭、用户帐户管理、密码策略更改等安全相关的事件。
  • Application:即应用程序日志,包含由应用程序或程序记录的事件。例如,数据库程序可在应用程序日志中记录文件错误,程序开发人员决定记录哪些事件。
  • Setup:即安装程序日志,包含 Windows 组件及补丁更新安装相关的事件。例如,Windows 安装程序在安装过程中记录事件。
  • Forwarded:即转发日志,包含从其他设备转发过来的事件日志。例如,远程服务器登录失败、网络连接中断等事件。

应用程序和服务日志

  • Microsoft:包含了 200 多个微软内置的事件日志分类,只有部分类型默认启用记录功能,如远程桌面客户端连接、无线网络、有线网路、设备安装等相关日志。
  • Internet Explorer:包含 IE 浏览器应用程序的日志信息,默认未启用,需要通过组策略进行配置。
  • Windows PowerShell:包含 PowerShell 应用的日志信息。
  • Key Management Service: 包含密钥管理服务的日志信息。
  • HardwareEvents:包含硬件事件日志信息。

温馨提示:上述类别的日志都是存放在磁盘的 %SystemRoot%\System32\Winevt\Logs\ 目录中,如下图示:

weiyigeek.top-Windwos日志存放路径与名称图

Windows 事件日志级别

描述:在 Windows 事件日志中根据事件的重要性,事件日志可以分为以下 5 种类型(英文语系下是数字标号表示):

  1. Information(信息): 记录正常运行的事件, 例如:启动服务、关闭服务等。
  2. Warning(警告): 提示潜在问题的事件, 例如: 磁盘空间不足、网络连接中断等。
  3. Error(错误): 表示出现严重问题的事件, 例如: 硬件故障、系统崩溃等。
  4. Success audit(审核成功): 记录安全审核成功的事件, 例如: 用户登录、用户注销等。
  5. Failure audit(审核失败): 记录安全审核失败过的事件,例如: 用户登录失败、用户注销失败等。

通常情况,运维人员会特别关注警告错误级别的事件日志,它们通常和系统故障紧密相关。

Windows 事件日志属性

描述:Windows 事件日志文件实际上是以特定的数据结构的方式存储内容,其中包括有关于系统,安全,应用程序的事件记录,每个记录事件的数据结构中包含如下 10 个常规日志属性(可以理解成数据库中的字段),当发生安全事件时应急响应工程师可以根据日志取证,了解计算机上上发生的具体行为。

常规日志属性:

  • 日志名称:事件所属的类型。
  • 来源:产生事件的应用或组件。
  • 事件 ID:用于识别具体事件的编号。
  • 级别:事件的严重程度,比如信息警告错误等。
  • 用户:事件发生时的用户账户。
  • 操作代码:别称 OpCode,记录触发事件时所执行的操作。
  • 记录时间:事件发生的具体时间。
  • 任务类别:用于表示事件发行者的子组件或活动,用于提供事件更多细节的分类。
  • 关键字:用于分类事件赛选的关键词,常见的有经典审核成功审核失败响应时间
  • 计算机:记录事件的计算机名称。

weiyigeek.top-图

知识扩展:Windows 事件日志元数据 xml 内容示例说明

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 根元素 <Event>: 指定XML文档遵循的架构或规范。-->
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
<!--  <System> 元素: 提供了事件的元数据。-->
<System>
  <!-- 事件的提供者 -->
  <Provider Name='Microsoft-Windows-Security-Auditing' Guid='{54849625-5478-4994-a5ba-3e3b0328c30d}'/>
  <!-- 事件的唯一标识符,例如此处是注销 -->
  <EventID>4634</EventID>
  <Version>0</Version>
  <!-- 重要性或严重性级别 -->
  <Level>0</Level>
  <!-- 事件相关的任务或操作的标识符 -->
  <Task>12545</Task>
  <!-- 操作代码,表示事件的特定类型或子类型 -->
  <Opcode>0</Opcode>
  <!-- 与事件相关的关键字,用于过滤或搜索事件 -->
  <Keywords>0x8020000000000000</Keywords>
  <!-- 事件创建的时间 -->
  <TimeCreated SystemTime='2020-08-24T18:45:50.181682600Z'/>
  <!-- 事件的记录ID,确保事件在日志中的唯一性 -->
  <EventRecordID>138280</EventRecordID>
  <Correlation/>
  <Execution ProcessID='668' ThreadID='11916'/>
  <!-- 事件所属的主机 -->
  <Computer>WEIYIGEEK.TOP</Computer>
  <!-- 事件所属的通道 -->
  <Channel>Security</Channel>
  <!-- 通常是一个空元素,也表示事件所属的通道。 -->
  <Security/>
</System>

<!-- <EventData> 元素:包含事件的具体数据 -->
<EventData>
<!-- 如目标用户的SID、用户名、域名、登录ID和登录类型 -->
  <Data Name='TargetUserSid'>S-1-5-21-3059585724-171103038-3195841082-500</Data>
  <Data Name='TargetUserName'>weiyigeek</Data>
  <Data Name='TargetDomainName'>WEIYIGEEK.TOP</Data>
  <Data Name='TargetLogonId'>0xec6d372</Data>
  <Data Name='LogonType'>7</Data>
</EventData>

<!-- <RenderingInfo> 元素: 显示为人类可读的形式提供了事件的描述 -->
<RenderingInfo Culture='zh-CN'>
  <Message>已注销帐户.....登录 ID 是唯一的。</Message>
  <Level>信息(Info)</Level>
  <!-- 表示关机任务 -->
  <Task>Logoff</Task>
  <Opcode>信息</Opcode>
  <Channel>Security</Channel>
  <Provider>Microsoft Windows security auditing.</Provider>
  <Keywords>
    <Keyword>审核成功</Keyword>
  </Keywords>
</RenderingInfo>
</Event>

Windows 事件ID标识

描述:Windows 事件 ID 是 Windows 事件日志中记录的事件的唯一标识符,每个事件 ID 都对应一个事件,作为安全运维人员应该熟知常见的一些事件ID,用于在发生网络安全应急事件中快速定位相关问题及事件。

安全(Security)类别常见事件 EventID:

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
DOS 命令 | 每日一学,wevtutil 快速检索 Windows 系统事件日志元数据
Windows 事件日志是记录系统事件和错误信息的宝库。可以帮助你识别和解决各种问题,例如应用程序崩溃、系统错误和安全审核等。
全栈工程师修炼指南
2024/04/17
1K0
DOS 命令 | 每日一学,wevtutil 快速检索 Windows 系统事件日志元数据
[ffffffff0x] 安全蓝队 : windows日志检索和分析
在运维工作过程中,如若windows服务器被入侵,往往需要检索和分析相应的安全日志。除了安全设备,系统自带的日志就是取证的关键材料,但是此类日志数量庞大,需要高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。
r0fus0d
2021/01/06
3.2K0
[ffffffff0x] 安全蓝队 : windows日志检索和分析
Windows 7上IIS出现http 500错误
昨天开始在我的windows7上出现了Http 500错误,查看系统的应用程序日志,有如下两条错误: 1: 日志名称: Application 2: 来源: Microsoft-Windows-IIS-W3SVC-WP 3: 日期: 2010/8/7 20:58:37 4: 事件 ID: 2268 5: 任务类别: 无 6: 级别: 错误 7: 关键
张善友
2018/01/19
1.7K0
Window日志分析
Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
Bypass
2019/07/08
2.1K0
Window日志分析
Windows系统日志分析工具– Log Parser「建议收藏」
可参考文章:日志分析工具 LogParser 学习笔记_Memetali_ss的博客-CSDN博客 写完才看见。吐了
全栈程序员站长
2022/10/04
4.6K0
Windows系统日志分析工具– Log Parser「建议收藏」
Windows 操作系统安全配置实践(安全基线)
描述: 由于最近工作和学习的需要就将针对于Windows系统的一些安全配置做了如下记录,便于后期的知识结构化,并在后续的工作继续进行添加安全加固的一些技巧,同时希望广大的大佬也能多多扩充安全加固配置项,可以通过邮箱、博客、以及公众号联系我。
全栈工程师修炼指南
2022/09/28
4.7K0
Windows 操作系统安全配置实践(安全基线)
闲聊Windows系统日志
最近遇到不少应急都提出一个需求,能不能溯源啊?这个事还真不好干,你把证据,犯案时间都确定的时候,要求翻看监控(日志)对应犯罪嫌疑人时,突然说监控(日志)没有记录。不过现在都要求保留至少6个月的日志,因此这种原因会少了很多,然而我对于Windows中系统日志不了解,在解读时经常摸不着头脑,所以就认真的分析了evtx格式的系统日志。这篇文章可能记录的不是很全面,师傅们多多指教。
FB客服
2018/07/30
12K0
闲聊Windows系统日志
【网安合规】使用 Promtail - 快速过滤收集Windows事件日志,合规利器!
描述:在上一篇文章中,已经将 Windows Server 业务服务器通过 syslog 的方式将系统日志转发到 远程 rsyslog 日志服务器中,但是由于 rsyslog windows agent 诸多限制(太贵了),所以最终放弃了此方法,从而继续查看是否有其他更好的收集Windows 事件日志的方法,通过搜索引擎,最终找到 Promtail 采集 Windows Server 事件日志的配置方法,这里不得不说到国内关于使用 Promtail 采集 Windows Server 事件日志的资料很少,大多只是只言片语,所以作者在实践中遇到的许多的坑,最终是靠着Loki官方日志、和issue以及不断的尝试,这里记录下以便后续有需求的童鞋,也希望各位看友能多多支持《#网络安全攻防实践》专栏,收获一定大于付出。
全栈工程师修炼指南
2024/04/17
6890
【网安合规】使用 Promtail - 快速过滤收集Windows事件日志,合规利器!
win7资源管理器不断崩溃重启
===========================================================
horsley
2022/08/16
8510
Window日志分析
前提:开启审核策略,若日后系统出现故障、安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等。
全栈程序员站长
2022/09/07
6500
Window日志分析
Windows日志分析工具_Windows7激活工具
1.日志文件位置 控制面板→ 管理工具 → 事件查看器 或者win + R:eventvwr.msc
全栈程序员站长
2022/10/03
1.1K0
Windows日志分析工具_Windows7激活工具
系统日志信息查看一览表
描述:Windows 事件命令行实用程序,用于检索有关事件日志和发布者的信息,安装和卸载事件清单,运行查询以及导出、存档和清除日志。
全栈工程师修炼指南
2022/09/28
8690
系统日志信息查看一览表
Linux 命令 | 每日一学,Audit 安全审计相关工具
描述: Linux 审计系统提供了一种方式来跟踪系统上与安全相关的信息。根据预配置的规则,审计会生成日志条目,来尽可能多地记录系统上所发生的事件的相关信息。对于关键任务环境而言至关重要,可用来确定安全策略的违反者及其所执行的操作。审计不会为您的系统提供额外的安全,而是用于发现系统上使用的安全策略的违规。可以通过其他安全措施(如 SELinux)进一步防止这些违规。
全栈工程师修炼指南
2024/04/10
1.7K0
Linux 命令 | 每日一学,Audit 安全审计相关工具
Windows系统日志分析_windows日志命令
本文使用的环境为我前面博客中介绍的搭建方法。具体链接请参考windows日志转发_leeezp的博客-CSDN博客_windows日志转发 安装 ewk (es+winlogbeat+kibana) 转发主机日志_leeezp的博客-CSDN博客
全栈程序员站长
2022/10/04
5.2K0
Windows系统日志分析_windows日志命令
各种日志分析方式汇总
Windows 系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
信安之路
2019/07/05
6.2K0
各种日志分析方式汇总
运维 | 在企业环境中快速安装配置 Win Server 2022 服务器操作系统
描述:在上一篇文章中,我们提到过 Server 2022 发布于 2021 年 8 月,是迄今为止(2024年3月20日 09:15:07)Windows 在服务器操作系统中最新的版本(PS: 不过听说 Windows Server 2025 也快了),它建立在Windows Server 2019之上,带来了许多针对虚拟化、存储、安全性和Windows Admin Center 管理的改进以及Azure集成,使得它成为一个更加强大、安全和高效的服务器操作系统。
全栈工程师修炼指南
2024/03/25
1.9K0
运维 | 在企业环境中快速安装配置 Win Server 2022 服务器操作系统
Windows主机日志分析办法与思路
看到有人问,windows主机日志怎么做分析,今天就分享一篇文章专门来说说windows主机日志分析。以下所有内容皆属于个人以往工作经验总结出来的,不是什么权威的行业标准,纯属个人理解,仅供参考使用。
FB客服
2021/01/22
1.4K0
安全运维 | RDP登录日志取证和清除
EventID=4624,从安全日志中获取登录成功的客户端登录ip、登录源端口、登录时间等信息
安全小王子
2023/02/25
2.4K0
安全运维 | RDP登录日志取证和清除
蓝队技术 | 使用Sysmon日志识别和分析Windows恶意活动
在开始本文的内容之前,我们需要先在脑海里记住以下几个问题,并带着这些问题来阅读本文:
FB客服
2024/05/17
7360
蓝队技术 | 使用Sysmon日志识别和分析Windows恶意活动
2024全网最全面及最新且最为详细的网络安全技巧 十一:应急响应系列之Windows,Linux及Web日志分析入侵排查;(2)[含2024护网行动各厂商面试精题及全网查杀工具整合]
Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
盛透侧视攻城狮
2024/10/21
1540
推荐阅读
相关推荐
DOS 命令 | 每日一学,wevtutil 快速检索 Windows 系统事件日志元数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验