openvas是一款强大的漏洞扫描工具,利用丰富的动态漏洞库进行服务器扫描,定位各种服务漏洞,包括但不限于各种web框架api框架,各种中间件等,便于我们进行针对性安全加固,确保服务器安全稳定。(本文旨在进行技术分享,如利用本文内容用于其他用途,造成的任何后果自行承担)
首先openvas对硬件有一定要求,建议4核8G,100G磁盘或更高配置服务器进行安装部署,否则会非常卡顿。另外不建议将openvas与其他服务部署在同一服务容器中,包括物理服务器及虚拟机等。
本文采用CentOS8.5系统进行部署安装。
安装前准备
1.本工具具备扫描和攻击性,处于安全考虑不建议在生成环境部署,不建议与其他服务在同一服务器部署。
2.`SELINUX`作为centos系统主要文件安全管理组件并不支持openvas运行,需要关闭。
sudo setenforce 0 #临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭
3.yum源替换,考虑国内网络环境存在限制,可替换yum源,因为yum源一直处于变动状态建议根据系统版本和具体网络环境进行选择。这里代码需要根据系统及系统版本进行调整,核心目的就是替换yum安装时国外源无法使用或卡顿的情况,大家可根据自身情况进行修改。
# 替换 CentOS 官方源为阿里云镜像
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*
# 添加 GVM 国内镜像源(清华大学)
sudo tee /etc/yum.repos.d/gvm.repo <<EOF
[gvm]
name=Greenbone Vulnerability Manager
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gvm/releases/gvm-20.08/centos/8/
enabled=1
gpgcheck=0
EOF
4.安装服务依赖组件(非openvas本身组件,但包含postgresql数据库及redis缓存)。openvas并不使用用户名密码的方式进行连接登录,redis采用sock本机连接,而postgresql则采用系统用户peer授权。
yum install -y epel-release
yum config-manager --set-enabled powertools # 启用 PowerTools 仓库
yum groupinstall "Development Tools" -y
yum install -y cmake glib2-devel postgresql-server postgresql-contrib redis
gnutls-devel libssh-devel openldap-devel libxml2-devel python3-devel
5.初始化数据库。
# postgresql数据库初始化
postgresql-setup --initdb
# 设置开机启动及同步启动服务postgresql数据库及redis服务
systemctl enable --now postgresql redis
# redis安装相关说明这里就不说了,不需要设置密码,openvas采用同服务器socke连接。
# postgresql数据初始化后可查看一下数据库状态,openvas采用peer系统用户授权登录,同样不需要设置密码
安装结束后需要确认服务情况。


一定确保postgresql和redis安装运行正常。注意,postgresql数据不能以root用户启动,会以postgres用户启动和管理,所以记得文件授权,如果没有自动建立用户需要手动创建,同时测试及访问也一样需要通过su命令切换到postgres用户才能执行。可以在root用户下使用sudo -u postgres [命令]的方式执行。
查看数据库情况,由于才安装并没有其他库存在。下图中的gvmd库是在安装openvas后才有的,所以初始安装之后应该没有这个库,只有后面三个库存在。

openvas的安装
yum install -y gvm gvm-tools gvm-libs # 使用国内镜像源安装:ml-citation{ref="4" data="citationList"}
usermod -aG gvm $USER # 将当前用户加入 gvm 组
耐心等待安装完成,之后使用脚本进行正式安装。
gvm-setup
大家可以看一下脚本,脚本位于/usr/bin目录。








脚本执行完成后可查看一下服务启动情况,首先是消息组件mosquitto

接着是web组件

扫描器组件

扫描控制组件

服务主体

以上全部服务状态正确。
访问及简单使用
通过ip:9392端口进行访问,这里端口是可以修改的,在/etc/sysconfig/gsad 中进行修改,相关配置修改都有说明。

使用gvm-setup执行中设置的密码登录。

首先看一下漏洞库加载,可以看到有十多万个

之后看一下scan-config是否加载成功。如果这里没有,说明漏洞文件存储目录权限设置不对。

然后创建一个简单任务。




之后慢慢等待任务执行结束即可,会自动生成报告。



2205

被折叠的 条评论
为什么被折叠?



