|
去年冬天,安全一个做后端的漏洞朋友凌晨两点给我发消息,说他们公司一个内部测试服务器被扫了,管理工具数据库里三万多条用户记录被人打包挂在了境外论坛上。免费原因?安全半年前就爆出的一个Log4j漏洞,开发环境一直没修,漏洞测试服务器又恰好暴露在公网。管理工具他问我有没有什么免费工具能帮忙盯着点这类破事。免费我当时给他推了几个,安全后来想想,漏洞干脆写下来,管理工具给同样头疼的免费人省点搜索时间。 安全漏洞管理这件事,安全很多人第一反应是漏洞“买套商业扫描器”。但现实是管理工具,中小团队、个人开发者、甚至大公司里的边缘项目,预算根本批不下来。免费工具不是不能用,关键看你愿不愿意花时间配。下面这几个是我自己反复折腾过的,优缺点都摆出来。 OpenVAS:老牌但能打 OpenVAS(现在叫Greenbone Vulnerability Management)算是免费漏洞扫描里的重武器。它自带超过五万个网络漏洞测试用例,支持计划任务、报告导出、资产分组。我拿它扫过一台跑了三年的CentOS 7,报告里连“SSH版本过旧”这种细节都标出来了。 但别指望开箱即用。安装过程在Ubuntu上还算顺,CentOS就得多折腾几回。第一次同步漏洞库要等很久,我那次挂了四个小时。扫内网还行,扫公网IP的话,有些云厂商会直接封你的出口流量。另外它的Web界面反应偏慢,点一下等两秒是常态。适合有耐心、愿意自己维护的人。 Trivy:容器场景下的快刀 如果你主要跑Docker和K8s,Trivy比OpenVAS顺手得多。一条命令trivy image nginx:latest,几秒钟就列出镜像里所有已知CVE,还按严重程度排好。我拿它扫过一个基于Alpine的Node镜像,发现基础镜像里藏了七个高危漏洞,换了个更新版本就解决了。 它不依赖数据库服务,直接拉取最新的漏洞库。缺点也明显:只做静态扫描,不检测运行时行为。而且对非容器环境支持一般。我试过扫本地二进制文件,结果漏报了不少。所以它适合CI流水线里当个守门员,不适合当唯一的防线。 Nuclei:模板驱动的灵活选手 Nuclei是ProjectDiscovery出的,思路跟前面两个不一样。它不靠庞大的漏洞库,而是用YAML模板来定义检测逻辑。社区贡献了上千个模板,覆盖CVE、默认密码、配置错误、甚至暴露的API密钥。我写过一条自定义模板,专门检查公司内部GitLab有没有开启公开注册,跑起来很爽。 速度极快,并发控制做得好。但模板质量参差不齐,有些会误报。有次它报了一个“Apache路径穿越”,我查了半天发现是模板匹配规则太宽泛。用它得学会看模板源码,不然容易被带偏。另外它只做检测,不做资产管理,你得自己理清楚要扫哪些目标。 几个组合用法 我现在的习惯是:Trivy管容器镜像,Nuclei管Web入口和常见配置,OpenVAS每周跑一次内网全量。三个工具的报告格式不一样,我写了个小脚本把关键字段抽出来,统一塞进一个SQLite表里,再用Grafana画个看板。这样至少不会漏掉“同一个漏洞在三个工具里都报了但没人管”的情况。 免费工具最大的问题不是功能,是没人对结果负责。商业扫描器会给你个评分、修复建议、甚至一键生成工单。免费工具只丢给你一堆数据。我见过太多团队装完OpenVAS,扫了一次,报告存进共享盘,然后再也没打开过。 所以如果你打算用免费方案,先想清楚谁来看报告、谁来跟进、多久复测一次。工具本身不解决流程问题。那个凌晨两点给我发消息的朋友,后来用Trivy接进了他们的CI,每次合并请求自动扫镜像,不通过就卡住。虽然还是会有漏网之鱼,但至少不会再出现“半年前的漏洞还挂在生产环境”这种事。 漏洞管理没有银弹。免费工具能帮你省掉扫描器的钱,省不掉的是人盯着的那份精力。 |