漏洞扫描及安全加固
去年某地一家三甲医院的漏洞内网被勒索病毒锁死,挂号系统瘫痪了六个小时。扫描事后溯源发现,及安攻击者利用的全加漏洞早在半年前就由微软发布了补丁,可那台跑着老旧Windows Server 2008的漏洞数据库服务器一直没人管。运维人员的扫描说法很实在:“业务不能停,谁敢随便打补丁?及安”这事听起来荒唐,但干过运维的全加人都懂,漏洞扫描报告里那些红彤彤的漏洞高危项,往往不是扫描技术搞不定,而是及安流程和心态卡住了。
漏洞扫描这件事,全加本身并不复杂。漏洞拿个Nessus或者OpenVAS,扫描配好策略,及安对着目标网段扫一遍,半小时后就能吐出一份带CVE编号和CVSS评分的清单。但这份清单怎么用,才是分水岭。有人把它当KPI,要求“高危漏洞必须清零”,结果运维连夜重启服务打补丁,第二天业务方投诉电话打爆。有人把它当废纸,扫完往共享盘一扔,下次扫描发现同样的漏洞还在,只是扫描时间变了。这两种做法我都见过,后者更常见。
真正有效的扫描得先解决三个问题:扫什么、什么时候扫、扫完谁负责。资产台账不清,扫描器对着一个C段狂扫,结果里面混着测试机、打印机和早就下线的虚拟机,报告里一半是误报。业务高峰期限速扫,丢包率一高,漏报就上来了。最要命的是责任模糊——安全团队说“漏洞在你们服务器上”,运维团队说“补丁打了业务挂了谁背锅”,最后往往卡在变更审批流程里。
加固不是把补丁全打上就完事。上个月帮一个客户做复查,发现他们确实把Apache的CVE补了,但ServerTokens没改,版本号还在响应头里裸奔。问起来,运维说“扫描器只报了那个CVE,别的没提”。这种“应试型加固”到处都是:改了SSH端口就算安全了,密码复杂度策略只加在域控上,本地管理员账号还是admin/123456。扫描器能告诉你门没锁,但不会告诉你窗户开着。
有个做电商的朋友分享过他的做法。他们内部搞了个“漏洞分级响应表”,不按CVSS评分一刀切。对外暴露的支付接口,中危漏洞48小时内必须出方案;内网办公区的打印服务器,低危漏洞可以攒到季度变更窗口一起处理。这套东西土,但管用——运维知道优先级,安全团队不用天天催,业务方也接受“有些风险我们认了”。
工具层面,别迷信一个扫描器。Nessus对Web应用漏洞的覆盖不如Acunetix,AWVS对主机层又不如Qualys。有条件的话,主机扫描、Web扫描、配置核查分开做,交叉验证。开源方案里,Nmap的NSE脚本做资产发现,OpenVAS做基础扫描,再加个Lynis做系统配置审计,组合起来够用。关键是扫描策略要调,别默认全开——一个--script=banner就能把你内网那台老打印机的响应拖到超时。
最后说个反直觉的观察:很多漏洞扫不出来,不是工具不行,是网络架构太乱。VLAN划分随意,ACL写了等于没写,扫描器从办公网根本摸不到生产区的数据库端口。这种“扫不到”比“扫出高危”更可怕。所以每次做加固之前,我习惯先画一张实际的流量走向图,跟运维对着防火墙策略一条条过。图对了,扫描结果才有意义。
安全加固没有终点。今天补了Log4j,明天可能爆出Spring的新洞。与其追求“零漏洞”的幻觉,不如把响应周期缩到可控范围内——从发现到评估到处置,每个环节谁做什么、多久做完,写清楚,执行下去。剩下的,交给运气和备份。









