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 StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
热门内容推荐
最新内容推荐
7大秘诀零基础掌握StarRocks数据导入:从原理到实战的高效方案如何突破日志可视化的3大认知误区:从数据噪音到业务洞察的蜕变之路3步解决Windows安全中心故障:从诊断到防护的完整方案3步搭建本地隐私保护语音识别系统:实时转录技术民主化指南3步高效解决英文软件使用障碍:零基础软件本地化完全指南如何通过OpCore Simplify实现EFI快速构建:从硬件检测到配置优化的全流程指南PHP支付库微信转账接口开发指南:yansongda/pay 3.7.16版本新特性解析开源协作与代码贡献指南:从零开始参与twitter-ruby项目记忆效率停滞?用这4个认知重构方法突破学习瓶颈智能EFI生成工具:OpCore Simplify让黑苹果配置不再复杂
项目优选
收起
暂无描述
Dockerfile
710
4.51 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
579
99
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
958
955
deepin linux kernel
C
28
16
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
942
Ascend Extension for PyTorch
Python
573
694
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
1.43 K
116
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
414
339
暂无简介
Dart
952
235
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
2