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 大概只够存几周的连接事件。更早的记录?覆盖掉了,永远找不回来。

事发现场(真实截图):1028 KB 上限 + 循环覆盖,这就是微软给你的默认值
哪些日志有这个问题
出事的不只这一个。Windows 的 Applications and Services Logs 下面大量 Operational 日志默认都是 1 MB 循环覆盖,而它们记录的恰恰是审计最常问的内容:
| 日志 | 记录什么 |
|---|---|
TerminalServices-RemoteConnectionManager/Operational | RDS 连接尝试、来源(Event 1149 = 认证成功) |
TerminalServices-LocalSessionManager/Operational | 会话建立/断开 |
Windows Logs/Security | 登录审计(4624/4625)——默认比 1MB 大,但对留存年限要求来说往往还是不够 |
变更(走审批后五分钟搞定)
Event Viewer → 对应日志右键 Properties:
- 把 Maximum log size 从 1028 KB 调大(我们按日志量和留存要求算:RDS Operational 日志调到几十 MB 就能覆盖一年以上);
- 保留策略维持 Overwrite(配合足够大的上限),或者按合规要求选 Archive the log when full;
- 变更前后各截图存档——这本身就是审计证据(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(网络登录)、Status0xC000006D+ Sub Status0xC000006A(用户名对、密码错——典型的爆破特征)、Workstation Name 和 Source Network Address(攻击来源); - 每周和 RSP 备份检查一起过一遍,异常来源直接进防火墙黑名单。
教训
- 日志保留是「出事前」的工作。等到要查的时候才发现 retention 不够,这个坑没有任何补救办法;
- 新服务器上架 checklist 里加一条:过一遍关键 Operational 日志的大小上限,五分钟的事;
- 审计要的不只是「现在的配置正确」,还有变更过程的证据——改 retention 这种小变更也值得留 before/after 记录。