Kali Linux安装GVM 20.08(前OpenVas)

article/2025/11/10 15:25:59

Kali Linux安装GVM 20.8(前OpenVas)

Kali Linux安装GVM 20.08(前OpenVas)

因为OpenVas此后正式变更为GVM后,我决定重新安装GVM,最新版本20.08.
参考链接:GVM安装教程

部分前提:

1、具有sudo特权的普通用户。
2、根用户
3、名为gvm的非特权用户
4、安装的前缀是/ opt / gvm

安装要求

sudo apt update ;\sudo apt -y dist-upgrade ;\sudo apt -y autoremove ;\sudo apt install -y software-properties-common ;\sudo apt install -y cmake pkg-config libglib2.0-dev libgpgme-dev libgnutls28-dev uuid-dev libssh-gcrypt-dev \
libldap2-dev doxygen graphviz libradcli-dev libhiredis-dev libpcap-dev bison libksba-dev libsnmp-dev \
gcc-mingw-w64 heimdal-dev libpopt-dev xmltoman redis-server xsltproc libical-dev postgresql \
postgresql-contrib postgresql-server-dev-all gnutls-bin nmap rpm nsis curl wget fakeroot gnupg \
sshpass socat snmp smbclient libmicrohttpd-dev libxml2-dev gettext rsync xml-twig-tools \
python3-paramiko python3-lxml python3-defusedxml python3-pip python3-psutil virtualenv vim git ;\sudo apt install -y texlive-latex-extra --no-install-recommends ;\sudo apt install -y texlive-fonts-recommended ;\curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - ;\echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list ;\sudo apt update ;\sudo apt -y install yarn(***注意,这里在安装依赖包的时候,我遇到了“python-polib”无法安装的问题,后面我单独使用pip3 install python-polib 命令安装***)

创建用户(这个里创建的是GVM用户)

echo 'export PATH="$PATH:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin"' | sudo tee -a /etc/profile.d/gvm.sh ;\sudo chmod 0755 /etc/profile.d/gvm.sh ;\source /etc/profile.d/gvm.sh ;\sudo bash -c 'cat << EOF > /etc/ld.so.conf.d/gvm.conf
# gmv libs location
/opt/gvm/lib
EOF'sudo mkdir /opt/gvm ;\sudo adduser gvm --disabled-password --home /opt/gvm/ --no-create-home --gecos '' ;\sudo usermod -aG redis gvm  # This is for ospd-openvas can connect to redis.sock.. If you have a better idea here, pls write in the comments :) ;\sudo chown gvm:gvm /opt/gvm/ ;\sudo su - gvmmkdir src ;\cd src ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH

下载资料

git clone -b gvm-libs-20.08 --single-branch  https://github.com/greenbone/gvm-libs.git ;\
git clone -b openvas-20.08 --single-branch https://github.com/greenbone/openvas.git ;\
git clone -b gvmd-20.08 --single-branch https://github.com/greenbone/gvmd.git ;\
git clone -b master --single-branch https://github.com/greenbone/openvas-smb.git ;\
git clone -b gsa-20.08 --single-branch https://github.com/greenbone/gsa.git ;\
git clone -b ospd-openvas-20.08 --single-branch  https://github.com/greenbone/ospd-openvas.git ;\
git clone -b ospd-20.08 --single-branch https://github.com/greenbone/ospd.git

安装gvm-libs

cd gvm-libs ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\mkdir build ;\cd build ;\cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. ;\make ;\make doc ;\make install ;\cd /opt/gvm/src

配置并构建openvas-smb

cd openvas-smb ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\mkdir build ;\cd build/ ;\cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. ;\make ;\make install ;\cd /opt/gvm/src

配置和构建扫描仪

cd openvas ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\mkdir build ;\cd build/ ;\cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. ;\make ;\make doc ;\make install ;\cd /opt/gvm/src

修复Redis默认的Openvas安装

(***注意:这里一定要切换为root用户,此前上面一直用的是gvm用户***)su root

接下来依次执行下面命令:

export LC_ALL="C" ;\
ldconfig ;\
cp /etc/redis/redis.conf /etc/redis/redis.orig ;\
cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/ ;\
chown redis:redis /etc/redis/redis-openvas.conf ;\
echo "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf ;\
systemctl enable redis-server@openvas.service ;\
systemctl start redis-server@openvas.service
sysctl -w net.core.somaxconn=1024
sysctl vm.overcommit_memory=1echo "net.core.somaxconn=1024"  >> /etc/sysctl.conf
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
cat << EOF > /etc/systemd/system/disable-thp.service
[Unit]
Description=Disable Transparent Huge Pages (THP)[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload ;\
systemctl start disable-thp ;\
systemctl enable disable-thp ;\
systemctl restart redis-server
由于将使用sudo从ospd-openvas进程启动openvas,因此在sudoers文件中需要下一个配置:
visudo
编辑secure_path行:添加后面的:“:/snap/bin:/opt/gvm/sbin”
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/opt/gvm/sbin"
添加此行以允许创建的gvm用户以root权限启动openvas。:
### Allow the user running ospd-openvas, to launch openvas with root permissions
gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas
gvm ALL = NOPASSWD: /opt/gvm/sbin/gsad

注意:然后从root shell退出,并返回到gvm用户
这是root
请记住要从root更改为gvm用户.。

(这里我切换到gvm用户遇到了一个问题,我根据别人的文档创建的gvm用户,我忘了密码是啥,然后我就切换到root更改了gvm用户密码为gvm,这里要记住不要盲目复制,一定要注意!谨记,谨记!)

更新nvt

greenbone-nvt-sync

使用openvas在redis中上传插件

sudo openvas -u

(提示:这将需要一些时间,具体取决于您的硬件。
运行时,您可以使用大量cpu监视openvas和redis服务器进程。)

配置和构建管理器

cd gvmd ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\mkdir build ;\cd build/ ;\cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. ;\make ;\make doc ;\make install ;\cd /opt/gvm/src

配置PostgreSQL

***注意:为此,我们将使用启用了sudo的用户。(不是root)***
sudo -u postgres bash
export LC_ALL="C"
createuser -DRS gvm
createdb -O gvm gvmdpsql gvmd
create role dba with superuser noinherit;
grant dba to gvm;
create extension "uuid-ossp";
create extension "pgcrypto";
exit
exit
注意:这里有报错的话:

psql报错

解决办法:“重启数据库:systemctl restart postgresql

	然后退出这个具有root权限的用户shell。

修复证书

记住要从sudo用户更改为gvm用户

gvm-manage-certs -a

创建管理员用户

gvmd --create-user=admin --password=admin

配置和更新提要

找出您新创建的管理员的uuid:

gvmd --get-users --verbose
admin 41f853e4-fecf-423f-85b7-18fa3396bac5 ««« This uuid

然后使用上面的uuid修改gvmd设置:

gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value 41f853e4-fecf-423f-85b7-18fa3396bac5

依次运行这些命令:

greenbone-feed-sync --type GVMD_DATA
greenbone-feed-sync --type SCAP
greenbone-feed-sync --type CERT

配置并安装gsa

cd gsa ;\export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\mkdir build ;\cd build/ ;\cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. ;\make ;\make doc ;\make install ;\touch /opt/gvm/var/log/gvm/gsad.log ;\cd /opt/gvm/src

开放式开放源码软件

安装virtualenv:
在这之前要先安装好python3.7,因为这kali预装的是只有python2的。至于python3安装,教程很多,这里就不赘述了。

cd /opt/gvm/src ;\
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH ;\
virtualenv --python python3.7  /opt/gvm/bin/ospd-scanner/ ;\
source /opt/gvm/bin/ospd-scanner/bin/activate

安装ospd:

mkdir /opt/gvm/var/run/ospd/ ;\
cd ospd ;\
pip3 install . ;\
cd /opt/gvm/src

安装ospd-openvas:

cd ospd-openvas ;\
pip3 install . ;\
cd /opt/gvm/src

创建启动脚本

注意:以root身份运行这些命令
cat << EOF > /etc/systemd/system/gvmd.service
[Unit]
Description=Open Vulnerability Assessment System Manager Daemon
Documentation=man:gvmd(8) https://www.greenbone.net
Wants=postgresql.service ospd-openvas.service
After=postgresql.service ospd-openvas.service[Service]
Type=forking
User=gvm
Group=gvm
PIDFile=/opt/gvm/var/run/gvmd.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
cat << EOF > /etc/systemd/system/gsad.service
[Unit]
Description=Greenbone Security Assistant (gsad)
Documentation=man:gsad(8) https://www.greenbone.net
After=network.target
Wants=gvmd.service[Service]
Type=forking
PIDFile=/opt/gvm/var/run/gsad.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
cat << EOF > /etc/systemd/system/ospd-openvas.service 
[Unit]
Description=Job that runs the ospd-openvas daemon
Documentation=man:gvm
After=network.target redis-server@openvas.service
Wants=redis-server@openvas.service[Service]
Environment=PATH=/opt/gvm/bin/ospd-scanner/bin:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Type=forking
User=gvm
Group=gvm
WorkingDirectory=/opt/gvm
PIDFile=/opt/gvm/var/run/ospd-openvas.pid
ExecStart=/opt/gvm/bin/ospd-scanner/bin/python /opt/gvm/bin/ospd-scanner/bin/ospd-openvas --pid-file /opt/gvm/var/run/ospd-openvas.pid --unix-socket=/opt/gvm/var/run/ospd.sock --log-file /opt/gvm/var/log/gvm/ospd-scanner.log --lock-file-dir /opt/gvm/var/run/ospd/
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload ;\
systemctl enable gvmd ;\
systemctl enable gsad ;\
systemctl enable ospd-openvas ;\
systemctl start gvmd ;\
systemctl start gsad ;\
systemctl start ospd-openvas

检查服务是否已启动并正在运行:

systemctl status gvmd
systemctl status gsad
systemctl status ospd-openvas

退出root shell。

修改您的默认扫描仪

注意:以用户gvm的身份获取默认扫描仪UUID。请记住要从root更改为gvm用户。
(ospd-scanner) gvm@localhost:/opt/gvm/src$ gvmd --get-scanners
08b69003-5fc2-4037-a479-93b440211c73  OpenVAS  /var/run/ospd/ospd.sock  0  OpenVAS Default «««««««««« THIS UUID
6acd0832-df90-11e4-b9d5-28d24461215b  CVE    0  CVE

然后修改扫描仪:

(ospd-scanner) gvm@localhost:/opt/gvm/src$ gvmd --modify-scanner=08b69003-5fc2-4037-a479-93b440211c73 --scanner-host=/opt/gvm/var/run/ospd.sock
Scanner modified.

好了,到此算是告一段落。
现在,您可以将浏览器指向GSA https:// ipnumberofyourserver 并登录。


http://chatgpt.dhexx.cn/article/Ksq7LAlk.shtml

相关文章

Golang 多版本管理神器 gvm

缘起 最近编译 kubernetes 遇到了点坑&#xff0c;编译各种报错&#xff0c;经搜索调研发现 k8s 的编译对 go 的版本有很严格的要求。比如我的 go1.13.4 就无法编译 kubernetes v1.16.3&#xff0c;必须得 go1.12.xx 版本才能编译。为了解决这种尴尬的场景只能再在主机安装个 …

CentOS 7 Docker安装GVM-11

关于如何用docker部署 GVM-11&#xff0c;先给出一个 shell 脚本&#xff0c;然后给出踩坑过程&#xff1a; #/bin/bash ################ README INFO ##################### ### Purpose: Deploy GVM-11 for docker ### ### Made By: PomanTeng …

Kali安装openVAS (GVM)

给Kali - 2021-3安装GVM的兄弟们2021/11/15出错的问题的解决办法 原文链接 ———————————————— 版权声明&#xff1a;本文为CSDN博主「林超男」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 [原文链接&#xff…

CentOS 8安装 GVM20.08

Centos 8 安装GVM 20.08 参考链接1&#xff1a;https://sadsloth.net/post/install-gvm-20_08-src-on-debian/ 参考链接2&#xff1a;https://community.greenbone.net/t/full-gvm-11-build-guide-for-centos-8/5425 旧版的openvas安装成功之后无法下载漏洞库&#xff0c;官方…

GVM 内存结构 垃圾回收

Java堆(所有线程共享的一块内存区域) 1、在虚拟机启动时创建。存放对象实例。 2、GC堆&#xff0c;垃圾收集器管理的主要区域。 3、通过 -Xmx 和 -Xms 控制&#xff0c;无法再扩展时&#xff0c;将会抛出OutOfMemoryError异常。 内部分&#xff1a;新生代&#xff08;1/3 的…

kali2021安装GVM(openVAS)

openVAS从10版本后改名GVM&#xff0c;这里用的kali系统也是2020年的最新系统 安装之前将kali的源换成国内的源&#xff0c;像阿里源或中科大源。位置/etc/apt/sources.list。 命令&#xff1a; vim /etc/apt/sources.list#阿里云 deb http://mirrors.aliyun.com/kali kali…

GVM升级后启动异常处理

目录 1. Kali升级 2. 升级完成后&#xff0c;启动GVM&#xff08;OpenVas&#xff09;发现打不开&#xff1a; 3. 按照要求检测原因&#xff1a; 4. 查看PID文件 5. 重新检测安装 6. 执行兼容处理后&#xff0c;再次检测安装&#xff1a; 7. 查找安装路径&#xff0c;修…

golang多版本管理工具g(gvm)使用(windows)

文章目录 前言1、下载地址2、设置环境变量1&#xff09;设置镜像2&#xff09;设置g的工作目录3&#xff09;配置GOROOT 3、配置5、配置 go 全局变量4、使用 前言 gvm与g有什么区别? 同一个项目。只不过因为gitee要求仓库名字符数必须>2,因此将项目重命名为gvm。 1、下载…

golang版本管理gvm

今天小土带来一篇关于Go版本管理器gvm的小短文。废话不多说&#xff0c;开始安装。 安装 如果你使用的mac&#xff0c;mac 需要先安装xcode-select&#xff0c;没安装过的同学可以按照如下命令进行执行安装&#xff0c;这里不做太多说明了。 xcode-select --installbrew update…

QPS.TPS.PV.UV.IP.GVM常用名词解释

QPS 全名 Queries Per Second&#xff0c;意思是“每秒查询率”&#xff0c;是一台服务器每秒能够响应的查询次数&#xff0c;是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 简单的说&#xff0c;QPS req/sec 请求数/秒。它代表的是服务器的机器的性能最…

golang多版本管理工具g使用(windows)

1、下载地址 https://github.com/voidint/g/releases2、设置环境变量 G_MIRROR 值为 https://golang.google.cn/dl/由于国内无法自由访问Golang官网&#xff0c;导致查询及下载go版本都变得困难&#xff0c;因此可以通过该环境变量指定一个镜像站点。 G_HOME 值为 E:\gvm设…

ShuffleNet 系列(2): ShuffleNet v2 理论讲解

ShuffleNet V2 概述 论文&#xff1a;ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design shuffleNet v2这篇论文比较硬核&#xff0c;提出了不少新的思想&#xff0c;推荐大家可以看看论文原文。主要思想包括&#xff1a; 模型的计算复杂度不能只…

ShuffleNet_v1论文阅读

ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 2017年 原文地址&#xff1a;https://arxiv.org/pdf/1707.01083.pdf 声明&#xff1a;文章仅作知识整理、分享&#xff0c;如有侵权请联系作者删除博文&#xff0c;谢谢&#xff01; …

shufflenetv1详解

shufflenetv1 知识的搬运工又来了 论文地址&#xff1a;shufflenetv1论文地址 ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices。 shufflenet是一篇关于降低深度学习计算量的论文&#xff0c;其可以运行在手机等移动设备端&#xff0c;发…

ShuffleNet 系列(1): ShuffleNet v1 理论讲解

ShuffleNet V1 概述 论文&#xff1a;ShuffleNet:An Extremely Efficient Convolutional Netural Network for Mobile Devices ShuffleNet跟MobileNet一样也是一种轻量化网络&#xff0c;ShuffleNet V1.0版本中作者有提出Channel shuffle的概念。在ShuffleNet Block当中使用的…

ShuffleNet心得

channel shuffle&#xff1a; 1&#xff09;利用group &#xff0c;再组间进行深度卷积。 优点&#xff1a;1&#xff09;极大减小计算量&#xff08;FLOPS&#xff09; 由于每个filter不再是和输入的全部feature map做卷积&#xff0c;而是仅仅和一个group的feature map做卷…

ShuffleNet V2

原文链接&#xff1a; ShuffleNet V2 论文阅读笔记​blog.csdn.net 论文链接&#xff1a; Practical Guidelines for Efficient CNN Architecture Design​arxiv.org 我自己基于 caffe 框架的复现&#xff1a; anlongstory/ShuffleNet_V2-caffe​github.com 本文主要是对目…

【CV】ShuffleNet:通过 GroupConv 和 ChannelShuffle 实现轻量化 CNN 架构

论文名称&#xff1a;ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices 论文下载&#xff1a;https://arxiv.org/abs/1707.01083 论文年份&#xff1a;2017 论文被引&#xff1a;3925&#xff08;2022/05/11&#xff09; 论文代码&#xf…

shufflenet_v1

本文使用的是轻量级模型shufflenet&#xff0c;使用keras框架进行训练。 参考链接&#xff08;模型详解&#xff09;&#xff1a;https://blog.csdn.net/zjn295771349/article/details/89704086 代码如下&#xff1a; 1.data_process.py&#xff08;数据处理&#xff1a;这里…

ShuffleNet V1

论文&#xff1a;https://arxiv.org/abs/1707.01083 1 问题提出 当前的CNN发展趋势是网络越大&#xff0c;性能越好。但是&#xff0c;在计算能力有限的应用场景下(无人机、机器人及智能手机上)&#xff0c;因为内存和计算能力的限制&#xff0c;无法部署大规模的神经网络。虽…