CentOS 8安装 GVM20.08

article/2025/11/10 15:34:53

Centos 8 安装GVM 20.08

参考链接1:https://sadsloth.net/post/install-gvm-20_08-src-on-debian/
参考链接2:https://community.greenbone.net/t/full-gvm-11-build-guide-for-centos-8/5425

旧版的openvas安装成功之后无法下载漏洞库,官方建议使用新版的GVM;
尝试在centos7上源码安装,但无法成功,未深究原因,不确定是centos7无法安装GVM 20.08还是依赖未解决
centos8上安装GVM11,ospd组件启动有问题,控制台可以启动,但是使用systemd无法启动成功,忘记截图,无法确认问题;
由于本次安装耗费了很长时间,做个记录。
安装步骤:

  • 安装python3
yum install python3

确认python3安装位置

`which python3`
选择上一部中pythons3点安装位置
alternatives --config  python 
  • 安装epel 仓库
yum install epel-release
  • 安装 centos-powertools仓库
yum config-manager --set-enabled powertools
  • 安装编译工具
yum groupinstall -y "development tools"
  • 安装依赖
yum install -y cmake glib2-devel zlib-devel gnutls-devel libuuid-devel libssh-devel  libxml2-devel libgcrypt-devel openldap-devel popt-devel redis libical-devel openssl-devel hiredis-devel radcl i-devel gpgme-devel libksba-devel doxygen libpcap-devel nodejs python3-polib libmicrohttpd-devel gnutls-utils python3-devel libpq-devel texinfo xmltoman nmap sshpass socat mingw32-gcc ncurses-devel
  • 安装 postgres数据库
	yum install -y postgresql-server postgresql-contrib postgresql-server-develpostgresql-setup --initdbsystemctl enable postgresqlsystemctl start postgresql
  • 配置postgres 数据库
	sudo -Hiu postgrescreateuser gvmcreatedb -O gvm gvmdpsql gvmdcreate role dba with superuser noinherit;grant dba to gvm;create extension “uuid-ossp”;create extension “pgcrypto”;\qexitsystemctl restart postgresql
  • 在系统环境添加gvm 库路径
	echo "/data/gvm/lib" > /etc/ld.so.conf.d/gvm.confldconfig
  • 添加 gvm用户、配置主目录
	useradd -r -d /data/gvm -c "GVM(OpenVAS) User" -s /bin/bash gvmmkdir /data/gvmmkdir /data/gvm/srcchown -R gvm:gvm /data/gvm
  • 在/etc/profile添加gvm可执行文件路径

    vim /etc/profile
    添加以下两行:
    export PATH=$PATH:/data/gvm/bin

    export PATH=$PATH:/data/gvm/sbin

source /etc/profile
  • 获取gvm安装包
	su - gvmcd /data/gvm/srcgit 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-libsexport PKG_CONFIG_PATH=/data/gvm/lib/pkgconfigmkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/data/gvm ..makemake docmake install
  • 安装heimdal(切换至root用户)
	cd /usr/local/srcwget https://github.com/heimdal/heimdal/releases/download/heimdal-7.7.0/heimdal-7.7.0.tar.gztar xvfz heimdal-7.7.0.tar.gzcd heimdal-7.7.0./configure  --enable-opt=no --prefix=/data/heimdalmakemake installln -s /data/heimdal/include/ /data/heimdal/include/heimdalecho "/data/hemidal/lib" > /etc/ld.so.conf.d/hemidal.confldconfig
  • 安装openvas-smb
	cd /data/gvm/src/openvas-smbexport PKG_CONFIG_PATH=/data/gvm/lib/pkgconfig:/data/heimdal/lib/pkgconfigmkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/data/gvm ..makemake install
  • 安装openvas
	cd /data/gvm/src/openvasmkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm .. make make doc make install 
  • 修改redis配置文件(切换到root用户)
	cp /etc/redis.conf  /etc/redis.conf.origcp /data/gvm/src/openvas/config/redis-openvas.conf /etc/redis.confchown redis /etc/redis.conf
/etc/redis.conf文件中以下两行内容应该如下:

在这里插入图片描述

	echo "db_address = /tmp/redis.sock" > /data/gvm/etc/openvas/openvas.confsystemctl enable redissystemctl start redis
  • 配置系统环境(切换到root用户)
	sysctl -w net.core.somaxconn=1024sysctl -w vm.overcommit_memory=1echo "net.core.somaxconn=1024"  >> /etc/sysctl.confecho "vm.overcommit_memory=1" >> /etc/sysctl.conf
	cat << EOF > /etc/systemd/system/disable-thp.service[Unit]Description=Disable Transparent Huge Pages (THP)[Service]Type=simpleExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel	/mm/transparent_hugepage/defrag"[Install]WantedBy=multi-user.targetEOF
	systemctl daemon-reloadsystemctl start disable-thp.servicesystemctl enable disable-thp.service
  • 将gvm用户添加到redis组(切换到root用户)
	usermod  -aG redis gvmsystemctl restart redis
  • 修改/etc/sudoers文件

    添加以下行
    Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/data/gvm/sbin"
    gvm ALL = NOPASSWD:/data/gvm/sbin/openvas
    gvm ALL = NOPASSWD:/data/gvm/sbin/gsad

  • 同步漏洞库

    su - gvm
    greenbone-nvt-sync (容易失败,多次尝试直到成功为止)
    sudo openvas -u

  • 安装gvmd

	cd /data/gvm/src/gvmdexport PKG_CONFIG_PATH=/data/gvm/lib/pkgconfig:/data/heimdal/lib/pkgconfigmkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/data/gvm ..makemake docmake install
  • 配置gvmd

    gvm-manage-certs -a
    gvmd --create-user=admin --password=admin
    查看刚刚创建的admin的uuid
    gvmd --get-users --verbose
    admin 41f853e4-fecf-423f-85b7-18fa3396bac5 ««« 记住这个uuid
    修改uuid
    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 /data/gvm/src/gsamkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/data/gvm ..makemake docmake install
  • 安装ospd-openvas
	cd /data/gvm/srcvirtualenv --python python3.7  /data/gvm/bin/ospd-scanner/source /data/gvm/bin/ospd-scanner/bin/activatemkdir /data/gvm/var/run/ospdcd ospdpip3 install .cd /data/gvm/src/opsd-openvaspip3 install .
  • 创建启动脚本
	cat << EOF > /etc/systemd/system/gvmd.service[Unit]Description=Job that runs the gvm daemonDocumentation=man:gvmAfter=ospd.service[Service]Type=forkingUser=gvmGroup=gvmPIDFile=/data/gvm/var/run/gvmd.pidWorkingDirectory=/data/gvmExecStartPre=/bin/sleep 60ExecStart=/data/gvm/sbin/gvmd --osp-vt-update=/data/gvm/var/run/ospd.sock[Install]WantedBy=multi-user.targetEOF
	cat << EOF > /etc/systemd/system/gsad.service[Unit]Description=Job that runs the gsa daemonDocumentation=man:gsaAfter=postgresql.service[Service]Type=forkingPIDFile=/data/gvm/var/run/gsad.pidWorkingDirectory=/data/gvmExecStart=/data/gvm/sbin/gsad --no-redirect --listen=127.0.0.1 -p 20001[Install]WantedBy=multi-user.targetEOF
	cat << EOF > /etc/systemd/system/ospd-openvas.service[Unit]Description=Job that runs the ospd-openvas daemonDocumentation=man:gvmAfter=network.target redis-server@openvas.serviceWants=redis-server@openvas.service[Service]Environment=PATH=/data/gvm/bin/ospd-scanner/bin:/data/gvm/bin:/data/gvm/sbin:/data/gvm/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binType=forkingUser=gvmGroup=gvmWorkingDirectory=/data/gvmPIDFile=/data/gvm/var/run/ospd-openvas.pidExecStart=/data/gvm/bin/ospd-scanner/bin/python /data/gvm/bin/ospd-scanner/bin/ospd-openvas --pid-file /data/gvm/var/run/ospd-openvas.pid --unix-socket=/data/gvm/var/run/ospd.sock --log-file /data/gvm/var/log/gvm/ospd-scanner.log --lock-file-dir /data/gvm/var/run/[Install]WantedBy=multi-user.targetEOF
	systemctl daemon-reload systemctl enable gvmd systemctl enable gsad systemctl enable ospd-openvas systemctl start gvmd systemctl start gsad systemctl start ospd-openvas
  • 配置nginx

    下载nginx安装包nginx-1.19.6.tar.gz
    tar -zxvf nginx-1.19.6.tar.gz
    cd nginx-1.19.6/
    useradd -r -d /usr/local/nginx -c “Nginx web server” -s /sbin/nologin nginx
    vim src/http/ngx_http_header_filter_module.c(修改缺省banner值),具体内容如下图:
    在这里插入图片描述

    yum install libxml2 libxml2-dev libxslt-devel gd-devel perl-devel perl-ExtUtils-Embed geoip-devel gperftools-devel
    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module
    –with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic
    –with-stream_ssl_module --with-google_perftools_module --with-debug
    make
    make install
    chown -R nginx:nginx /usr/local/nginx/
    修改/usr/local/nginx/conf/nginx.conf
    运行用户为nginx
    在这里插入图片描述

    修改http自动跳转到https
    在这里插入图片描述

    配置https访问
    在这里插入图片描述

	cat <<EOF > /etc/systemd/system/nginx.service[Unit]Description=The nginx HTTP and reverse proxy serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkinguser=nginxgroup=nginxPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -tExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDKillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=true[Install]WantedBy=multi-user.targetEOF
	systemctl daemon-reloadsystemctl start nginxsystemctl enable nginx
  • 访问GVM

    在这里插入图片描述

    输入默认的账户密码:admin public就可以登录,后续修改账户密码。


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

相关文章

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;无法部署大规模的神经网络。虽…

ShuffleNet 算法的介绍

引言 ShuffleNet是旷视科技最近提出的一种计算高效的CNN模型&#xff0c;其和MobileNet和SqueezeNet等一样主要是想应用在移动端。所以&#xff0c;ShuffleNet的设计目标也是如何利用有限的计算资源来达到最好的模型精度&#xff0c;这需要很好地在速度和精度之间做平衡。Shuf…

ShuffleNet网络学习笔记

目录 ShuffleNet V1 论文 介绍 Channel Shuffle ShuffleNet v1 单元 ShuffleNet v2 论文 介绍 高效模型的设计准则 ShuffleNet V2结构 ShuffleNet v2和DenseNet 总结 ShuffleNet V1 论文 ShuffleNet: An Extremely Efficient Convolutional Neural Network for M…

shuffleNet系列

目录 分组卷积 分组卷积的矛盾——计算量 分组卷积的矛盾——特征通信 channel shuffle ShuffleNet V1 ShuffleNet基本单元 ShuffleNet网络结构 对比实验 ShuffleNet V2 设计理念 网络结构 对比实验 分组卷积 Group convolution是将输入层的不同特征图进行分组&a…

Shufflenet解读

论文&#xff1a;ShuffleNet: AnExtremely Efficient Convolutional Neural Network for Mobile Devices 论文提到模型加速的方法为&#xff1a; 1&#xff09; 修剪网络&#xff0c;减少分支&#xff08;pruningnetwork connections&#xff09;。 2&#xff09; 对于一个…