Kali Linux 安装 OpenVAS (GVM)
概述
OpenVAS 是一个全功能的漏洞扫描器。它的功能包括非认证测试、认证测试、各种高水平和低水平的互联网和工业协议、大规模扫描的性能调整和一个强大的内部编程语言来实现任何类型的漏洞测试。
需要注意的是 OpenVAS 从 10 版本后改名 GVM,这里使用 Kali Linux 最新版本进行安装。
系统准备
如果系统不是最新的,需要先更新系统:
sudo apt update # 软件库更新
sudo apt upgrade # 软件升级
sudo apt dist-upgrade # 升级系统
安装 GVM
执行以下命令进行安装:
初始化 GVM
初始化过程会下载很多资源和漏洞规则,需要较长时间,请耐心等待!同时注意系统容量!
启动 GVM
初始化完成后,GVM 会自动创建默认账号:
修改密码
建议修改默认密码:
sudo runuser -u _gvm -- gvmd --user=admin --new-password=admin
登录访问
使用浏览器访问:
网络访问配置
方案1:配置 GSAD 监听外部地址(推荐)
这是最简单的解决方案,让 GSAD 直接监听所有网络接口。
修改 GSAD 服务配置
- 找到 GSAD 的 systemd 单元文件:
文件路径通常是 /lib/systemd/system/gsad.service 或 /etc/systemd/system/gsad.service。
- 修改 ExecStart,把监听地址从 127.0.0.1 改成 0.0.0.0
原始行类似:
ExecStart=/usr/sbin/gsad --listen=127.0.0.1 --port=9392 ...
改为:
ExecStart=/usr/sbin/gsad --listen=0.0.0.0 --port=9392 ...
- 重载并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart gsad
- 确认监听地址:
sudo ss -tulnp | grep 9392
输出应该显示:
tcp 0 0 0.0.0.0:9392 0.0.0.0:* LISTEN <pid>/gsad
- 现在可以直接用局域网 IP 访问:
https://192.168.1.100:9392
第一次访问会提示自签名证书风险,点击"高级"→"继续",即可出现登录页面。
方案2:使用 Caddy 反向代理
如果希望保持 GSAD 只监听本地地址,可以使用 Caddy 进行反向代理。
- 编辑 gsad 的 systemd 单元,在 ExecStart 末尾追加:
--allow-header-host=127.0.0.1
完整示例:
ExecStart=/usr/sbin/gsad --listen=127.0.0.1 --port=9392 --allow-header-host=127.0.0.1
- 重载并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart gsad
- 配置 Caddyfile:
http://192.168.1.100:8080 {
reverse_proxy https://localhost:9392 {
transport http {
tls_insecure_skip_verify
}
}
}
验证成功标志
故障排查
检查服务状态
sudo systemctl status gsad
sudo journalctl -u gsad -n 30
检查端口监听
sudo ss -tulnp | grep 9392
检查防火墙设置
确保相应端口在防火墙中放行:
sudo ufw allow 9392
# 或者如果使用 Caddy 反代
sudo ufw allow 8080
注意事项
-
PostgreSQL 版本兼容性:OpenVAS 需要 PostgreSQL 13 版本,但 Kali Linux 默认可能安装 11 或 12 版本,需要停用系统默认版本,启用 13 版本。
-
系统资源:GVM 初始化过程会下载大量漏洞规则,需要足够的磁盘空间和稳定的网络连接。
-
证书警告:首次访问时会遇到自签名证书警告,这是正常现象。
-
性能考虑:GVM 是资源密集型应用,建议在性能较好的机器上运行。