windows用户权限隔离需分层管控:一、远程桌面精确授权,移除administrators组;二、文件系统引入winfsp沙箱与sftp chroot;三、uac强制确认+gsudo隔离配置;四、收紧wmi、任务计划、powershell等底层接口权限。
windows 实现严格的用户权限隔离,关键不在“开不开管理员”,而在“谁能在哪做啥、能做多久、以什么上下文做”。它是一套分层控制体系,涵盖登录入口、进程行为、文件访问、服务调用和内核资源等多个层面。单靠禁用管理员账户或加密码远远不够。
一、远程桌面登录必须精确授权
远程桌面默认允许所有管理员登录,这是高危敞口。必须收缩到最小授权集合:
- 打开组策略编辑器(gpedit.msc),定位到:
计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权限分配 → 允许通过远程桌面服务登录 - 取消勾选“定义这些策略设置”,点击“添加用户或组”,只加入明确需要远程的账户(如 DOMAIN\devops01)
- 务必删除 Administrators 组——这是最常被忽略的风险点
- 同步检查系统属性中的“远程设置”→“选择用户”,确保与组策略一致,避免双路径冲突
二、文件系统级隔离不能只靠ACL
传统NTFS权限对横向移动防护有限。当多个用户共用一台机器(如设计工作站、测试终端),需引入内核级沙箱:
- 部署 WinFsp 并启用多用户沙箱模式,它为每个登录会话创建独立的文件系统实例,用户A打开的
D:\projects在内核中实际映射为完全隔离的地址空间 - 配合 OpenSSH SFTP 时,使用
ChrootDirectory+ForceCommand internal-sftp锁定用户仅能访问自己主目录,且无法执行任意命令 - 禁用符号链接跨沙箱跳转:在WinFsp配置中关闭
EnableSymlinks,防止用户通过软链逃逸到他人路径
三、进程与凭证生命周期必须受控
UAC弹窗不是摆设,而是权限隔离的第一道闸门。放任缓存会话等于交出临时管理员令牌:
- 全局禁用自动缓存:
gsudo config CacheMode Disabled,确保每次提权都强制UAC确认 - 启用UAC隔离增强:
gsudo config SecurityEnforceUacIsolation true,阻止低完整性进程伪造高权限请求 - 新窗口强制隔离:
gsudo config NewWindow.Force true,防止用户通过 cmd/powershell 启动未隔离的子进程继承权限 - 对关键运维工具(如
schtasks.exe、taskschd.msc)在组策略中直接禁用,从源头掐断计划任务篡改路径
四、系统底层资源访问要切断隐式通道
很多越权操作不走图形界面,而是通过WMI、PowerShell或服务接口完成:
- 收紧 Task Scheduler 服务ACL:在组策略中编辑该服务权限,仅保留 SYSTEM 和指定运维组的“启动/停止/读取”,移除 Users 和 Authenticated Users 的全部权限
- 限制WMI命名空间访问:在
ROOT\Microsoft\Windows\TaskScheduler中,撤回普通用户的“启用账户”和“远程启用”权限 - 禁用非必要PowerShell功能:通过组策略关闭脚本执行,或仅允许签名脚本;同时从标准用户组中移出 Performance Monitor Users 等隐含调度权限的组
- 对 TrustedInstaller 级资源(如 System32 驱动文件)不开放任何绕过手段,确需修改时使用 RunAsTI 工具并记录完整操作审计日志











