OpenVAS,即开放式漏洞评估系统,是一个用于评估目标漏洞的杰出框架。功能十分强大,最重要的是,它是“开源”的——就是免费的意思啦~
它与著名的Nessus“本是同根生”,在Nessus商业化之后仍然坚持开源,号称“当前最好用的开源漏洞扫描工具”。最新版的Kali Linux(kali 3.0)不再自带OpenVAS了,所以我们要自己部署OpenVAS漏洞检测系统。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。
但是它的最常用用途是检测目标网络或主机的安全性。它的评估能力来源于数万个漏洞测试程序,这些程序都是以插件的形式存在。openvas是基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,用户通过浏览器或者专用客户端程序来下达扫描任务,服务器端负责授权,执行扫描操作并提供扫描结果。
本文档属于部署方案文档,详细介绍了部署方法,搭建部署过程中有很多踩过的坑,这里整理出来供参考。
OpenVAS系统架构
一套完整的openvas系统包括服务器端和客户端的多个组件,如下图所示:
kali Linux安装openvas
我这里是在kali linux系统上安装的openvas,最新版本的kalilinux系统是不带openvas的
注意:openvas服务器端仅支持安装在linux操作系统中,客户端安装在windows和Linux系统均可。
我的linux系统版本号如下:
虚拟机的网络连接方式如下,设置为桥接模式,设置为NAT。
1. 更新软件包列表:
apt-get update
2. 获取到最新的软件包:
apt-get dist-upgrade
3. 安装openvas
apt-get install openvas
执行以上命令后,如果没有报错,说明已经成功安装openvas。
4.下载并更新OpenVAS库
openvas-setup
在更新openvas库过程中创立了证书,下载及更新了一切扫描插件。
5.在更新OpenVAS库时,自动为admin用户创建了一个密码,只是该密码比较长,不容易记忆,我们使用如下命令将admin密码修改为容易记忆的密码,以kali123为例:
另外,我们新增一个普通用户wdl1,如下图:
6.openvas-check setup
这个命令用于查错并用来确认OpenVAS是否成功安装,用apt-get安装总会出现这样那样的错误,我们可以用openvas-check-setup查看安装到哪步出错了,以及缺少什么东西。
当出现如下结果时,表示安装成功:
然后输入openvasmd –rebuild:rebuild the openvasmd database
安装完成后,在应用程序—〉漏洞分析中会出现openvas这个应用,如下图:
注意:openvas安装好之后并没有openvas-restart命令和openvas-status命令,该命令需要自定义安装。
在/usr/bin目录下,新建两个文件夹,分别为openvas-restart和openvas-status,然后赋予这两个文件可执行的权限:
openvas-restart和openvas-status内容分别如下:
之后就能够使用openvas-restart命令重启系统,使用openvas-status察看openvas系统状态了:
可以看到openvas目前处于运行状态。
由于OpenVAS是基于C/S,B/S架构进行工作的,所以,如果要使用该漏洞检测系统,必须先将OpenVAS服务启动,客户端才能连接进行测试。
双击应用程序中的openvas start启动openvas服务,出现如下界面:
或者输入命令行程序openvas-start来启动openvas服务
当openvas服务成功启动后,用户就可以连接openvas服务器并进行扫描了。根据前面的介绍,可知openvas有三种不同的客户端,分别是:OpenVAS命令行接口,Greenbone安全助手和Greenbone桌面套件。而且客户端能够用于各种操作系统。在kali linux中,默认安装的是Greenbone安全助手。
本部署方案中使用最简单的浏览器客户端方式访问OpenVAS服务。因为,这种使用方式不仅简单,而且不需要客户额外安装应用程序,避免了枯燥的命令行方式,用户在任何操作系统中只要通过浏览器就可以在本地或远程连接OpenVAS服务器来对目标主机或网络进行漏洞检测。
然后我们使用客户层组件Greenbone-security-assistant访问openvas服务器,通过浏览器来建立扫描任务。
绿骨安全助手 GSA( Greenbone Security Assistant)是开放漏洞评估系统 OpenVAS(OpenVulnerability Assessment System)的基于网页的用户图形界面。 GSA 通过 OpenVAS Management Protocol (OMP) 连接 OpenVAS Manager。 通过实现完整的 OMP 特性集合,GSA 提供了一个直接了当的、非常强力的途径以管理网络漏洞扫描。
安装完成后,openvas默认设置的监听地址为127.0.0.1,每次使用都只能用linux虚拟机打开浏览器通过https://127.0.0.1:9392来进行登录扫描,不如通过自己的电脑浏览器连接到openvas服务器直接进行扫描来的方便。
如果openvas安装在远程服务器或者虚拟机里面,则必须用服务器或者虚拟机打开浏览器来扫描,这样比较麻烦。用户更加希望,通过自己的电脑浏览器连接到openvas服务器,直接进行扫描。下面介绍配置外部访问的方法:
openvas新版本有两种方式控制openvas的开关,一种是服务的方式,一种是脚本的方式。
这种方式是通过openvas-start/openvas-stop脚本启动和关闭的,这两个脚本里调用的是service指令。启动openvas服务的脚本都存放在/lib/systemd/system下。
修改三个配置文件openvas-manager.service,openvas-scanner.service和greenbone-security-assistant.service,将配置文件中的监听IP由127.0.0.1改为0.0.0.0(相比于更改为openvas服务器的实际IP地址,改为0.0.0.0会更好,因为0.0.0.0代表本机的任意地址,适用于服务器有多个IP或者服务器IP有变动的情况)。修改后的三个配置文件内容如下:
需要三个脚本控制开启和关闭openvas,
/etc/init.d/openvas-manager //管理manager服务 /etc/init.d/openvas-scanner //管理scanner服务 /etc/init.d/greenbone-security-assistant //管理gsad服务
这三个脚本对应了三个配置文件,分别为:
/etc/default/openvas-manager /etc/default/openvas-scanner /etc/default/greenbone-security-assistant
分别修改配置文件中的监听ip,由127.0.0.1改为0.0.0.0,保存。修改后三个配置文件的内容分别如下:
察看openvas的监听地址,如下图:
或者使用ps aux | less命令查看系统目前正在运行的进程。
可以看到,openvas监听地址已由127.0.0.1变为0.0.0.0。
察看linux虚拟机的IP地址为192.168.9.208:
在不登录linux服务器的情况下,即可在本机windows系统的客户端浏览器中输入https://192.168.9.208:9392/login/login.html 连接openvas服务器进行漏洞检测。
注意:要保证主机和虚拟机间能通信。经过在多台台式机测试,测试者都能通过自己台式机浏览器连接我部署的openvas漏洞检测系统进行主机和网络安全测试。