news 2026/4/16 10:50:13

Kali Linux下GVM(OpenVAS)安装避坑指南:解决PostgreSQL端口冲突问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kali Linux下GVM(OpenVAS)安装避坑指南:解决PostgreSQL端口冲突问题

Kali Linux下GVM(OpenVAS)安装避坑指南:解决PostgreSQL端口冲突问题

在网络安全领域,漏洞扫描是渗透测试和系统加固的重要环节。作为Kali Linux官方工具集中的重量级选手,GVM(Greenbone Vulnerability Management,前身为OpenVAS)凭借其开源特性和强大的漏洞检测能力,成为众多安全从业者的首选工具。然而在实际安装过程中,PostgreSQL数据库的端口冲突问题让不少初学者折戟沉沙。本文将深入剖析这一典型问题的成因,并提供一套经过实战验证的解决方案。

1. 环境准备与冲突诊断

在开始解决端口冲突之前,我们需要先理解Kali Linux中PostgreSQL的默认配置。Kali作为专为安全测试设计的发行版,预装了PostgreSQL 13数据库服务,默认监听5432端口。而GVM安装时会自动部署更新的PostgreSQL 14版本,两个数据库实例对同一端口的争夺正是冲突的根源。

通过以下命令可以快速确认系统中运行的PostgreSQL版本及端口占用情况:

sudo systemctl status postgresql

更详细的端口监听信息可以通过netstat查看:

sudo netstat -tulnp | grep postgres

典型的问题表现为执行gvm-setup时出现类似错误:

[ERROR] PostgreSQL service not running or not accessible [ERROR] Failed to create database: could not connect to server

2. 分步解决端口冲突

2.1 修改PostgreSQL 13默认端口

首先需要为原有数据库实例分配新的端口号,建议使用5433作为替代端口。编辑PostgreSQL 13的配置文件:

sudo vim /etc/postgresql/13/main/postgresql.conf

找到以下关键参数进行修改:

port = 5433 # 原值为5432

同时需要调整连接认证设置,确保GVM能够访问新的端口。编辑pg_hba.conf文件:

sudo vim /etc/postgresql/13/main/pg_hba.conf

在文件末尾添加以下规则:

host all all 127.0.0.1/32 md5

2.2 配置PostgreSQL 14使用标准端口

接下来为GVM专用的PostgreSQL 14实例配置标准端口。编辑其配置文件:

sudo vim /etc/postgresql/14/main/postgresql.conf

确保端口设置为标准值:

port = 5432 # 确保此值为5432

2.3 服务重启与验证

完成上述修改后,需要重启两个数据库服务使配置生效:

sudo systemctl restart postgresql@13-main sudo systemctl restart postgresql@14-main

验证端口分配是否正确的快速方法:

ss -tulnp | grep postgres

预期输出应显示两个PostgreSQL实例分别监听5432和5433端口。

3. GVM初始化与数据库配置

解决端口冲突后,可以继续完成GVM的初始化流程。首先运行设置脚本:

sudo gvm-setup

该过程会自动创建必要的数据库结构和用户账户。完成后使用检查命令验证安装完整性:

sudo gvm-check-setup

如果一切正常,输出应显示所有检查项均为OK状态。特别需要注意数据库连接相关的检查结果。

4. 常见问题排查与优化

4.1 数据库连接失败处理

若初始化后仍遇到数据库连接问题,可尝试手动创建GVM数据库用户:

sudo -u postgres createuser -DRS gvm sudo -u postgres createdb -O gvm gvmd

4.2 性能优化建议

为提高扫描效率,建议调整PostgreSQL 14的共享缓冲区大小(在/etc/postgresql/14/main/postgresql.conf中):

shared_buffers = 1GB # 根据系统内存调整,建议分配总内存的25% work_mem = 16MB # 每个查询操作的内存预算 maintenance_work_mem = 256MB # 维护操作的内存分配

4.3 自动化管理脚本

为简化日常维护,可以创建以下管理脚本(保存为/usr/local/bin/gvm-manage):

#!/bin/bash case "$1" in start) sudo systemctl start postgresql@14-main sudo gvm-start ;; stop) sudo gvm-stop sudo systemctl stop postgresql@14-main ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac

赋予执行权限后,即可通过简单命令管理GVM服务:

sudo gvm-manage start # 启动服务 sudo gvm-manage stop # 停止服务

5. 进阶配置与使用技巧

5.1 漏洞库更新优化

GVM的漏洞库更新往往耗时较长,可以通过以下方法优化:

sudo gvm-feed-update --verbose # 显示详细进度

建议设置定时任务每周自动更新:

(crontab -l 2>/dev/null; echo "0 3 * * 0 sudo gvm-feed-update") | crontab -

5.2 Web界面访问控制

如需从外部访问GVM的Web界面(默认端口9392),需要修改GSAD配置:

sudo vim /etc/default/greenbone-security-assistant

调整以下参数:

GSAD_OPTIONS="--listen=0.0.0.0 --port=9392"

5.3 扫描任务管理

创建基本扫描任务的示例命令:

sudo -u gvm gvmd --create-scanner="My Local Scanner" --scanner-type="OpenVAS" sudo -u gvm gvmd --create-target="Local Network" --hosts=192.168.1.0/24 sudo -u gvm gvmd --create-task="Weekly Scan" --scanner="My Local Scanner" --target="Local Network" --config="Full and fast"

6. 系统资源监控与维护

长期运行GVM需要关注系统资源使用情况。以下命令组合可快速查看关键指标:

watch -n 5 'ps aux | grep -E "gvmd|gsad|openvas" | grep -v grep; echo; free -h; echo; df -h /var/lib/postgresql'

对于数据库维护,定期执行vacuum操作可以回收空间并提升性能:

sudo -u postgres vacuumdb --analyze --all

建议每月执行一次完整的数据库优化:

sudo systemctl stop gvm* sudo -u postgres vacuumdb --full --analyze --all sudo systemctl start postgresql@14-main sudo gvm-start
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:49:13

雀魂Mod Plus:全面解锁游戏角色与装扮的技术实现方案

雀魂Mod Plus:全面解锁游戏角色与装扮的技术实现方案 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等,支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 你是否曾经在雀魂游戏中渴望拥有更多角色…

作者头像 李华
网站建设 2026/4/16 10:49:12

【金仓数据库实战解析】_MySQL兼容性测试中的关键差异与优化策略

1. 金仓数据库与MySQL兼容性测试概述 作为国产数据库的代表之一,金仓数据库在兼容MySQL方面做了大量工作。我在实际项目中使用金仓数据库时发现,虽然它号称与MySQL高度兼容,但在具体操作中还是存在一些需要注意的差异点。这些差异主要集中在…

作者头像 李华
网站建设 2026/4/16 10:49:11

0416晨间日记

- 关键词 - 上午 - 邮件的问题 - DA326的助焊剂的问题 - 镊子剥了是助焊剂,呈现明显的白色 - dgs的设置 - kai的电脑的进行设置 - 增加虚拟线得到 - 导入数据库 - 告诉他如何制作程式 做细节, …

作者头像 李华
网站建设 2026/4/16 10:44:29

Qwen3-Reranker-8B多场景落地:教育题库智能推荐+答案排序实战

Qwen3-Reranker-8B多场景落地:教育题库智能推荐答案排序实战 1. 引言:教育场景中的排序挑战 在教育领域,我们经常面临这样的问题:当学生提出一个问题时,如何从海量的题库中快速找到最相关的题目?或者当系…

作者头像 李华