greenbone/gvmd
GitHub: greenbone/gvmd
Greenbone 社区版的核心管理服务,作为数据库后端协调扫描任务、管理配置并存储扫描结果。
Stars: 354 | Forks: 176

# Greenbone Vulnerability Manager
[](https://github.com/greenbone/gvmd/releases)
[](https://github.com/greenbone/gvmd/actions/workflows/build-and-test.yml)
Greenbone Vulnerability Manager 是安全扫描器与用户客户端之间的核心管理服务。
它负责管理任何漏洞管理配置和扫描结果的存储。通过基于 XML 的 Greenbone Management Protocol (GMP) 提供对数据、控制命令和工作流的访问。控制像 [OPENVAS Scanner](https://github.com/greenbone/openvas-scanner)* 这样的扫描器是通过 Open Scanner Protocol (OSP) 完成的。
- [版本发布](#releases)
- [安装与使用](#installation-and-usage)
- [支持](#support)
- [维护者](#maintainer)
- [贡献](#contributing)
- [代码风格与格式化](#code-style-and-formatting)
- [CMake 格式化](#cmake-formatting)
- [许可证](#license)
## 版本发布
所有 [版本文件](https://github.com/greenbone/gvmd/releases) 均使用 [Greenbone Community Feed integrity key](https://community.greenbone.net/t/gcf-managing-the-digital-signatures/101) 进行签名。
该 gpg 密钥可从 https://www.greenbone.net/GBCommunitySigningKey.asc 下载,指纹为 `8AE4 BE42 9B60 A59B 311C 2E73 9823 FAA6 0ED1 E580`。
## 安装与使用
可以使用以下命令配置、构建和安装此模块:
```
cmake .
make install
```
有关详细的安装要求和说明,请参阅文件 [INSTALL.md](INSTALL.md)。该文件还包含设置 `gvmd` 以及将 `gvmd` 连接到漏洞扫描器和 *[GSA](https://github.com/greenbone/gsa)* Web 界面的说明。
如果所有内容均使用默认设置安装,则可以使用以下简单命令启动管理守护进程:
```
gvmd
```
要查看 gvmd 所有可用的命令行选项,请输入以下命令:
```
gvmd --help
```
如果您不熟悉或不适于从源代码构建,我们建议您使用 Greenbone Enterprise TRIAL,这是一个预先设置好配置的虚拟机。有关该虚拟机的信息可在 获取。
## 配置
gvmd 的配置通过以下方式处理:
* 可以通过 `--modify-setting` 命令行选项全局更改的设置。
* 启动主 gvmd 进程时给出的命令行选项。
* 位于 `${GVM_SYSCONF_DIR}` 的配置文件(`gvmd.conf`)(对于默认构建设置,在给定的安装前缀中为 `etc/gvm`)。
#### 身份验证选项
GMP 身份验证的选项可以在配置文件的 `[authentication]` 部分找到。包括:
| Config file key | Environment variable | Type | Default value | Description |
| ---------------------- | --------------------------- | ---------- | ------------- | --------------------------------------------------- |
| jwt_access_duration | GVMD_JWT_ACCESS_DURATION | integer | 60 | gvmd 签发的访问令牌的有效期(秒) |
| jwt_decode_secret | GVMD_JWT_DECODE_SECRET | string | | 用于解码/验证 JWT 的密钥 |
| jwt_decode_secret_path | GVMD_JWT_DECODE_SECRET_PATH | file path | | 用于解码/验证 JWT 的密钥路径 |
| jwt_encode_secret | GVMD_JWT_ENCODE_SECRET | string | | 用于编码/生成 JWT 的密钥 |
| jwt_encode_secret_path | GVMD_JWT_ENCODE_SECRET_PATH | file path | | 用于编码/生成 JWT 的密钥路径 |
| jwt_secret_type | GVMD_JWT_SECRET_TYPE | string | | 用于 JWT 签名的密钥类型 |
为了使 gvmd 能够验证 `` GMP 命令中的 JSON Web Token,必须提供 JWT 密钥类型和解码密钥。为了使其能够生成 JWT,必须提供密钥类型和编码密钥。支持的密钥类型为 `ECDSA`、`RSA` 和 `shared`。
#### 功能标志
配置文件的 `[features]` 部分和相应的环境变量用于启用可选功能,前提是这些功能在构建时也已启用。
有关功能标志的列表和更多信息,请参阅单独的功能标志文档。
## 支持
关于 `gvmd` 使用的任何问题,请使用 [Greenbone Community Forum](https://forum.greenbone.net/)。如果您发现了软件问题,请在 GitHub 上 [创建 issue](https://github.com/greenbone/gvmd/issues)。如果您是 Greenbone 客户,您也可以选择将您的问题转发至 Greenbone Support Portal。
## 维护者
该项目由 [Greenbone AG](https://www.greenbone.net/) 维护。
## 贡献
我们非常感谢您的贡献。请在 GitHub 上 [创建 pull request](https://github.com/greenbone/gvmd/pulls)。较大的更改需要先通过 [GitHub 的 issues 部分](https://github.com/greenbone/gvmd/issues) 与开发团队进行讨论。
### 代码风格与格式化
在创建 pull request 之前,建议运行以下命令:
```
make format
```
这将重新格式化新代码,以确保其遵循代码风格和格式化指南。
### CMake 格式化
所有 CMake 文件均使用 [gersemi](https://github.com/BlankSpruce/gersemi) 进行格式化。
要在基于 Debian 的系统上安装 gersemi,可以使用以下命令:
```
sudo apt install pipx
pipx install gersemi
```
要格式化所有 CMake 文件,请运行命令:
```
gersemi -i cmake .
```
## 许可证
Copyright (C) 2009-2026 [Greenbone AG](https://www.greenbone.net/)
在 [GNU Affero General Public License v3.0 or later](COPYING) 许可下发布。
标签:AES-256, Bash脚本, C, CMake, GET/POST请求分析, GMP, GPT, GraphQL引擎检测, Greenbone, GVM, OpenVAS, OSP, PHP, XML协议, 后端服务, 多线程, 安全扫描, 客户端加密, 开源安全工具, 扫描结果管理, 数据库, 时序注入, 漏洞管理, 漏洞评估, 网络安全, 脚本检测, 逆向工程平台, 隐私保护