90%服务器漏洞源于这3类配置疏漏
|
去年十一值班,凌晨三点被运维电话炸醒——生产环境数据库被拖库了。我原以为又是哪个实习生误删了测试数据,结果运维甩过来日志截图,好家伙,攻击路径清清楚楚:Redis没设密码,Nginx配置里漏了IP白名单,还有个过期的SSL证书。这三样我敢打包票,至少占服务器漏洞的九成——不是我说,就这三种破事儿,十年前就有人踩,现在还能把系统干崩,真是活久见。 当时运维老张蹲在机房角落,手里攥着半根烟,烟灰掉在键盘上都没察觉。他指着屏幕说:“你看这Redis,开发说‘本地测试用的,生产环境肯定关’——结果部署脚本里根本没删这行配置。”我凑过去看,配置文件里`requirepass`那行被注释掉了,后面还跟着开发写的注释:“// 测试环境用,生产环境请删除”。可生产环境的部署脚本里,压根没这一步删除操作。老张猛吸一口烟:“我查过历史提交记录,这行注释从2018年就在这儿,愣是没人动过。” 这时候测试小李抱着笔记本冲进来,鞋上还沾着机房的防静电地板胶。“我查自动化脚本了!”他边说边敲键盘,“Nginx配置检查的用例,去年双十一就写好了,但断言只验了端口和协议,根本没查IP白名单!”我接过他的笔记本,看到测试报告里绿油油的“PASS”,心里直发毛——这脚本要是早半年跑出来,也不至于现在被攻击。小李挠头:“我原以为断言写全了,结果漏了`allow`那行,开发说‘生产环境肯定配’,我就没当回事……” 正说着,开发主管王哥推门进来,手里还拿着没吃完的煎饼果子。“别光骂我们啊,”他咬了口煎饼,“测试环境你们QA不是也漏了吗?”小李一听就炸:“我们测试环境根本不用IP白名单!再说了,你们部署脚本连环境变量都不传,我们怎么测?”王哥把煎饼袋子揉成一团:“那SSL证书呢?测试环境过期三个月了,你们QA没报?”我愣了下——确实,测试环境的证书是自签的,过期了也没人管,但生产环境用的是正规CA签的,按理说不会漏。结果运维老张冷笑:“生产环境的证书是自动续的,但部署脚本里有个bug——如果续期失败,脚本不会报错,直接跳过!”他翻出日志:“你看,三个月前证书就过期了,脚本里写了‘if failed then continue’,开发说‘反正会手动处理’,结果没人处理。” 这时候窗外开始下雨,雨点打在机房的玻璃上,噼里啪啦的。老张起身去关窗户,回来时手里多了杯咖啡:“我干了二十年运维,见过的漏洞就这三种:没设密码的、没限IP的、证书过期的。优胜劣汰懂吗?其他漏洞早被扫干净了,就这三种,开发觉得‘没必要’,测试觉得‘不会出问题’,运维觉得‘应该有人管’——结果谁都没管。”他喝了口咖啡,苦笑着摇头:“去年双十一,我们部门统计过,90%的服务器漏洞就这三类。我原以为今年能少点,结果……呵。” 小李突然想起什么,翻开测试用例库:“对了,我们还有个用例是检查Redis密码的,但开发说‘生产环境肯定配’,就把用例标记成‘跳过’了。”我凑过去看,用例状态写着“SKIPPED”,备注是“开发确认生产环境已配置”。王哥凑过来:“那IP白名单的用例呢?”小李查了查:“也跳过了,开发说‘生产环境由运维配置,测试环境不用测’。”王哥一拍桌子:“这不就结了!开发觉得测试该测,测试觉得开发该配,运维觉得两边该沟通——结果谁都没动!” 雨越下越大,机房的噪音盖过了我们的争吵。老张突然说:“你们知道最搞笑的是什么吗?攻击者用的脚本,我查了下,是2015年的老版本——就专门扫这三种漏洞的。”他指着日志:“Redis没密码、Nginx没白名单、SSL过期,这脚本一跑一个准。十年了,攻击手段没变,我们还在犯同样的错。”小李低头摆弄手机:“我刚才查了,去年双十一,阿里云也发过通告,说这三种配置疏漏占服务器漏洞的87%。”王哥哼了一声:“87%?我看就是90%,剩下10%是统计误差。” 这时候天亮了,运维的监控大屏上,报警信息还在闪。老张站起身:“我去写事故报告了,你们仨——开发、测试、运维,各写一份反思,下周例会念。”他走到门口,又回头:“对了,别光写‘加强沟通’,得写具体怎么改——比如部署脚本必须检查密码,测试用例不许跳过,证书过期必须报警。不然明年十一,咱们还得在这儿吵。”
文章配图,仅供参考 我望着老张的背影,心想这老哥说得对。优胜劣汰嘛,其他漏洞早被扫干净了,就这三种,因为“觉得没必要”“觉得不会出问题”“觉得有人管”,愣是活到了现在。可这“优胜劣汰”的“优”,到底是谁的优?是攻击者的优,还是我们的劣?我说不准,但我知道,再不改,明年十一,我们还得在这儿吵。(编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


移动互联时代:数码设备与服务器协同优化三大突破
索引漏洞正悄然拖垮你的搜索体验
服务器开发效能翻倍:3个被忽视的工具链优化关键
漏洞修复与索引优化:7年测试工程师的搜索性能实战
服务网格视角下的服务器搜索优化实战
服务器搜索优化:漏洞排查与索引修复实战
