Greenbone OpenVAS Scanner 完整安装与配置指南

Greenbone OpenVAS Scanner 完整安装与配置指南

【免费下载链接】openvas-scanner This repository contains the scanner component for Greenbone Community Edition. 【免费下载链接】openvas-scanner 项目地址: https://gitcode.com/GitHub_Trending/op/openvas-scanner

前言

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以保持安全数据库的最新状态,确保扫描结果的准确性。

【免费下载链接】openvas-scanner This repository contains the scanner component for Greenbone Community Edition. 【免费下载链接】openvas-scanner 项目地址: https://gitcode.com/GitHub_Trending/op/openvas-scanner

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值