Version 22.5.0 升级到 Version 23.3.0
因旧版本的漏洞库(CVEs CPEs等),使用greenbone-feed-sync命令更新后,最多至2024年9月,后续日期的漏洞库低版本停更,故(保留旧版本数据的情况下)升级整个GVM工具。
软件系统环境 kali Linux系统
1、停止gvm工具 与停止数据库
gvm-stop
systemctl stop postgresql.service
2、更新源
sudo apt-key del ED444FF07D8D0BF6
wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add
sudo apt update
因签名无效,先删除,再更新。请按照你实际需求操作。
3、更新gvm工具
apt install gvm
此操作会安装postgresql17数据库并更新sshd服务。偌提示sshd提示则保存现有配置文件内容。
此时因同时存在postgresql15和postgresql17两个数据库,gvm无法直接启动,需要将15库中的旧数据迁移至17中。
迁移前注意磁盘空间要足够(20-30G剩余空间)。
4、在新旧两个数据库的 数据目录下,创建软链接
cd /var/lib/postgresql/15/main
ln -s /etc/postgresql/15/main/postgresql.conf .
ln -s /etc/postgresql/15/main/conf.d .
cd /var/lib/postgresql/17/main
ln -s /etc/postgresql/17/main/postgresql.conf .
ln -s /etc/postgresql/17/main/conf.d .
5、切换用户,创建新旧数据库的socket文件
su - postgres
/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main -l /var/lib/postgresql/15/main/pg_ctl.log start -o "-p 50432 -c unix_socket_directories='/var/lib/postgresql'"
/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main -l /var/lib/postgresql/15/main/pg_ctl.log stop -o "-p 50432 -c unix_socket_directories='/var/lib/postgresql'"
/usr/lib/postgresql/17/bin/pg_ctl -D /var/lib/postgresql/17/main -l /var/lib/postgresql/17/main/pg_ctl.log start -o "-p 50433 -c unix_socket_directories='/var/lib/postgresql'"
/usr/lib/postgresql/17/bin/pg_ctl -D /var/lib/postgresql/17/main -l /var/lib/postgresql/17/main/pg_ctl.log stop -o "-p 50433 -c unix_socket_directories='/var/lib/postgresql'"
6、将15库数据迁移至17中
/usr/lib/postgresql/17/bin/pg_upgrade -b /usr/lib/postgresql/15/bin -B /usr/lib/postgresql/17/bin -d /var/lib/postgresql/15/main/ -D /var/lib/postgresql/17/main/
迁移后17库的数据目录有4.6G数据,迁移完成第一步
7、修改17库的配置文件,将端口改为5432端口。
vim /etc/postgresql/17/main/postgresql.conf
8、启动17数据库并检查启动端口。
systemctl start postgresql@17-main.service
netstat -tlnpu
9、使用gvm工具进行检查。
gvm-check-setup
gvm数据版本不匹配
10、更新gvm数据内部信息。
sudo runuser -u _gvm -- gvmd --migrate
此过程较为消耗时间与磁盘空间。
11、更新gvm数据版本信息。
su - postgres
psql
ALTER DATABASE postgres REFRESH COLLATION VERSION;
ALTER DATABASE gvmd REFRESH COLLATION VERSION;
ALTER DATABASE template1 REFRESH COLLATION VERSION;
\q
exit
12、更新页面监听地址为0.0.0.0
vim /lib/systemd/system/greenbone-security-assistant.service
13、再次使用gvm工具进行检查。
gvm-check-setup
14、网页访问,密码不变(迁移前旧版本设置的),查看CVEs漏洞库等有最新日期数据。
善后
15、停止gvm
gvm-stop
16、停止postgresql17库
systemctl stop postgresql.service
netstat -tlnpu
17、卸载postgresql15数据库并清理数据
dpkg -r postgresql-15 postgresql-client-15
dpkg -l |grep postgresql
cd /var/lib/postgresql
cat delete_old_cluster.sh
sh delete_old_cluster.sh
18、启动GVM !!
gvm-start
19、补充,设置定时任务执行脚本,每天凌晨同步漏洞库
12 0 * * * /bin/bash /XXXXXXXXX/Crontab_greenbone-feed-sync.sh
┌──(root㉿kali202301)-[XXXXXXX]
└─# cat Crontab_greenbone-feed-sync.sh
#!/bin/bash
shuzu=`ps -ef |grep gvm|grep /usr/bin/greenbone-feed-sync |grep -v grep|awk '{printf $2 "\n"}'`
if [ -n "$shuzu" ]
then
for pid in `echo $shuzu`
do
#echo $pid
kill -9 $pid
done
sleep 60
/usr/bin/greenbone-feed-sync
else
/usr/bin/greenbone-feed-sync
fi
---------原始版本安装部署时参考的文档------------
从入门到跑路(三)使用openVAS对服务器进行漏洞扫描_openvas 漏扫后 serverity 2.6-CSDN博客
https://github.com/greenbone/notus-scanner
kali linux 2017.2 OpenVAS9.0安装和使用_51CTO博客_kali安装openvas失败