构建OpenVAS 4漏洞评估系统

更新时间:2023-07-24 23:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

构建OpenVAS 4漏洞评估系统

构建OpenVAS 4漏洞评估系统

2011.05.17 TsengYia# /

—— 附注:OpenVAS(Open Vulnerability Assessment System)是一套开源的漏洞/弱点扫描系统,可以强力替代著名的Nessus漏洞检测系统(已经非开源)。OpenVAS集成了多个服务、组件,既提供大量的免费扫描插件(NVT,Network Vulnerability Tests),也提供商业化的增强扫描插件(GSF,Greenbone Security Feed)。

#################################################################

系统环境:

服务器 —— RHEL 5.5 [2.6.18-194.el5]

客户机 —— Microsoft Windows 7

OpenVAS的工作结构:

图1,OpenVAS4-Structure.png 各程序组件的协作关系

<img src="/blog/upfile2/110517235219.png" onload="javascript:if(this.width>500)this.width=500;" border="0">

图2,OpenVAS4-Feed.png 扫描插件来源(NVT、GSF)

<img src="/blog/upfile2/110517235309.png" onload="javascript:if(this.width>500)this.width=500;" border="0">

软件环境:

客户机端(用户接口)

(1) 专用软件:/download/Greenbone-Desktop-Suite-1.2.0.exe

(2) 网页浏览器器:Internet Explorer 8.0

服务器端(扫描程序及插件)

(1) 基本依赖包(来自RHEL 5.5 系统安装盘)

gnupg2-2.0.10-3.el5.i386.rpm openldap-clients-2.3.43-12.el

5.i386.rpm

libksab-1.0.5-2.el5.i386.rpm pinentry-0.7.3-3.el5.i386.rpm libtool-ltdl-1.5.22-7.el5.i386.rpm pth-2.0.7-6.el5.i386.rpm lm_sensors-2.10.7-9.el5.i386.rpm tetex-3.0-33.8.el5.i386.rpm net-snmp-5.3.2.2-9.el5.i386.rpm tetex-dvips-3.0-33.8.el5.i386.rpm

net-snmp-utils-5.3.2.2-9.el5.i386.rpm tetex-fonts-3.0-33.8.el5.i386.rpm

构建OpenVAS 4漏洞评估系统

nmap-4.11-1.1.i386.rpm tetex-latex-3.0-33.8.el5.i386.rpm

(2) 其他依赖包(可从/、/下载)

compat-gnutls2-2.8.5-2.1.el5.art.i386.rpm python-fpconst-0.7.3-3.el5.art.noarch.rpm

gpgme-1.1.7-1.el5.art.i386.rpm python-SocksiPy-1.00-4.el5.art.noarch.rpm

graphviz-2.16.1-1.el5.art.i386.rpm python-sqlite2-2.3.3-4.el5.art.i386.rpm

graphviz-python-2.16.1-1.el5.art.i386.rpm SOAPpy-0.11.6-5.el5.art.noarch.rpm

libmicrohttpd-0.4.2-2.el5.art.i386.rpm sqlite-3.7.0.1-1.el5.art.i386.rpm

libtasnl-2.4-1.el5.art.i386.rpm sqlite-devel-3.7.0.1-1.el5.art.i386.rpm

mingw32-nsis-2.45-3.el5.art.i386.rpm w3af-1.0-4.el5.art.i386.rpm

nikto-2.1.4-1.el5.art.noarch.rpm wmi-1.3.14-2.el5.art.i386.rpm

ovaldi-5.6.4-1.el5.art.i386.rpm wordnet-3.0-13.el5.art.i38

6.rpm

pnscan-1.11-1.el5.art.i386.rpm xalan-c-1.10.0-6.el5.art.i386.rpm

pyPdf-1.10-4.el5.art.noarch.rpm xerces-c-2.8.0-4.el5.art.i386.rpm

python-BeautifulSoup-3.07a-3.el5.art.noarch.rpm

(3) OpenVAS主要组件(可从/、/下载)

greenbone-security-assistant-2.0.1-3.el5.art.i386.rpm

openvas-1.0-0.5.el5.art.noarch.rpm

openvas-administrator-1.1.1-2.el5.art.i386.rpm

openvas-cli-1.1.2-2.el5.art.i386.rpm

openvas-glib2-2.22.5-1.el5.art.i386.rpm

openvas-glib2-devel-2.22.5-1.el5.art.i386.rpm

openvas-libraries-4.0.4-1.el5.art.i386.rpm

openvas-libraries-devel-4.0.4-1.el5.art.i386.rpm

openvas-manager-2.0.3-3.el5.art.i386.rpm

openvas-scanner-3.2.3-1.el5.art.i386.rpm

#################################################################

构建OpenVAS 4漏洞评估系统

一、服务器安装与配置

1. 软件包安装

依次安装基本依赖包、其他依赖包、OpenVAS主要组件(具体过程略)。 确认安装后的相关文件、脚本——

[root@localhost ~]# ls /usr/sbin/{gsad,openvas*} #//主要执行程序

/usr/sbin/gsad /usr/sbin/openvas-mkcert-client /usr/sbin/openvasad /usr/sbin/openvas-nvt-sync

/usr/sbin/openvas-adduser /usr/sbin/openvas-nvt-sync-cron /usr/sbin/openvasmd /usr/sbin/openvas-rmuser

/usr/sbin/openvas-mkcert /usr/sbin/openvassd

[root@localhost ~]# ls /etc/init.d/{gsad,openvas*} #//主要系统服务脚本

/etc/init.d/gsad /etc/init.d/openvas-manager

/etc/init.d/openvas-scanner /etc/init.d/openvas-administrator

[root@localhost ~]# ls /etc/openvas/ #//主要配置文件

gsad_log.conf openvasmd_log.conf openvassd.rules openvasad_log.conf openvassd.conf

[root@localhost ~]# ls /etc/sysconfig/{gsad,openvas*} #//默认配置文件

/etc/sysconfig/gsad /etc/sysconfig/openvas-manager

/etc/sysconfig/openvas-scanner /etc/sysconfig/openvas-administrator

[root@localhost ~]# ls /var/log/openvas/ #//主要日志文件

greenbone-nvt-sync.log openvasmd.log

openvassd.log openvasad.log openvassd.dump

2. 启动OpenVAS各组件的服务器程序

安装后包括四个系统服务,各自承担不同的用途。

openvas-manager #//负责与客户端Greebone程序通信,完成扫描任务、检测报告的提交等工作,默认端口为9390

openvas-scanner #//实际执行扫描的主服务,默认端口为9391 gsad #//负责提供Web访问界面,默认监听地址为127.0.0.1,端口为9392

openvas-administrator #//负责与openvas-manager、gsad通信,完成用户和配置管理等操作,默认监听地址为127.0.0.1,端口为9393

构建OpenVAS 4漏洞评估系统

其中openvas-manager、openvas-scanner会在安装后自动启用,其余两个服务根据需要手动启动。

gsad服务默认只监听127.0.0.1,若要从客户机的浏览器中访问,建议将其改为0.0.0.0后再启动服务。

[root@localhost ~]# vi /etc/sysconfig/gsad

GSA_ADDRESS=0.0.0.0

GSA_PORT=9392

[root@localhost ~]# /etc/init.d/gsad start

Starting greebone-security-assistant: [确定]

确认四个服务都启动后的监听状态。

[root@localhost ~]# netstat -anpt | grep ":939"

tcp 0 0 0.0.0.0:9390 0.0.0.0:* LISTEN 6981/openvasmd

tcp 0 0 0.0.0.0:9391 0.0.0.0:* LISTEN 6971/openvassd:wai

tcp 0 0 0.0.0.0:9392 0.0.0.0:* LISTEN 7319/gsad tcp 0 0 127.0.0.1:9393 0.0.0.0:* LISTEN 7436/openvasad

3. 获取扫描插件(在线或离线方式均可)

(1) 在线同步最新插件,可及时获得最新版插件

[root@localhost ~]# openvas-nvt-sync

(2) 下载离线插件包进行安装

[root@localhost ~]# wget /openvas-nvt-feed-current.tar.bz2

[root@localhost ~]# tar jxf openvas-nvt-feed-current.tar.bz2 -C /var/lib/openvas/plugins/nvt/

—— 更新插件内容后需重启openvas-scanner服务,由于插件数量众多(4万多个),再次启动此服务需耗费较长时间,请耐心等待。

[root@localhost ~]# /etc/init.d/openvas-scanner restart

Stopping openvas-scanner: [确定] Starting openvas-scanner: [确定]

4. 创建扫描用户、管理员用户

(1) 创建普通扫描用户scanner,允许检测192.168.4.0/24、10.0.0.0/24网段

[root@localhost ~]# openvas-adduser

Using /var/tmp as a temporary file holder.

Add a new openvassd user

-------------------------

Login: tsengyia #//输入要添加的扫描用户名

构建OpenVAS 4漏洞评估系统

Authentication (pass/cert)[pass]: #//直接回车使用默认的密码认证方式

Login password: #//设置密码

Login password(again): #//设置密码(确认)

User rules

------------

openvassd has a rules system which allows you to restrict the hosts that tsengyia has the right to test.

For instance, you may want him to be able to scan his own host only. Please see the openvas-adduser(8) man page for the rules syntax. Enter the rules for this user, and hit ctrl-D once you are done. (the user can have an empty rules set)

accept 192.168.4.0/24 #//设置授权规则(允许扫描哪些网段或主机)

accept 10.0.0.0/24

default deny #//设置默认授权规则(若不指定任何规则,默认允许扫描任意主机、网络)

Login tsengyia

Password ************

Rules

accept 192.168.4.0/24

accept 10.0.0.0/24

default deny

Is that ok? (y/n)[y] #//直接回车接受前述设置,完成用户添加

user added.

(2) 创建管理员用户admin

先使用openvas-adduser工具添加普通的扫描用户admin,然后其配置目录中建立isadmin文件,即可将角色设置为管理员。

[root@localhost ~]# openvas-adduser

Using /var/tmp as a temporary file holder.

Add a new openvassd user

-------------------------

Login: admin

//省略其他过程

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

构建OpenVAS 4漏洞评估系统

二、客户端的使用

1. 访问方式

(1) 安装专用软件Greenbone-Desktop-Suite,以指定的扫描用户连接到服务器(openvas-manager)。

(2) 通过网页浏览器访问 https://ServerIP:9392/

2. 基本使用过程

(1) 以普通扫描用户登录到服务器(若以管理员用户登录,除了扫描权限以外,还可以进行用户设置、系统配置调整等管理任务)。

(2) 定义扫描目标(Targets),可以是IP地址、网段地址等。

(3) 创建新任务(New Task),选择扫描目标、扫描方式等。

(4) 运行新创建的扫描任务。

(5) 等待扫描结束,然后查看扫描报告。

—— 注意1:查看扫描报告时可能会遇到“Internal error: get_report_omp:5370”的错误,貌似是openvas-manager的一个小bug(因奖券给nobody用户,但RHEL5系统中nobody用户的登录Shell默认为/sbin/nologin,从而导致此问题),在服务器中暂时的解决办法如下(新版本中应该会彻底解决)。

—— 注意2:确保客户机与服务器的系统时间不要相差太远,否则在登录gsad服务的Web界面时可能会遇到“Session has expired. Please login again.”的错误而无法进入的情况。

#################################################################

本文来源:https://www.bwwdw.com/article/xelm.html

Top