windows系统严格故障转储访问策略需从文件权限、注册表、组策略和服务四层面协同加固:收紧转储目录所有权与acl,禁用ctrl+scroll/nmi等非授权触发机制,锁定crashcontrol键值并禁用wer,启用对象访问审核以追踪读写删除行为。
要为 windows 系统配置严格的故障转储访问策略,核心是控制谁可以读取、写入或修改转储文件(如 memory.dmp 或用户模式转储),并限制非授权进程或用户触发、生成、访问这些敏感调试数据。这不是单一开关,而是需从文件系统权限、注册表控制、服务配置和组策略四个层面协同加固。
限制转储文件的文件系统访问权限
默认情况下,系统在 %SystemRoot%\Memory.dmp 或自定义路径(如 E:\CrashDumps\)生成的转储文件,可能被 Administrators 组或 SYSTEM 全权控制,但普通用户甚至某些服务账户也可能继承宽松权限。必须主动收紧:
- 将转储目录(例如
E:\CrashDumps)的所有者设为SYSTEM,移除Users、Authenticated Users和Everyone的任何访问权限; - 仅保留
SYSTEM和Administrators的“完全控制”,且勾选“仅适用于此文件夹”(避免向下继承到子文件); - 对已存在的
Memory.dmp手动右键 → “属性” → “安全” → “高级”,禁用继承并清除无关权限条目; - 若使用用户模式本地转储(
LocalDumps),确保DumpFolder指向一个专用、权限隔离的路径(如C:\Windows\Debug\Crash),而非默认的%LOCALAPPDATA%(该路径对当前用户可读写)。
禁用非必要转储触发机制
严格策略要求杜绝未经审批的转储生成行为,尤其是人为强制崩溃功能:
- 删除或重命名注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScroll(PS/2 键盘)、kbdhid\Parameters\CrashOnCtrlScroll(USB 键盘)及hyperkbd\Parameters\CrashOnCtrlScroll(Hyper-V); - 确认未部署
NotMyFault或其他第三方崩溃工具,且禁止普通用户运行带调试权限的命令行工具; - 在组策略中禁用“调试程序”用户权限(
SeDebugPrivilege),仅授予指定诊断账户——路径:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权利分配; - 若无需内核级调试,可在 BIOS/UEFI 中禁用 NMI 按钮(针对物理服务器),或移除机箱上的 NMI 开关硬件连接。
通过注册表与组策略锁定转储行为
防止用户或脚本绕过图形界面修改关键设置:
- 将
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl下的AutoReboot、LogEvent、SendAlert全部设为1(启用),并配合组策略“阻止访问‘启动和恢复’设置”(路径:用户配置 → 管理模板 → 系统 → 系统管理 → 启动和故障恢复); - 禁用 Windows 错误报告(WER)的本地转储全局行为:将
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps项完全删除,或确保其下无有效DumpFolder值; - 使用组策略禁用 WER 服务本身:
计算机配置 → 管理模板 → Windows 组件 → Windows 错误报告 → 禁用 Windows 错误报告(设为“已启用”); - 对域环境,可通过 GPO 将
CrashControl注册表项设为只读(使用“注册表”策略 → “禁止用户修改注册表值”)。
审计与日志强化
严格策略不仅防访问,更要留痕:
- 启用对象访问审核:在“本地组策略编辑器”中启用
计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审计策略 → 对象访问 → 文件系统,并设为“成功+失败”; - 为转储目录(如
E:\CrashDumps)手动添加审核条目,监控ReadData、WriteData、Delete等操作; - 检查事件日志中的 ID 4100(WER 转储创建)、ID 1001(错误报告提交)、ID 41(意外关机)等,结合时间戳交叉验证异常访问;
- 定期导出并归档
Security日志,避免被本地管理员清除。











