一、前言
2020年底,GVM 10和GVM 11都已退休,并且不会再发布任何其他版本。Greenbone漏洞管理版本将使用基于日历的版本控制,这将使识别哪个组件版本属于哪个发行版变得更加容易。GVM-20.08是第一个使用基于日历的版本控制(2020年8月)并对所有主要组件使用相同版本的版本。官方建议所有用户和发行版都应立即切换到GVM 20.08。
从GVM-20.08版本开始,支持的平台如下:Redhat 8、Rocky 8、CentOS 8、Fedora 33、Fedora 34、Docker。本人在CentOS7平台下测试出现各种问题(如无法在安装过程中自动创建用户等),无法完成安装部署。
二、部分组件介绍
OSPd是共享相同通信协议的漏洞扫描程序的框架:OSP(开放扫描程序协议)。OSP为不同的安全扫描程序创建统一的界面,并在中央Greenbone Vulnerability Manager服务下始终提供其控制流和扫描结果。OSP在许多方面类似于GMP(Greenbone Management Protocol):基于XML的无状态非永久连接。该设计支持使用相同的协议OSP包装任意扫描程序,共享核心守护程序选项,同时添加特定于扫描程序的参数和选项。项目地址:
https://github.com/greenbone/ospd
ospd-openvas是OSP服务器实现,允许GVM远程控制OpenVAS扫描器。详细请参阅:
https://github.com/greenbone/openvas。运行后,您需要为Greenbone Vulnerability Manager配置OpenVAS,例如通过Web界面Greenbone Security Assistant。 然后,您可以创建扫描任务以使用OpenVAS。项目地址:
https://github.com/greenbone/ospd-openvas
Greenbone Vulnerability Manager——Greenbone漏洞管理(GVM)框架的数据库后端,是安全扫描程序和用户客户端之间的中央管理服务。它管理所有漏洞管理配置和扫描结果的存储。通过基于XML的Greenbone管理协议(GMP),可以访问数据、控制命令和工作流程。通过Open Scanner Protocol(OSP)可以控制像 OpenVAS这样的扫描器。项目地址:
https://github.com/greenbone/gvmd
Greenbone Security Assistant是为Greenbone Security Manager设备开发的Web前端界面 。它连接到Greenbone Vulnerability Manager GVM,以提供功能齐全的用户界面来进行漏洞管理。Greenbone安全助手包括:GSA-用React编写的网页和GSAD-与GVM守护程序对话的HTTP服务器。项目地址:
https://github.com/greenbone/gsa
OpenVAS-Scanner——该存储库包含用于Greenbone漏洞管理(GVM)的扫描程序组件。这是Greenbone漏洞管理(GVM)解决方案的开放漏洞评估扫描程序(OpenVAS)。它用于Greenbone Security Manager设备,并且是功能齐全的扫描引擎,可以执行网络漏洞测试(NVT)的持续更新和扩展的提要。项目地址:
https://github.com/greenbone/openvas-scanner
三、部署环境说明
本文中使用本地VM虚机部署测试。
OS:CentOS Linux release 8.3.2011
IP:192.168.168.108
虚机配置:2核CPU、4G内存、20G Disk
注:①系统为最小化安装,部署前已完成系统初始化、内核及安全优化;
②Iptables防火墙已启用,已开放80及443端口。
四、安装基础库文件
- yum -y install epel-release
- yum config-manager --set-enabled powertools
- yum -y install gnutls-utils libX11 libX11-common libXpm libjpeg libtiff net-snmp-utils nmap postgresql postgresql-server postgresql-contrib socat tcl teckit texlive
五、安装GVM(OpenVAS)
1.配置yum源
- wget -q -O - http://www.atomicorp.com/installers/atomic |sh
2.安装(会安装不少依赖包)
- yum -y install gvm
## 安装完成后的部分截图
3.初始化配置
## 执行初始化
- gvm-setup
## 此过程会配置NVT、scap数据、cert数据(需要比较长的时间,请耐心等待)以及设置管理账号及密码。
## 更新下载NVT,此过程所需时间有点长,请耐心等待
## 更新下载GVMD_DATA
## 更新下载SCAP_DATA
## 更新下载CERT_DATA
## 设置GSAD管理员用户密码,默认用户为:admin。管理员用户用于配置帐户、手动更新NVT并管理角色。本文中为默认管理员用户admin设置的密码为:admin123456#
## 安装配置完成
注:上图中的提示"FirewallD is not running",是因为本人用来测试安装openvas的服务器禁用了CentOS8默认的FirewallD防火墙,使用的是iptables防火墙。
4.相关服务脚本
OpenVAS Manager的进程名称为gvmd,启动:systemctl start gvmd.service
OpenVAS Scanner的进程名称为ospd-openvas,启动:systemctl start ospd-openvas.service
Greenbone Security Assistant的进程名称为gsad,启动:systemctl start gsad.service
注:安装配置完成后,所有服务都已配置开机启动。
5.更新 Feed
刚安装完成时或每次使用OpenVAS前建议先手动更新弱点数据库,以便有更好的扫描效果。后续可以使用脚本结合 Crontab 设置计划任务自动更新。更新会耗时许久,请耐心等候。
注:更新不能以特权用户root身份执行,以root用户执行会覆盖具有非特权用户的文件。需切换至gvm用户下执行。
- ## 切换至用户gvm
- su gvm
- ## 更新NVT
- greenbone-nvt-sync
- ## 更新GVMD_DATA
- greenbone-feed-sync --type GVMD_DATA
- ## 更新SCAP_DATA
- greenbone-feed-sync --type SCAP
- ## 更新CERT_DATA
- greenbone-feed-sync --type CERT
可以透过 Web 页面里的 “Adminstration” → “Feed Status” 中查看更新状态。
六、OpenVAS(GVM)基本使用操作
1.登陆
## 访问地址:https://IP,注:本文中测试服务器IP地址为192.168.168.108。服务器使用iptables防火墙,已开放80及443端口。
## 当第一次访问时,可能会出现不安全链接提示,请将此地址添加为安全例外。
## 以下界面提示证书存在错误,是因为该站点使用了不受信任的自签名的SSL证书。如果确认该站点没问题,点击“高级”(点击后即为“隐藏详情”)后再单击“继续前往192.168.168.102(不安全)”选项。
## 输入默认用户 admin 及上述步骤中设置的密码 admin123456# 登陆。密码是在上述安装过程中设置的。
## 登录后首页。
2.账号管理
## 点击”Administration“ → ”Users “,然后点击页面左侧的"New User"(带五角星的方框),新增账号与指定角色。如下图所示:
3.修改预设设定
## 点击页面右上角的用户头像图标,选择“My Settings”,如下图所示:
## 点击页面中左上角的“Edit My Settings”(带一支笔的方框),在“General”选项中设定时区让报告产出时间能符合自身规划。
## 其他设定:
Defaults Settings选项中
- Default OpenVAS Scan Config:可设定扫描的深度,发现设备的 Host Discovery 与取得系统信息的 System Discovery,建议一般扫描选择中间的 Full and fast 即可。
- Default Port List:指定扫描的 Port 类型,依据自身需求调整,可透过 Configuration 来修改 Port Lists 内容。
- Default Report Format:默认扫描报告格式,可选择XML、CSV、PDF、TXT等格式。
4.配置Scan Configs(本文中为测试,实际环境中请根据需求配置)
注:OpenVAS安装部署后,系统默认已有6个ScanConfig,如下图所示:
## 点击Configuration → Scan Configs页面,点击页面左侧的"New Scan Config"(带五角星的方框)。
## 在New Scan Config页面中,“Name”选项值填写:test,“Base”选项选择“ Full and fast ”,点击“Save”。
## 创建成功后如下图所示:
5.配置Target
## 点击Configuration → Targets 点击页面左上角“New Target”(带五角星的方框)。
## 在New Target页面中,“Name”选项值填写:test,“Hosts”选项中的“Manual”值输入对应的IP地址(本文中为OpenVAS服务器IP):192.168.168.108,"Port List"选项选择“All IANA assigmed TCP adn UDP”,其他选项保持默认,点击“Save”。
## 创建成功后如下图所示:
6.配置Task
## 点击 “Scans” → “Tasks”,如下图所示:
## 在页面左上角(带五角星的方框),点击“New Task”,如下图所示:
## 在New Task页面中,“Name”选项值填写:test,"Scan Target"选项选择上述步骤中创建的“test”,“Scan Config"选项选择上述步骤中创建的“test”,其他选项保持默认,点击Save。
## 创建成功后如下图所示:
7.开始执行扫描
## 在刚刚创建的“Task”中点击“Start”(朝右的三角形),即可立即执行扫描。扫描过程需要一段时间,可随时查看扫描进度及结果。如下图所示:
## 扫描中,如下图所示:
## 扫描完成,如下图所示:
8. 查看结果
## 当“Status”为Done是代表已经扫描完毕。
➢ Severity:由低至高颜色分别为蓝、黄、红,此三种类别分别会在“Scans” → “Results”中显示数量。
## 点击 "Last Report" 选项下的扫描完成日期时间,在切换的页面中点击"Results"可查看扫描结果。也可点击顶部导航栏中的“Scans” → “Reports” 中查看扫描的报告,若报告很多也可透过上方的 Filter 来搜寻。如下图所示:
## QoD:Quality of Detection,扫描的可靠度,最高为 100%。
## 导出扫描结果报告,点击“Download foltered Report”(下图中红色框处的,朝下箭头),在弹出的窗口中,“Report Format“选项中下拉选单选择适合文件类型。点击"OK"下载报告。
## 本文中使用Google Chrome浏览器,扫描报告下载到了Chrome浏览器设置的默认下载目录中。
## Chrome浏览器底部有文件下载提示,下载完成后可直接点击查看报告。