IIS权限总出错?90%管理员忽略的5大Windows站点安全盲区
|
去年8月份,甲方在会议室转笔转了四十七分钟——我数的。笔是那种按动式圆珠笔,咔嗒、咔嗒、咔嗒,每一下都卡在“先做出来看看”和“改个颜色还要加钱”之间。投影仪嗡嗡响,像台老空调在透支最后三年寿命。桌上那盘葡萄没人碰,表皮起了一层白霜似的粉,估计是保洁阿姨早上放的,到下午三点还没人想起来它存在。 他们说:“就做个淘宝那样的。”说完自己笑了一下,好像这句不是需求而是某种暗号。我原以为他们至少会开个天眼看看淘宝有多少服务进程、多少中间件权限组、多少NTFS继承策略链——结果呢?他们连IIS应用池身份是LocalSystem还是ApplicationPoolIdentity都分不清,还要求“上线前务必完成等保三级备案”。备案?备案前连web.config里这行删没删都不知道。 我说查下IIS权限模型,对方销售立马插话:“客户要的是效果,不是理论。”可他转身去茶水间倒水时,我瞥见他笔记本贴着便利贴:“等保=挂个证书”,底下画了个箭头,写着“别跟技术聊太深”。啧,挺有觉悟。 第一大盲区:ApplicationPoolIdentity默认用户组里压根没加IIS_IUSRS——对,就是那个空壳组。你信不信?三台服务器两台漏加,剩下一台加了但被域策略覆盖回去了。不是配置错误,是他们根本不知道这组得手动加。第二盲区:站点物理路径设在D:\\wwwroot,但D盘NTFS权限只给了Administrators和SYSTEM,连IIS_IUSRS的读取权限都是手抖漏点的。第三盲区更绝:web.config里关了,因为“上传大文件失败”,但他们忘了禁用这个等于把URL编码绕过大门焊死在open状态——上个月被扫出两个/.git/config泄漏,就是从这儿进来的。 第四盲区,也是最让我冷笑的:日志目录设在C:\\inetpub\\logs\\LogFiles,而C盘磁盘配额开了,满了自动清空旧日志。但没人告诉他们,IIS写日志失败时不报错,只沉默丢弃请求——所以某次撞库攻击持续三天,日志里干净得像刚格式化。第五盲区?干脆不设日志。他们说:“反正出了事找你们,你们不是专业做这个的?”对,我们是专业,但不是专业替他们背锅的。 那天快下班,客户运营小姑娘冲进机房喊:“首页打不开!”我看了一眼Event Viewer——w3wp.exe崩溃两次,原因:访问\\\\192.168.10.5\\shared\\config.xml时触发UNC路径认证失败。她眨眨眼:“哦,那个共享盘是我们测试环境用的……上周说好迁走的。”没人迁。没人记。没人担。我蹲那儿敲net use命令重映射的时候,她掏出手机给老板发语音:“王总,技术说要重启服务器……我先撤了哈。” 我原以为这只是个常规权限排查——结果查到第三天发现,他们上个月还让外包公司远程连进来装过一个“SEO排名插件”,安装包带了个PowerShell后门,用的是IIS AppPool\\DefaultAppPool身份去拉GitHub上的ps1脚本执行。那脚本现在还在定时跑,只是最近改了域名,连不上了,所以CPU不飙,也没弹窗——安静得像个孝子。
文章配图,仅供参考 说到外包……上个月另一个客户更离谱。预算三千块,要做“含AI客服的官网”。我问怎么接入AI,对方说:“百度搜个开源项目,你帮我们跑起来就行。”我真去搭了个Rasa,结果他们第二天打电话来质问:“为啥没看到聊天窗口?”——因为压根没往HTML里加widget。我截图解释,他们回:“哦,那你加一个呗。”我说那得改前端,他们说:“这不属于AI功能吗?”我不屑地笑了。不是嘲笑他们无知,是嘲笑自己居然还认真解释了十分钟。回一条微信,我打字:“建议先补NTFS权限树继承检查。”删掉;再打:“可以导出当前应用池权限快照比对。”删掉;第三次打:“您那边有没有人能登录服务器执行icacls D:\\wwwroot /t /c /q?”——发送。对方隔了四十二分钟回:“王总说让你们先上线再说。”上线?行。上。他们凌晨一点发版,我凌晨两点收到告警:/web.config被篡改,新增了,下面跟着一行注释:“方便查问题,王总批的”。真方便。方便黑客直接GET /trace.axd。 尾款没结。 电梯里遇见他们IT主管,穿西装打领带,拎着印有“数字化转型先锋”的保温杯。他冲我点头:“哎哟,你们搞安全的,是不是特别怕Windows更新啊?”我没接。怕?我怕的是每次更新完,他们顺手勾选“自动重启服务器”,却忘了通知我们关掉正在跑的漏洞扫描器——上回蓝屏dump文件里全是我扫了一半的SQLi payloads,像一具没做完尸检的尸体。 优胜劣汰这词,听着残酷,其实很公道。能活下来的站点,不是靠防火墙多厚,是靠有人记得applicationHost.config里这行不能随便打开;靠有人看见C:\\Windows\\System32\\inetsrv\\config\\applicationHost.config被修改过时间戳,愿意花五分钟比对hash;靠有人在交接文档里写下:“别信‘先做出来看看’——那等于签了免责协议。” 下回合同里这条必须写死:“IIS权限基线由乙方提供,甲方签署确认后方可部署;未确认即上线导致的安全事件,责任不溯及乙方。” (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


