最近Kali Linux的一个重大变化让不少安全从业者感到意外——最新版本不再预装OpenVAS漏洞扫描工具。这个决定背后其实有着深思熟虑的考量:OpenVAS作为一款功能全面的漏洞评估系统,其资源占用率较高,而Kali作为渗透测试发行版需要保持轻量灵活。对于已经习惯使用Kali内置OpenVAS的用户来说,现在需要掌握独立部署这项关键技能。
OpenVAS作为开源漏洞评估的标杆工具,其优势在于持续更新的漏洞数据库和高度可定制的扫描策略。与商业产品相比,它提供了企业级功能而不需要支付许可费用。独立部署意味着你可以:
提示:即使是2GB内存的VPS,经过适当优化也能流畅运行OpenVAS基础扫描功能
| 对比维度 | Kali源码安装 | 独立镜像部署 |
|---|---|---|
| 安装复杂度 | 中等(需解决依赖) | 简单(开箱即用) |
| 资源占用 | 与Kali共享资源 | 独占资源 |
| 更新维护 | 依赖Kali更新源 | 独立更新通道 |
| 适合场景 | 临时/测试用途 | 生产环境/长期使用 |
bash复制# 添加官方仓库
sudo add-apt-repository ppa:mrazavi/openvas
sudo apt update
# 安装核心组件
sudo apt install openvas9
# 初始化设置
sudo gvm-setup
# 检查安装状态
sudo gvm-check-setup
常见安装问题解决:
sudo apt --fix-broken installsudo gvm-feed-update更新证书OpenVAS默认配置针对性能强劲的服务器,但在资源有限的环境中需要特别优化:
编辑/etc/default/greenbone-security-assistant:
ini复制# 限制最大内存使用(MB)
GSA_MAX_MEMORY=1024
# 减少工作线程
WORKERS=2
注意:修改配置后需重启服务生效:
sudo systemctl restart gvm*
通过Web界面(https://服务器IP:9392)操作时:
目标配置:
扫描策略选择:
python复制# 示例:通过API创建扫描任务(Python)
import requests
auth = ('admin', 'yourpassword')
target_id = requests.post(
'https://localhost:9392/api/targets',
json={'name': 'Web Server', 'hosts': ['192.168.1.100'], 'port_list': '33d0cd82-57c6-11e1-8ed1-406186ea4fc5'},
auth=auth, verify=False
).json()['id']
典型漏洞报告应关注:
设置每日自动更新漏洞数据库:
bash复制# 创建定时任务
echo "0 3 * * * root /usr/sbin/gvm-feed-update" | sudo tee /etc/cron.d/gvm-update
| 错误现象 | 可能原因 | 解决方案 |
|---|---|---|
| 扫描突然中止 | 内存不足 | 调整扫描策略或增加swap空间 |
| Web界面无法访问 | 证书问题 | 重新生成证书:sudo gvm-manage-certs -a |
| 漏洞数据库不同步 | 网络连接问题 | 手动执行sudo gvm-feed-update |
实际使用中发现,将OpenVAS部署在4GB内存以上的云服务器时,配合这些优化措施,可以稳定运行每周一次的全面扫描任务。对于持续集成的场景,建议通过API将OpenVAS集成到DevOps流程中,在部署前自动执行安全扫描。