服务器定期漏洞扫描,使用OpenVAS实操
服务器定期漏洞扫描是安全运维的基础动作,而 OpenVAS(现称 Greenbone 漏洞管理)是开源方案中功能较完整的选择。
本文面向零基础用户,从安装、配置到执行扫描和解读报告,一步步带你搭建可重复的漏洞巡检流程。
安装前的环境确认
OpenVAS 对系统资源有一定要求,建议单独准备一台 Linux 主机或虚拟机,配置不低于 2 核 CPU、4GB 内存、20GB 磁盘。
推荐使用 Debian 或 Ubuntu 系统,安装过程会更顺畅。
先更新系统并安装依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 software-properties-common
添加 Greenbone 官方源并安装:
sudo add-apt-repository ppa:mrazavi/gvm
sudo apt update
sudo apt install -y gvm
安装完成后,运行初始化脚本:
sudo gvm-setup
这个过程会下载漏洞库并初始化数据库,耗时较长,请耐心等待。
完成后会生成管理员密码,务必保存。
启动服务与首次登录
OpenVAS 由多个服务组成,启动并检查状态:
sudo gvm-start
sudo gvm-check-setup
如果 gvm-check-setup 提示一切正常,就可以通过浏览器访问 https://你的服务器IP:9392。
使用安装时生成的 admin 账号和密码登录。
首次登录后,建议立即在 Administration > Users 中修改默认密码,并创建一个专用的扫描账号,避免直接使用 admin 执行日常任务。
创建扫描任务并执行
登录后,按以下路径创建扫描目标:
- 点击顶部菜单
Scans,选择Targets,点击紫色星号图标新建目标。 - 在
Name填写目标名称,例如Web服务器巡检。 - 在
Hosts中填写要扫描的 IP 或网段,如192.168.1.10或192.168.1.0/24。 - 其他选项保持默认,点击
Create保存。
接着创建扫描任务:
- 进入
Scans > Tasks,点击星号图标新建任务。 Name填写任务名,Scan Targets选择刚才创建的目标。Scanner选择默认的OpenVAS Default Scanner。Scan Config可根据需求选择,初次使用建议选Full and fast,平衡速度和覆盖面。- 点击
Create保存。
任务创建后,点击任务右侧的绿色播放按钮开始扫描。
扫描时间取决于目标数量和网络状况,可以在任务列表查看进度。
解读报告与定期调度
扫描完成后,点击任务名称进入详情,再点击 Reports 查看结果。
报告会按严重程度列出漏洞,通常分为 Critical、High、Medium、Low 和 Log。
重点关注 High 及以上级别,结合漏洞描述和解决方案进行修复。
为了实现定期扫描,可以在任务设置中配置调度:
- 编辑任务,找到
Schedule选项。 - 选择已有调度或新建,例如每周日凌晨 2 点执行。
- 保存后,任务会按计划自动运行。
定期扫描的关键是形成闭环:扫描、修复、复扫。
建议每次修复后重新扫描验证,确保漏洞真正关闭。
常见问题与避坑要点
扫描速度慢或卡住:OpenVAS 对目标进行深度探测时可能较慢,可调整 Scan Config 为 Full and fast 或减少并发主机数。
同时确保扫描主机与目标之间网络稳定。
漏洞库更新失败:检查服务器能否访问外网,必要时配置代理。
手动更新可运行 sudo greenbone-feed-sync,观察输出是否报错。
报告误报较多:OpenVAS 基于版本和 banner 判断,可能产生误报。
对每个高危漏洞,先人工确认再修复,避免盲目操作影响业务。
资源占用高:扫描期间 CPU 和内存使用率会上升,建议在业务低峰期执行,或为 OpenVAS 分配独立资源。
权限问题:如果使用非 root 用户运行,可能遇到权限错误。
建议用安装时指定的用户或 sudo 执行管理命令。
验证扫描效果
执行一次完整扫描后,你可以通过以下方式验证效果:
- 查看报告中的漏洞数量是否随修复而减少。
- 对比不同时间点的报告,确认高危漏洞已关闭。
- 检查调度任务是否按计划自动执行,报告是否自动生成。
如果扫描结果符合预期,说明定期漏洞扫描流程已初步建立。
后续可根据业务变化调整扫描目标和频率,让安全巡检持续有效。