OpenVAS安装命令从`apt-get install openvas`变成`gvm`了?一文讲清Kali 2024年最新部署避坑指南
OpenVAS到GVMKali 2024最新部署指南与深度优化如果你最近在Kali Linux上尝试安装OpenVAS可能会发现传统的apt-get install openvas命令已经失效。这不是你的错觉而是OpenVAS项目经历了重大变革——它现在以Greenbone Vulnerability Management (GVM)的新身份继续发展。本文将带你深入了解这一变迁背后的技术逻辑并提供一份针对Kali 2024版本的完整部署方案涵盖从基础安装到性能调优的全套解决方案。1. 从OpenVAS到GVM项目演变与技术背景OpenVASOpen Vulnerability Assessment System作为开源漏洞扫描工具已经存在了近二十年。2020年其背后的公司Greenbone Networks决定对项目进行重构和品牌重塑于是GVM应运而生。这次变更不仅仅是名称上的改变更反映了项目在架构和功能上的重大升级模块化设计GVM将扫描器、管理器和客户端分离提高了系统的灵活性和可维护性性能优化新的架构显著降低了资源占用扫描速度提升了约40%Feed更新机制改进采用更高效的同步协议减少了漏洞数据库更新的带宽消耗API标准化全面采用RESTful API便于与其他安全工具集成在Kali Linux的软件仓库中这一变化体现为包名的变更。从2021年开始openvas软件包被gvm取代相关的命令前缀也从openvas-*变为gvm-*。这种变化导致大量旧教程失效也是许多用户遇到安装问题的根本原因。2. Kali 2024基础部署完整流程与验证在开始安装前请确保你的Kali系统已经更新到最新版本sudo apt update sudo apt upgrade -y2.1 安装GVM核心组件安装过程现在只需要一个简单的命令sudo apt install gvm这个元包会自动拉取所有必要的依赖包括gvmdGVM管理守护进程openvas-scanner漏洞扫描引擎保留了OpenVAS名称gsadGreenbone安全助手守护进程Web接口python3-gvmPython GVM库安装完成后初始化过程是关键步骤sudo gvm-setup这个命令会创建PostgreSQL数据库生成SSL证书初始化管理员账户下载初始漏洞数据库注意gvm-setup可能需要1-3小时完成具体取决于你的网络连接和系统性能。如果中断可以使用sudo gvm-setup --restore恢复。2.2 验证安装完整性初始化完成后运行检查命令sudo gvm-check-setup这个命令会输出详细的验证报告。理想情况下你应该看到所有检查项都标记为[OK]。如果有任何失败的项目命令会给出修复建议。2.3 启动服务与访问Web界面启动GVM服务的正确方式是sudo gvm-start服务启动后你可以通过以下URL访问Web界面https://127.0.0.1:9392默认凭据是用户名admin密码安装过程中生成可在/var/lib/gvm/gvm-init.log中找到如果需要重置密码sudo runuser -u _gvm -- gvmd --useradmin --new-password你的新密码3. 性能优化与疑难排解3.1 加速漏洞数据库更新greenbone-feed-sync是更新漏洞数据库的标准命令但默认源可能速度较慢。以下优化方法可以显著提高更新速度方法一更换下载源编辑配置文件sudo nano /etc/gvm/gvmd_data_config.yml找到feed_url部分替换为feed_url: http://mirror.example.com/gvm/data-feed推荐的镜像源包括镜像源地址地理位置清华大学https://mirrors.tuna.tsinghua.edu.cn/greenbone中国阿里云https://mirrors.aliyun.com/greenbone中国官方源https://feed.greenbone.net德国方法二增量更新使用--compression-level6参数减少传输数据量sudo greenbone-feed-sync --compression-level63.2 常见错误解决方案问题1gvm-setup卡在NVT同步解决方案检查/var/log/gvm/gvmd.log获取具体错误尝试手动同步sudo -u _gvm greenbone-nvt-sync问题2Web界面无法访问排查步骤确认服务正在运行sudo systemctl status gvmd openvas gsad检查防火墙设置sudo ufw allow 9392/tcp验证证书有效性sudo openssl verify /var/lib/gvm/CA/servercert.pem问题3扫描速度慢优化建议调整扫描配置sudo -u _gvm gvmd --modify-scanner08b69003-5fc2-4037-a479-93b440211c73 --value--max-ips50增加内存分配sudo sysctl -w vm.max_map_count10485764. 高级配置与自动化4.1 定时自动更新创建systemd定时服务sudo nano /etc/systemd/system/gvm-feed-update.service内容如下[Unit] DescriptionGVM Feed Update Afternetwork.target [Service] Typeoneshot ExecStart/usr/bin/greenbone-feed-sync User_gvm Group_gvm然后创建定时器sudo nano /etc/systemd/system/gvm-feed-update.timer内容[Unit] DescriptionDaily GVM Feed Update [Timer] OnCalendardaily Persistenttrue [Install] WantedBytimers.target启用服务sudo systemctl enable --now gvm-feed-update.timer4.2 API集成示例GVM提供了强大的REST API以下是一个Python脚本示例用于自动创建扫描任务from gvm.connections import TLSConnection from gvm.protocols.gmp import Gmp from gvm.transforms import EtreeTransform connection TLSConnection(hostname127.0.0.1, port9390) transform EtreeTransform() with Gmp(connection, transformtransform) as gmp: gmp.authenticate(admin, password) # 创建目标 target_id gmp.create_target( nameExample Scan, hosts[192.168.1.0/24], commentAutomated scan ).xpath(id)[0] # 创建任务 task_id gmp.create_task( nameWeekly Scan, config_iddaba56c8-73ec-11df-a475-002264764cea, # 全扫描配置 target_idtarget_id, scanner_id08b69003-5fc2-4037-a479-93b440211c73 # OpenVAS默认扫描器 ).xpath(id)[0] # 启动任务 gmp.start_task(task_id)4.3 资源监控与调优GVM资源使用情况可以通过以下命令监控sudo gvm-top关键指标优化建议指标正常范围优化方法内存使用70%总内存调整gvmd的worker数量CPU负载80%核心数限制并发扫描数磁盘I/O等待时间10ms使用SSD或调整PostgreSQL配置调整worker数量sudo gvmd --modify-setting8d8f6a8e-9493-4e56-a6f6-4f12d7c22788 --value45. 容器化部署方案对于需要快速部署或资源隔离的场景可以考虑使用Docker容器docker run -d -p 9392:9392 --name gvm \ -e PASSWORDYourSecurePassword \ -v gvm-data:/data \ greenbone/community-edition容器版与原生安装的主要区别特性容器版原生安装安装速度快分钟级慢小时级资源隔离好一般更新难度简单重建容器复杂需手动升级性能开销较高约10%低定制灵活性有限高对于生产环境建议使用官方的Greenbone Enterprise Appliance它提供了更稳定的更新渠道和企业级支持。