一、关于openvas
openvas是一个开源的漏洞扫描器。openvas是nessus的一个项目分支。
openvas目前已更名为gvm,所以网上大量老版本openvas的命令,都需要做替换(如openvas-setup替换为gvm-setup)。
二、openvas/gvm的安装
apt-get update
apt-get upgrade # 更新apt库
apt-get gvm # 安装gvm
gvm-setup #执行gvm初始化
进行到这里,作者使用的是2023~2024年的kali镜像,gvm的初始化程序会返回报错
可以在gvm官方文档找到详细的解决办法:gvm官方文档
报错信息指出:当前系统使用的postgresql版本为15,不是gvm需要使用17。我们需要将原有的15实例更新到17。
下面解决postgresql的问题:
pg_lsclusters # 列出当前实例
# Ver Cluster Port Status Owner Data directory Log file
# 15 main 5432 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
# 17 main 5433 online postgres /var/lib/postgresql/17/main /var/log/postgresql/postgresql-17-main.log
# 从结果可以看出,当前存在2个版本的实例,我们先停止、删除17实例(非必需,如果直接升级不行就删),之后进行15实例的更新
pg_ctlcluster 17 main stop # 停止17
pg_lsclusters # 列出当前实例,可以发现17已经停止
pg_dropcluster 17 main # 删除17
pg_lsclusters # 列出当前实例,可以发现17已经消失
pg_upgradecluster 15 main # 升级15到17
pg_lsclusters # 列出当前实例,可以发现从15升级到17的结果,并且15实例已经停止
pg_dropcluster 15 main # 删除旧的15
apt autoremove # 清理旧文件(如有必要)
pg_lsclusters # 列出当前实例,确认当前运行的17版本已在监听gvm所需的5432端口
一般而言,系统会自动使用5432端口进行监听,如果没有自动监听该端口,我们手动调整
sudo -u postgres psql -c 'SHOW config_file' # 查看配置文件目录
# /etc/postgresql/17/main/postgresql.conf
# 编辑该文件
vim /etc/postgresql/17/main/postgresql.conf
# 将port修改为5432,之后重启服务
systemctl restart postgresql