加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.028zz.com.cn/)- 高性能计算、基础存储、混合云网络、云安全、数据计算!
当前位置: 首页 > 建站 > 正文

Windows站点搭建常被忽视的3大权限安全断点

发布时间:2026-10-12 14:25:54 所属栏目:建站 来源:DaWei
导读:  Windows站点搭建常被忽视的3大权限安全断点——这个标题不是我拍脑袋想的,是我去年一月份在客户现场实打实扒出来的。当时那台Windows Server 2019标准版(补丁号KB5028973刚装完)跑着IIS 10.0,站点首页能打开,但上传文

  Windows站点搭建常被忽视的3大权限安全断点——这个标题不是我拍脑袋想的,是我去年一月份在客户现场实打实扒出来的。当时那台Windows Server 2019标准版(补丁号KB5028973刚装完)跑着IIS 10.0,站点首页能打开,但上传文件总报“拒绝访问”,连ApplicationPoolIdentity对C:\\inetpub\\wwwroot\\upload目录的写权限都给了,还是失败。查了三小时Event Viewer日志,最终发现是NTFS继承被手工清空后,子目录没重置——而这种操作,在自动化脚本批量部署时根本没人复核。


  第一断点:IIS应用池身份对临时ASP.NET编译目录无写权限。具体位置是C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\Temporary ASP.NET Files\\{站点Hash}\\,去年一月份我在三个客户环境里复现过——其中两个用的是自定义AppPoolIdentity(非默认ApplicationPoolIdentity),第三个干脆用了LocalSystem,但都没人意识到:哪怕你给wwwroot加了Full Control,.NET Framework仍会按进程令牌的实际SID去校验该临时目录的ACL。某教育局官网就因此导致.aspx页面首次加载超时47秒,监控显示HTTP 500错误突增182%,排查才发现该目录的Owner竟是SYSTEM,而AppPoolIdentity账户只挂了个“读取”权限条目,连“遍历文件夹/执行文件”都被显式拒绝。这真不是小概率事件——我抓包看到w3wp.exe调用CreateDirectoryExW失败后直接fallback到内存编译,性能跌了60%以上。技术上其实挺新:.NET 4.8之后引入了更细粒度的AssemblyLoadContext级隔离,可绝大多数运维还在用Web.config里硬扛,压根没动NTFS权限策略。


  第二断点更隐蔽:
LogonUserW API调用失败引发的匿名用户权限溢出。说白了就是IIS把“匿名身份验证”和“Windows身份验证”混搭时搞错了令牌提权路径。去年一月份某金融客户做等保加固,关闭了IUSR账户的密码缓存(注册表HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\HTTP\\Parameters\\EnableNegotiateOnUntrustedProxy=0),结果所有启用Windows认证的API接口,返回的HttpContext.User.Identity.Name却变成了IUSR-xxx而非域账号——因为LogonUserW在没有本地密码缓存支持下,自动降级为创建一个无特权交互式令牌,再被IIS错误映射到匿名上下文。我们抓了Wireshark发现SMB会话里Auth Type居然是0x03(NTLMv2 Session Response),但Server端NTLM解密后丢弃了Session Key,只留了个空SecurityContext。这种细节连微软文档都藏在KB4532947的附件里,没人翻。


文章配图,仅供参考

  第三断点?FTP发布根目录的SACL配置缺失。
别笑,真有人撞上过。去年一月份我审计某电商CDN源站时,发现他们用FileZilla Server配了被动模式FTP,但忘了在C:\\site\\wwwroot上设置“成功/失败”的对象访问审计策略(即SACL)。结果黑客上传webshell三天没被检测到——不是没触发告警,而是Windows Audit Policy根本没采集该事件ID:4663。Event ID 4663必须配合SACL里的“句柄复制”“写入数据”才生效,可大部分教程只教怎么设DACL。我用icacls C:\\site\\wwwroot /setintegritylevel "low" /t 强制低完整性级别后,反而暴露了FileZilla服务进程以LocalSystem运行却没禁用SeAssignPrimaryTokenPrivilege的问题——这属于权限设计反模式,但新技术确实在缓解它:Windows Server 2022开始支持基于虚拟账户(gMSA)的FTP服务实例,自动绑定最小化SACL规则,比手动配置可靠得多。

说实话,现在看这些断点,最讽刺的是——它们全都发生在默认配置看似“已开箱即用”的环节。我甚至怀疑微软故意留着这类缝隙,好让新版本的Credential Guard和LSA Protection模块有落地场景。下次再部署,得先用PowerShell跑一遍Get-Acl | Where-Object {$_.Access | ?{$_.FileSystemRights -match "Write|Modify"}} -PipelineVariable a | ForEach-Object {if ($a.Path -like "Temporary") {write-host "危险路径:" $a.Path}}——至少把那三个断点筛出来。

不过说实话,这套检查脚本我自己也没跑全,缺了对LSASS保护状态的实时钩子,今天先发个基础版吧。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!