零基础快速掌握OpenVAS漏洞扫描工具使用全流程
为什么要用OpenVAS做漏洞扫描
很多新手站长以为装了防火墙、改了默认端口就万事大吉,实际上服务器每天都有新的CVE漏洞曝出。
OpenVAS(现在叫Greenbone Vulnerability Manager)是一个免费开源的漏洞扫描器,能自动检测系统和服务中的已知安全问题。
本文会手把手带你完成从安装到出报告的全过程,不需要你有安全背景,跟着命令走就行。
开始之前:你最少需要一台干净的Linux服务器
OpenVAS建议安装在Ubuntu 20.04/22.04或Debian 11/12上,云服务器或虚拟机都行。
内存最好不低于4GB,硬盘剩余空间至少20GB,因为漏洞数据库会占用不少地方。
另外确保服务器能够正常访问外网,因为安装过程中需要拉取软件包和漏洞特征库。
如果你用的是CentOS或Rocky Linux,官方也有安装方式,但新手优先推荐Ubuntu,依赖问题最少。
一步步装好OpenVAS(以Ubuntu 22.04为例)
第一步:更新系统并安装依赖
用SSH登录服务器,先跑一遍更新:
sudo apt update && sudo apt upgrade -y
然后安装必要的工具:
sudo apt install curl gnupg -y
第二步:添加Greenbone官方仓库并安装
Greenbone(OpenVAS的继任者)提供了官方安装脚本,一键搞定:
export DEBIAN_FRONTEND=noninteractive
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:mrazavi/gvm
sudo apt update
接着安装完整套件(这个命令比较长,耐心等待):
sudo apt install -y gvm
安装过程会自动下载OpenVAS、Greenbone Vulnerability Manager、扫描引擎等组件,耗时约5-10分钟,视网络情况而定。
第三步:初始化漏洞数据库
安装完成后,执行初始化命令,这一步会下载所有漏洞定义:
sudo gvm-setup
看到绿色提示“Setup complete”才代表成功。
中途如果报错,先检查网络连接,再重试一次。
第四步:启动服务并查看状态
初始化完成后,启动 Greenbone 服务:
sudo systemctl start gvmd
sudo systemctl start gsad
用下面命令确认两个服务都在运行(active):
sudo systemctl status gvmd
sudo systemctl status gsad
gvmd是核心管理进程,gsad是Web界面服务。
都正常运行后,你就能通过浏览器访问OpenVAS了。
第一次登录和运行扫描
OpenVAS默认监听本地127.0.0.1:9392,为了安全,建议用SSH隧道把端口映射到本机,而不是直接暴露到公网。
在你本地电脑终端执行:
ssh -L 9392:127.0.0.1:9392 你的服务器用户名@服务器IP
然后打开浏览器访问 https://127.0.0.1:9392。
默认用户名是 admin,密码可以通过以下命令查看:
sudo gvm-check-setup | grep -i password
登录后,点击左侧菜单的“Scans” → “Tasks” → 蓝色“New Task”按钮。
填写任务名称,Target选你服务器的IP地址(可以先扫本机练手),配置保持默认,然后点击“Save”和“Start”。
扫描速度取决于服务器性能和漏洞库大小,一般10-30分钟完成。
完成后在“Reports”里查看结果,会列出每个漏洞的严重等级、CVE编号和修复建议。
避坑和常见问题解答
- gvm-setup卡在70%不动:通常是网络问题导致下载漏洞数据失败。可以先手动执行
sudo greenbone-feed-sync --type ALL,耐心等待完成后重新跑一次 gvm-setup。 - Web界面打不开:确认防火墙放行了9392端口,或者检查gsad服务是否正常。也可以用
sudo systemctl restart gsad重启Web服务。 - 扫描结果全是绿色(无漏洞):对于刚安装的干净系统,没漏洞是正常的。可以先拿一台已知未打补丁的机器扫描测试,或者扫描Windows服务器上的常见漏洞。
- 内存不足问题:如果服务器只有2GB内存,建议先增加swap空间,否则gvm-setup会被OOM杀死。创建swap的命令:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
如何验证OpenVAS真的在工作
除了看状态,最直接的验证方式是扫描完一份报告后,检查漏洞数量是否合理。
例如用Nmap扫同一个靶机,对比OpenVAS发现的开放端口是否一致。
另外可以故意安装一个有过期漏洞的软件包(如老版本Apache),再扫描看能否正确检出。
如果你只是想日常使用,建议每周跑一次定时扫描,配合邮件通知。
调度任务可以在OpenVAS的Web界面中配置周期。
请记住:OpenVAS扫描会占用系统资源,生产环境建议在业务低峰期执行。
刚开始接触时,先从扫描本机内部IP开始,熟悉流程后再扩展到其他服务器。