当前位置:首页 > 知识

openvas kali

Kali Linux 自带的 OpenVAS 现在叫 GVM(Greenbone Vulnerability Management),但很多人还是习惯性叫它 OpenVAS。装完 Kali 后它默认不在系统里,得自己动手。我见过太多人卡在安装这一步,然后放弃转去用 Nessus 社区版——其实 OpenVAS 在 Kali 上的部署没那么复杂,只是文档散得到处都是。

先说安装。Kali 官方源里就有 gvm 包,直接 sudo apt install gvm 就行。但装完之后才是真正的开始。你需要运行 sudo gvm-setup,这个脚本会做几件事:初始化 PostgreSQL 数据库、创建管理员账户、下载漏洞测试库(VT)、生成证书。整个过程快的话二十分钟,慢的话一个小时都有可能,取决于你的网速和机器性能。VT 库大概有十几万个测试脚本,下载量不小。

我自己的经验是,在虚拟机里跑 gvm-setup 经常会在 Redis 那一步卡住。原因是 Kali 的 Redis 默认配置和 GVM 期望的不一样。解决办法倒也简单,编辑 /etc/redis/redis.conf,把 unixsocket 和 unixsocketperm 这两行取消注释,权限改成 700,然后重启 Redis 服务。这个坑我踩过两次,每次都得翻论坛才想起来。

装好之后,用 sudo gvm-start 启动服务。它会拉起好几个进程:gsad(Web 界面)、gvmd(管理守护进程)、openvas-scanner(扫描引擎)、ospd-openvas(协议封装)。浏览器打开 https://127.0.0.1:9392,用 gvm-setup 最后生成的密码登录。进去第一件事是去 Administration → Feed Status 确认 VT 库、SCAP 数据、CERT 数据都更新完毕。如果显示 "Update in progress",就等着,别急着建扫描任务。

Web 界面用的是 Greenbone Security Assistant,功能齐全但 UI 设计停留在十年前的水平。导航逻辑有点绕,新建扫描任务的入口藏在 Scans → Tasks → 紫色小火箭图标。我第一次用的时候找了半天。扫描配置里有个关键选项叫 "Scan Config",默认是 "Full and fast",对大多数场景够用了。如果你只想做主机发现,选 "Discovery" 就行,速度快很多。

实际扫描体验方面,OpenVAS 对单台主机的完整扫描大概需要 20 到 40 分钟。比 Nessus 慢,这是事实。但它的漏洞库更新频率不错,社区版也没有 IP 数量限制——Nessus 社区版只让扫 16 个 IP,这点 OpenVAS 完胜。扫描结果里误报率比 Nessus 略高,尤其是 Web 应用相关的漏洞,经常报一堆其实不存在的 XSS。所以看报告的时候得结合手动验证,别全信。

有个细节值得提:OpenVAS 的扫描结果里,严重级别用的是 CVSS 分数。9.0 以上是 Critical,7.0 到 8.9 是 High。但 CVSS 分数高不代表对你的环境就一定危险。比如一个需要本地物理接触才能利用的漏洞,CVSS 可能给 7.5,但实际风险很低。我一般会先看 High 和 Critical 里哪些是远程可利用的,优先处理那些。

性能调优方面,如果你扫描的网段比较大,可以调整 /etc/openvas/openvas.conf 里的 max_hosts 和 max_checks 参数。默认值偏保守。但别调太高,否则 PostgreSQL 容易成为瓶颈。我试过把 max_hosts 设成 20,结果扫描到一半 gvmd 就 OOM 了。后来降到 10,稳定跑完整个 /24 网段。

最后说个实际用例。上个月帮朋友检查一台暴露在公网的 WordPress 服务器,用 OpenVAS 扫了一遍。报告里有个 Critical 级别的漏洞:PHP 版本过旧导致的反序列化问题。但仔细看描述,利用条件是需要一个已认证的低权限账户。那台机器根本没开放注册,所以实际不可利用。这个例子说明 OpenVAS 的报告必须结合业务逻辑来判断,工具给的分数只是参考。

OpenVAS 在 Kali 上不算开箱即用,但一旦跑起来,它是个可靠的免费漏洞扫描器。适合预算有限、又需要定期做安全评估的场景。别指望它像商业工具那样精致,但核心功能该有的都有。

分享到: