IIS权限总出错?5大Windows安全盲区揭秘
|
我原以为IIS权限就是把那个IUSR用户加进IIS_IUSRS组完事,结果上周三灰度切流后白屏,运维甩来日志就一行“HTTP Error 500.19 - Internal Server Error”,连具体模块都没标——跟没写一样。 你记得吧?上周四联调前我跟你吐槽过,说那个ASP.NET Core站点在自己电脑上跑得好好的,连热更新都丝滑,结果一上预发就401,查了两小时发现是应用池身份改了但没重置物理路径权限。不是代码问题,是Windows安全策略它不认你人眼判断,只认ACL那几行字节顺序。真机崩那一刻我盯着控制台输出,鼠标悬停在F5上,手指都在抖——不是怕出事,是怕又要重装Web管理工具。 水杯底结了一圈渍,我拿纸巾擦的时候顺手把桌角那根缠成团的数据线拽松了半截。王磊在隔间开外放会议,声音断续传来:“……这个需求要兼顾兼容性……” 哦对,他昨天还在群里问“为什么我的IE11调试面板打不开”,没人回。机箱风扇一直在转,比平时响,估计是CPU占着IIS那个后台进程没释放。 五大盲区?其实就俩人踩过:一个是张薇,她把web.config里节点删了想精简配置,结果静态文件全挂;另一个是新来的实习生小陈,给发布目录开了Everyone完全控制,上线十分钟就被安全扫描器标红,邮件抄送到了CTO邮箱。你说优胜劣汰?对。活下来的全是被500错误锤过三次以上的——第一次删目录权限,第二次改应用池账户,第三次才想起来看父目录的继承开关关没关。 浏览器开了三十来个标签,其中八个是不同环境的Kibana查询页,两个是PowerShell远程桌面会话,剩下全是各种版本的IIS文档PDF——不是我看,是查错时点开又关掉,像翻抽屉找钥匙。构建进度条卡在百分之八十七,Webpack在那边干耗着,我切过去看,就剩一个dll-reference-manifest.json没生成。我点了终止,结果热更新反而弹了个警告:“Hot Module Replacement is disabled because bundle size exceeds maxBundleSize.” 我都不知道这警告啥时候出来的。 第一大盲区:你永远不知道谁动了“继承权限”开关。公司域控推过一次组策略更新,把所有服务器D盘的默认继承关了,我们这边仨站点全跪,不是报错,是根本连不上——IIS连自己的临时缓存目录都进不去,log都写不出来。运维说“这策略三年前就推了”,我说三年前我们还没用这个盘呢。他们改策略不发通告,我们改权限不写注释,最后全是靠“上次出问题时谁碰过谁背锅”来定位。 第二大盲区:AppPoolIdentity这个账号名字听起来像虚拟账号,但它在磁盘ACL里是真实存在的实体,而且SID长得反人类。你用计算机名查它,查不到;你用域名查它,也查不到;你用“IIS AppPool\\DefaultAppPool”字符串查,系统说“用户不存在”。得用PsExec切到对应应用池身份下跑whoami /user才行。小陈就在这儿栽过,他照着网上的命令加账号,结果加的是“IIS AppPool\\DefaultAppPool”字符串本身——不是SID,是字符串。权限加完还截图发群里炫耀,结果线上403。我教他用icacls命令导出当前目录ACL看他才信。 外卖的塑料袋响个不停,是隔壁工位李敏拎回来的,撕包装时总带点脆响。她刚提离职,HR约她面谈那天,我们线上正好因为某个DLL版本冲突崩了三次。她走之前顺手改了测试服务器的本地管理员密码,留了个便签贴在显示器边框:“IIS服务账户密码已重置,见共享盘\\\\ops\\passwords\\2025-04.txt”。结果那共享盘的NTFS权限,刚好把开发组全踢出去了。我们当天下午靠RDP爆破连进去两次,才把密码抄下来。 第三大盲区:Application Request Routing(ARR)反向代理一开,它自动创建的缓存目录默认没给IIS_WPG组权限。你页面能打开,但静态资源加载慢得像拨号上网——不是网络问题,是ARR自己去读缓存文件时被拒绝。第四、第五?记不清了。大概那个数。其中一个跟注册表里HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W3SVC\\Parameters\\MaxBandwidth有关,改了值但没重启服务;另一个是IIS Express调试时用的localhost证书,在正式环境被当成自签名证书直接拦截——但那个是HTTPS的事,不算纯IIS权限范畴了,我混着说的。
文章配图,仅供参考 冷眼?我早就不冷了。上周五复盘会上我一句话没说,就盯着投影仪上那张“权限拓扑图”看。图上画了十七个箭头,七个指向灰色虚线框,写着“继承未知”。产品经理在旁边补一句:“这个权限逻辑能简化吗?我们下周要上线AB测试。” 我点头说可以,然后当场在纸上画了个新图:删掉所有箭头,只写三个词——“IUSR”、“IIS_IUSRS”、“物理路径右键属性”。她没再问。跑题落点?你自己电脑上跑得好好的。真的。我今天上午打包时试了七次,全在本地跑通。连压缩后JS体积都跟昨天一样,1.28MB。但我没敢合进主分支,先把预发环境里的web.config备份了三份,一份放共享盘,一份放GitLab snippet,一份抄在本子上——笔写的那种。王磊的外放会议还在继续,这次说的是“切图还原度误差不能超2px”。 下一步?今晚回去我打算写个PowerShell脚本,只干三件事:读取当前应用池身份、递归获取网站物理路径的ACL、对比IIS_IUSRS和IUSR是否拥有Modify权限。不搞自动修复,就输出一行结论。要是哪天它输出“PASS”,我请你喝咖啡——但得你先确认没缓存没刷,别等我喝到一半,你突然说“啊对,刚清了CDN”。 (编辑:52站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


win10系统如何关闭windows安全中心

