Papa Labs

Windows 事件日志默认 1MB:等你要查证据的时候,它早被覆盖了

审计要求提供 RDS(远程桌面)连接的历史记录,打开 Event Viewer 一看心凉了半截:Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational 这个日志的默认配置是——

  • Maximum log size: 1028 KB(对,1 MB)
  • When maximum event log size is reached: Overwrite events as needed (oldest events first)

一个活跃的 RDS 服务器,1 MB 大概只够存几周的连接事件。更早的记录?覆盖掉了,永远找不回来。

Log Properties 对话框:Maximum log size 1028 KB + Overwrite events as needed

事发现场(真实截图):1028 KB 上限 + 循环覆盖,这就是微软给你的默认值

哪些日志有这个问题

出事的不只这一个。Windows 的 Applications and Services Logs 下面大量 Operational 日志默认都是 1 MB 循环覆盖,而它们记录的恰恰是审计最常问的内容:

日志记录什么
TerminalServices-RemoteConnectionManager/OperationalRDS 连接尝试、来源(Event 1149 = 认证成功)
TerminalServices-LocalSessionManager/Operational会话建立/断开
Windows Logs/Security登录审计(4624/4625)——默认比 1MB 大,但对留存年限要求来说往往还是不够

变更(走审批后五分钟搞定)

Event Viewer → 对应日志右键 Properties

  1. Maximum log size 从 1028 KB 调大(我们按日志量和留存要求算:RDS Operational 日志调到几十 MB 就能覆盖一年以上);
  2. 保留策略维持 Overwrite(配合足够大的上限),或者按合规要求选 Archive the log when full
  3. 变更前后各截图存档——这本身就是审计证据(before/after)。

命令行批量做也行:

wevtutil sl "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational" /ms:52428800   # 50 MB
wevtutil gl "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational"                # 验证

顺手加一个失败登录监控

既然进了 Event Viewer,顺手给暴露 RDS 的服务器建一个 Custom View 盯失败登录:

  • Event log: Security,Event ID: 4625(An account failed to log on);
  • 4625 里值得看的字段:Logon Type 3(网络登录)、Status 0xC000006D + Sub Status 0xC000006A(用户名对、密码错——典型的爆破特征)、Workstation Name 和 Source Network Address(攻击来源);
  • 每周和 RSP 备份检查一起过一遍,异常来源直接进防火墙黑名单。

教训

  1. 日志保留是「出事前」的工作。等到要查的时候才发现 retention 不够,这个坑没有任何补救办法;
  2. 新服务器上架 checklist 里加一条:过一遍关键 Operational 日志的大小上限,五分钟的事;
  3. 审计要的不只是「现在的配置正确」,还有变更过程的证据——改 retention 这种小变更也值得留 before/after 记录。
← 全部文章