Greenbone OpenVAS Scanner 完整安装与配置指南
2026-02-04 04:41:07作者:凌朦慧Richard
前言
OpenVAS(Open Vulnerability Assessment System)是一款功能强大的开源安全扫描工具,现已成为Greenbone Vulnerability Management(GVM)套件的重要组成部分。本文将详细介绍如何从源代码构建和安装OpenVAS扫描器及其相关组件,帮助安全专业人员搭建完整的安全扫描环境。
系统要求
硬件配置
最低配置要求:
- CPU核心:2核
- 内存:4GB
- 硬盘空间:20GB可用空间
推荐配置:
- CPU核心:4核
- 内存:8GB
- 硬盘空间:60GB可用空间
软件要求
本指南主要支持Debian稳定版(bookworm)系统,其他基于Debian的发行版(如Mint、Kali等)可能需要进行少量调整。
准备工作
创建专用用户和组
为安全考虑,建议为扫描服务创建专用用户和组:
sudo useradd -r -M -U -G sudo -s /usr/sbin/nologin gvm
配置当前用户
将当前用户加入gvm组以便运行openvasd:
sudo usermod -aG gvm $USER
su $USER
设置安装路径
定义软件安装的基本路径:
export INSTALL_PREFIX=/usr/local
export PATH=$PATH:$INSTALL_PREFIX/sbin
创建工作目录
创建源代码、构建和安装目录:
export SOURCE_DIR=$HOME/source
export BUILD_DIR=$HOME/build
export INSTALL_DIR=$HOME/install
mkdir -p $SOURCE_DIR $BUILD_DIR $INSTALL_DIR
安装基础依赖
安装编译和构建所需的基础工具:
sudo apt update
sudo apt install -y \
build-essential \
curl \
cmake \
pkg-config \
python3 \
python3-pip \
gnupg
导入Greenbone签名密钥
验证下载文件的完整性:
curl -f -L https://www.greenbone.net/GBCommunitySigningKey.asc -o /tmp/GBCommunitySigningKey.asc
gpg --import /tmp/GBCommunitySigningKey.asc
echo "8AE4BE429B60A59B311C2E739823FAA60ED1E580:6:" | gpg --import-ownertrust
组件安装
1. gvm-libs
gvm-libs是提供基本功能的C语言库,是openvas-scanner的依赖项。
安装依赖:
sudo apt install -y \
libglib2.0-dev \
libgpgme-dev \
libgnutls28-dev \
uuid-dev \
libssh-gcrypt-dev \
libhiredis-dev \
libxml2-dev \
libpcap-dev \
libnet1-dev \
libpaho-mqtt-dev
构建与安装:
cd $SOURCE_DIR
git clone git@github.com:greenbone/gvm-libs.git
mkdir -p $BUILD_DIR/gvm-libs && cd $BUILD_DIR/gvm-libs
cmake $SOURCE_DIR/gvm-libs \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
-DCMAKE_BUILD_TYPE=Release \
-DSYSCONFDIR=/etc \
-DLOCALSTATEDIR=/var
make -j$(nproc)
make DESTDIR=$INSTALL_DIR/gvm-libs install
sudo cp -rv $INSTALL_DIR/gvm-libs/* /
2. openvas-smb
用于与Windows系统交互的辅助模块。
安装依赖:
sudo apt install -y \
gcc-mingw-w64 \
libgnutls28-dev \
libglib2.0-dev \
libpopt-dev \
libunistring-dev \
heimdal-dev \
perl-base
构建与安装:
cd $SOURCE_DIR
git clone git@github.com:greenbone/openvas-smb.git
mkdir -p $BUILD_DIR/openvas-smb && cd $BUILD_DIR/openvas-smb
cmake $SOURCE_DIR/openvas-smb \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
-DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
make DESTDIR=$INSTALL_DIR/openvas-smb install
sudo cp -rv $INSTALL_DIR/openvas-smb/* /
3. openvas-scanner
核心扫描引擎,执行安全测试。
安装依赖:
sudo apt install -y \
bison \
libglib2.0-dev \
libgnutls28-dev \
libgcrypt20-dev \
libpcap-dev \
libgpgme-dev \
libksba-dev \
rsync \
nmap \
libjson-glib-dev \
libcurl4-gnutls-dev \
libbsd-dev
构建与安装:
cd $SOURCE_DIR
git clone git@github.com:greenbone/openvas-scanner.git
mkdir -p $BUILD_DIR/openvas-scanner && cd $BUILD_DIR/openvas-scanner
cmake $SOURCE_DIR/openvas-scanner \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
-DCMAKE_BUILD_TYPE=Release \
-DINSTALL_OLD_SYNC_SCRIPT=OFF \
-DSYSCONFDIR=/etc \
-DLOCALSTATEDIR=/var \
-DOPENVAS_FEED_LOCK_PATH=/var/lib/openvas/feed-update.lock \
-DOPENVAS_RUN_DIR=/run/ospd
make -j$(nproc)
make DESTDIR=$INSTALL_DIR/openvas-scanner install
sudo cp -rv $INSTALL_DIR/openvas-scanner/* /
4. openvasd
OpenVAS的HTTP API接口。
安装Rust工具链:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
构建与安装:
mkdir -p $BUILD_DIR/openvasd
cd $SOURCE_DIR/openvas-scanner/rust
cargo build -r --target-dir $BUILD_DIR/openvasd
sudo cp -rv $BUILD_DIR/openvasd/release/openvasd $INSTALL_PREFIX/bin/
sudo cp -rv $BUILD_DIR/openvasd/release/scannerctl $INSTALL_PREFIX/bin/
5. ospd-openvas
OSP服务器实现。
安装依赖:
sudo apt install -y \
python3 \
python3-pip \
python3-setuptools \
python3-packaging \
python3-wrapt \
python3-cffi \
python3-psutil \
python3-lxml \
python3-defusedxml \
python3-paramiko \
python3-redis \
python3-gnupg \
python3-paho-mqtt \
python3-poetry
安装:
cd $SOURCE_DIR
git clone git@github.com:greenbone/ospd-openvas.git
cd $SOURCE_DIR/ospd-openvas
mkdir -p $INSTALL_DIR/ospd-openvas
python3 -m pip install --root=$INSTALL_DIR/ospd-openvas --no-warn-script-location .
sudo cp -rv $INSTALL_DIR/ospd-openvas/* /
6. notus-scanner
用于检测有风险产品的扫描器。
安装依赖:
sudo apt install -y \
python3 \
python3-pip \
python3-setuptools \
python3-paho-mqtt \
python3-psutil \
python3-gnupg
安装:
cd $SOURCE_DIR
git clone git@github.com:greenbone/notus-scanner.git
cd $SOURCE_DIR/notus-scanner
mkdir -p $INSTALL_DIR/notus-scanner
python3 -m pip install --root=$INSTALL_DIR/notus-scanner --no-warn-script-location .
sudo cp -rv $INSTALL_DIR/notus-scanner/* /
7. greenbone-feed-sync
用于同步安全数据库的工具。
安装:
mkdir -p $INSTALL_DIR/greenbone-feed-sync
python3 -m pip install --root=$INSTALL_DIR/greenbone-feed-sync --no-warn-script-location greenbone-feed-sync
sudo cp -rv $INSTALL_DIR/greenbone-feed-sync/* /
数据库同步
下载安全数据
sudo /usr/local/bin/greenbone-feed-sync --type nvt
验证数据完整性
curl -f -L https://www.greenbone.net/GBCommunitySigningKey.asc -o /tmp/GBCommunitySigningKey.asc
export GNUPGHOME=/tmp/openvas-gnupg
mkdir -p $GNUPGHOME
gpg --import /tmp/GBCommunitySigningKey.asc
echo "8AE4BE429B60A59B311C2E739823FAA60ED1E580:6:" | gpg --import-ownertrust
export OPENVAS_GNUPG_HOME=/etc/openvas/gnupg
sudo mkdir -p $OPENVAS_GNUPG_HOME
sudo cp -r /tmp/openvas-gnupg/* $OPENVAS_GNUPG_HOME/
sudo chown -R gvm:gvm $OPENVAS_GNUPG_HOME
系统配置
Redis数据库设置
sudo apt install -y redis-server
sudo cp $SOURCE_DIR/openvas-scanner/config/redis-openvas.conf /etc/redis/
sudo chown redis:redis /etc/redis/redis-openvas.conf
echo "db_address = /run/redis-openvas/redis.sock" | sudo tee -a /etc/openvas/openvas.conf
sudo systemctl start redis-server@openvas.service
sudo systemctl enable redis-server@openvas.service
sudo usermod -aG redis gvm
Mosquitto MQTT代理
sudo apt install -y mosquitto
sudo systemctl start mosquitto.service
sudo systemctl enable mosquitto.service
echo -e "mqtt_server_uri = localhost:1883\ntable_driven_lsc = yes" | sudo tee -a /etc/openvas/openvas.conf
权限调整
sudo mkdir -p /var/lib/notus /run/gvmd
sudo chown -R gvm:gvm /var/lib/openvas /var/lib/notus /var/log/gvm /run/gvmd
sudo chmod -R g+srw /var/lib/openvas /var/log/gvm
总结
通过以上步骤,我们完成了Greenbone OpenVAS Scanner的完整安装和配置。这套系统现在可以用于执行全面的安全扫描任务,帮助识别网络中的潜在问题。建议定期运行greenbone-feed-sync以保持安全数据库的最新状态,确保扫描结果的准确性。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0187
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0112
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java03
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
暂无描述
Dockerfile
759
4.94 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.78 K
187
暂无简介
Dart
1 K
259
Ascend Extension for PyTorch
Python
716
866
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
854
1.91 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.07 K
1.09 K
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.72 K
1.02 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
674
1.32 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
454
436