OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性。与安全焦点的X-Scan工具类似,OpenVAS系统也采用了Nessus较早版本的一些开放插件。OpenVAS能够基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,管理员通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果。

一套完整的OpenVAS系统包括服务器端,客户端的多个组件。如下图:

1、服务器层组件(建议都安装)

openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。

openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。

openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。

2、客户层组件(任选其一即可)

openvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。

greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的web接口,便于通过浏览器来执行扫描任务,是使用最简便的客户层组件。

Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。


   除了上述各工作组件以外,还有一个核心环节,那就是漏洞测试插件更新。OpenVAS系统的插件来源有两个途径,一、官方提供的NVT免费插件,二、Greenbone Sec公司提供的商业插件。


构建OpenVAS服务器

   安装OpenVAS各种组件之前,有一系列的依赖软件包必须提前安装,其中一些可以从系统光盘中找到,另外一些必须额外下载。如果将要部署OpenVAS服务的主机能够访问Internet,建议采用官方网站(http://www.openvase.org/)推荐的在线安装方式,便于自动解决依赖关系;否则应下载必须的软件包进行离线安装(本文以后者为例)。

注意:本文针对的是RHEL5.5的系统,如果大家使用的是非RHEL5.5的系统则安装的软件也有所不同,所以大家不要盲目安装。

1、安装基本依赖包

挂在系统光盘,并安装以下列出的所有软件包(写在一条名字执行),如有提示存在依赖关系,则根据提示安装相应的软件包即可。

2、下载、安装其他依赖包

从OpenVAS官网或http://www.atomicorp.com/下载以下列出的所有依赖包,并使用rpm命令进行安装。

3、下载、安装OpenVAS相关组件包

从OpenVAS官网或http://www.atomicorp.com/下载以下列出的所有组件包,并使用rpm命令进行安装。

4、确认安装结果

成功完成安装以后,执行以下操作可查看相关程序,服务脚本,配置文件以及日志文件等。

5、启动OpenVAS服务组件

   根据OpenVAS系统的工作结构,需要启动三个服务层组件,Scanner扫描器,Manager管理器,administrator管理者,以及提供Web接口的客户层组件Greebone安全助手。

启动服务层组件

   系统服务openvase-manager。openvas-scanner一般会在安装后自动启用,而另一个系统服务openvas-administrator需要手动启用。其中manager监听端口为9390,scanner监听端口为9391,administrator监听端口为9393。

启用客户层组件

   Greenbone安装助手对应的系统服务为gsad,通常也会自动启动,但默认仅在IP地址127.0.0.1的9392端口监听服务。r若要从网络中的其他主机访问,建议监听地址修改为实际可用的IP地址,或者改为0.0.0.0后再启动服务。

[root@localhost /]#vim /etc/sysconfig/gsad

GSA_ADDRESS=0.0.0.0

GSA_PORT=9392

......//省略部分内容

[root@lcoalhost /]#service gsad restart

除此之外,当用户通过浏览器查看扫描报告时,Openvas默认以nobody用户身份降权执行,在Linux系统中可能因nobody的登录shell问题而出现故障。将nobody用户的登录shell有/sbin/nologin改为/bin/bash后可以避免出现此故障。

[root@locahost /]#usermod -s /bin/bash nobody

6、获取扫描插件

   Openvas提供了一个名为openvas-nvt-sync的脚本,可以用来在线更新插件,如果服务器能够访问官方网站,则直接执行此脚本进行更新即可。本文是将下载好的插件复制给openvas系统进行离线安装。安装完插件以后,需要重启openvas-scanner服务,可能需要耗费较长的时间,请耐心等待。

7、添加扫描用户

   Openvas的用户包括两种类型:普通用户,管理员用户。管理员除了具有授权的扫描权限以外,还能够对openvas系统设置,评估报告,配置信息等进行管理。

   添加一个admin的普通用户,允许针对192.168.1.0/24,192.168.2.0/24这两个网段中的主机进行漏铜检测。若不设置规则直接按Ctrl+D提交确认,则用户默认不受限制(允许扫描任意目标),然后输入yes确认即可。

   将admin用户升级为管理员用户,只需要将一个isadmin的开关文件复制到普通用户的目录下即可。

[root@localhost /]# touch /var/lib/openvas/users/admin/isadmin

若要删除一个用户可以使用“openvas-rmuser”命令,语法为“openvas-rmuser 用户名”。

此时此刻Openvas漏洞检测系统就算是部署完成了,现在只需要启用扫描任务就可以扫描目标主机了。那么我们如何进行扫描呢?请接着向下看吧!


执行漏铜扫描任务

1、连接Openvas服务器

   在客户机中,使用浏览器连接到openvas系统的gsad服务(9392端口);若使用Greenbone桌面套件程序,则连接到openvas-manager服务(9390端口)。关于Greenbone桌面套件的使用,其操作思路和方法基本相似。

   gsad服务默认基于HTTPS协议提供web访问接口,因此访问时应使用“https://...”的URL路劲,并指定gsad服务的端口号,方可看到登录入口。如下图:

以指定的扫描用户admin登录以后,将进入到Greenbone安全助手的主操作界面。注意:客户端和服务器的系统时间不能相差太远,否则可能登录不成功。如下图:

2、定义扫描目标

   单机左侧Configuradion导航栏下的Targets链接,在右侧表单中填写将要评估的目标主机名,IP地址等相关信息,然后单击“Create Target”按钮。如下图:即可定义扫描目标。

3、创建扫描任务

   单击左侧Scan Management导航栏下的New Task链接,在右侧表单中设置任务名称,扫描目标,扫描配置默认使用的“Full and fast”快速完全扫描,然后单击“Create Task”按钮即可创建一个新的扫描任务。如下图:

4、执行扫描

执行扫描只需要单击开始按钮即可。

5、查看扫描结果

查看扫描结果只需要单击查看按钮即可。