| name | implementing-vulnerability-management-with-greenbone |
| description | 使用 python-gvm 库部署和运营 Greenbone/OpenVAS 漏洞管理,通过 GMP 协议创建扫描目标、执行漏洞扫描并解析扫描报告。 |
| domain | cybersecurity |
| subdomain | vulnerability-management |
| tags | ["openvas","greenbone","vulnerability-scanning","gmp","python-gvm","vulnerability-management","compliance"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 Greenbone 实施漏洞管理
概述
Greenbone 漏洞管理(GVM,Greenbone Vulnerability Management)是 OpenVAS 背后的开源框架,提供超过 100,000 个网络漏洞测试(NVT)的全面漏洞扫描。python-gvm 库提供 Python API,通过 Greenbone 管理协议(GMP,Greenbone Management Protocol)与 GVM 交互,支持以编程方式创建扫描目标、管理任务、执行扫描和获取报告。本技能涵盖通过 Unix 套接字或 TLS 连接 GVM、认证、创建扫描配置和目标、启动扫描,以及解析基于 XML 的漏洞报告以生成可操作的发现结果。
前置条件
- 已安装 Greenbone 社区版或 Greenbone 企业版设备
- Python 3.9+,安装
python-gvm(pip install python-gvm)
- GMP 访问凭据(用户名/密码)
- 到 GVM 守护进程的网络连接(Unix 套接字或 TCP/TLS)
- 了解 CVSS 评分和漏洞分类
步骤
- 安装 python-gvm:
pip install python-gvm
- 通过
UnixSocketConnection 或 TLSConnection 建立 GMP 连接
- 使用
gmp.authenticate(username, password) 进行认证
- 使用
gmp.create_target(name, hosts=[...], port_list_id=...) 创建目标
- 使用
gmp.create_task(name, config_id, target_id, scanner_id) 创建扫描任务
- 使用
gmp.start_task(task_id) 启动扫描
- 使用
gmp.get_task(task_id) 监控扫描进度
- 使用
gmp.get_report(report_id, report_format_id=...) 获取结果
- 解析 XML 报告中的漏洞、CVSS 分数和受影响主机
- 生成包含严重程度分布和修复优先级的 JSON 摘要报告
预期输出
JSON 报告,包含发现的漏洞总数、严重程度细分(关键/高/中/低)、每台主机的发现结果(含 CVE 参考和 CVSS 分数),以及包括持续时间和 NVT 漏洞库版本的扫描元数据。