OpenVAS


轉載自:http://www.kingbug.com/2018/01/25/openvas%E5%BC%80%E6%94%BE%E5%BC%8F%E8%84%86%E5%BC%B1%E6%80%A7%E8%AF%84%E4%BC%B0%E7%B3%BB%E7%BB%9F%E4%BB%8B%E7%BB%8D/

OpenVAS開放式脆弱性評估系統介紹

  1. OpenVAS簡介

在IT項目中,系統上線時需要做運行環境的漏洞評估,找出漏洞后修復漏洞,只有運行環境滿足安全規范要求時才允許系統上線;在系統運維過程中,需要定期對系統進行基線測試,發現漏洞要及時整改,直至安全隱患消除,確保運行環境安全可靠。由此可見,發現漏洞、修復漏洞成為了IT項目生命周期中不可缺少的一項重要工作。如何才能及時有效的發現漏洞呢?這就需要用到漏洞評估工具了,今天我們就來介紹一款業內十分著名系統,它就是OpenVAS!

OpenVAS的全稱是Open Vulnerability Assessment System,譯成中文是開放式漏洞評估系統,官方(http://www.openvas.org)的介紹是這樣的:

OpenVAS是一個包含了多個服務及工具的框架,提供了一個全面而強大的脆弱性掃描及脆弱性管理解決方案。這個框架原來是綠骨網絡公司商業化脆弱性管理解決方案的一部分,自2009起,該框架就交給開源社區維護。

現在的安全掃描器集成了定期更新好的漏洞測試庫,漏洞測試庫總數超過了5萬條。

所有的OpenVAS產品都是免費軟件,大多數組件是基於GNU GPL許可。

最新版本的OpenVAS系統組件如下圖所示:

現在網上看到最多的是老版本的組件圖:

新版本和舊版本對比可以發現,新的版本在客戶層集約了Greenbone桌面套件,在服務層集約了Administrator管理者組件,在數據層Scanner掃描器強調的是漏洞測試數據,淡化掃描插件。

OpenVAS是專業掃描操作系統漏洞的利器,如果被掃描的操作系統安裝了WEB服務,OpenVAS也會順帶掃描WEB漏洞。

  1. 安裝OpenVAS

    1. 利用Atomicorp倉庫安裝OpenVAS8

1. 配置yum Atomicorp倉庫:

wget -q -O – http://www.atomicorp.com/installers/atomic |sh

2. 安裝openvas:

yum install openvas

3、配置openvas

openvas-setup (Update NVT’s and SCAP data, Configure GSAD)

4、檢查配置是否正確

openvas-check-setup,可以查到提示找不到redis-server: ERROR: No redis-server installation found

  1. 修復redis-server錯誤;

需要手動編譯安裝redis-server

1、下載,解壓,編譯:

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

tar xzf redis-3.2.9.tar.gz

cd redis-3.2.9

make

2、安裝

cd src

mkdir /usr/local/redis-3.2.9

cp redis-server /usr/local/redis-3.2.9/

cp redis-cli /usr/local/redis-3.2.9/

cp redis-benchmark /usr/local/redis-3.2.9/

cp ../redis.conf /usr/local/redis-3.2.9/

3、修改配置文件

vi /usr/local/redis-3.2.9/redis.conf

注釋第84行的port 6379,下一行添加:

port 0

去掉第102及103行的注釋,如下:

unixsocket /tmp/redis.sock

unixsocketperm 700

timeout 0

啟動redis-server:

/usr/local/redis-3.2.9/redis-server /usr/local/redis-3.2.9/redis.conf

4、將/usr/local/redis-3.2.9將到環境變量中

vi /etc/profile

在最底部添加:

export PATH=”$PATH:/usr/local/redis-3.2.9″

環境變量生效:

source /etc/profile

5、配置自啟動

vi /etc/rc.d/rc.local

在最底部加一句:

/usr/local/redis-3.2.9/redis-server /usr/local/redis-3.2.9/redis.conf

下次開機時就會自動啟動redis-server

  1. 修復sqlite3_errstr錯誤

/etc/init.d/openvas-manager start,發現openvas-manager啟動時候出現如下錯誤:

/usr/sbin/openvasmd: symbol lookup error: /usr/sbin/openvasmd: undefined symbol: sqlite3_errstr

解決辦法:

1、安裝 atomic-sqlite-sqlite-devel.x86_64

yum install atomic-sqlite-sqlite-devel.x86_64

2、更新安裝包

yum downgrade openvas-manager-6.0.8-35.el6.art

3、然后執行openvas-check-setup

按照提示操作即可。

  1. openvas-nvt-sync下載漏洞庫

openvas-nvt-sync下載漏洞庫是一個漫長的過程,需要耐心等待。

  1. 修復啟動腳本

通過netstat -tunap,會發現openvasmd偵聽了:::9390端口,openvassd偵聽了0.0.0.0:9391端口,gsad偵聽了0.0.0.0:9392及0.0.0.0:80端口,需要修復配置文件及啟動腳本。

配置文件位於/etc/sysconfig/目錄下

有三個配置文件:openvas-manager、openvas-scanner及gsad

vi /etc/sysconfig/openvas-manager

改為:

OPTIONS=””

MANAGER_ADDRESS=0.0.0.0

MANAGER_PORT=9390

vi /etc/sysconfig/openvas-scanner

改為:

# Options to pass to the openvassd daemon

OPTIONS=””

# Set to yes if plugins should be automatically updated via a cron job

auto_plugin_update=yes

# Notify OpenVAS scanner after update by seding it SIGHUP?

notify_openvas_scanner=yes

# Method to use to get updates. The default is via rsync

# Note that only wget and curl support retrieval via proxy

# update_method=rsync|wget|curl

# Additionaly, you can specify the following variables

#NVT_DIR where to extract plugins (absolute path)

#OV_RSYNC_FEED URL of rsync feed

#OV_HTTP_FEED URL of http feed

# First time install token

FIRSTBOOT=no

SCANNER_ADDRESS=0.0.0.0

SCANNER_PORT=9391

vi /etc/sysconfig/gsad

改為:

OPTIONS=””

#

# The address the Greenbone Security Assistant will listen on.

#

GSA_ADDRESS=0.0.0.0

#

# The port the Greenbone Security Assistant will listen on.

#

GSA_PORT=9392

GSA_REDIRECT=1

GSA_REDIRECT_PORT=8092

#

# The address the OpenVAS Manager is listening on.

#

MANAGER_ADDRESS=0.0.0.0

#

# The port the OpenVAS Manager is listening on.

#

MANAGER_PORT=9390

啟動文件位於/etc/init.d/目錄下

有三個啟動文件:openvas-manager、openvas-scanner及gsad

其中openvas-manager需要修復,修改為如下:

#!/bin/bash

# This is an implementation of a start-script for OpenVAS Manager

# chkconfig: – 92 10

# Description: OpenVAS Manager is a vulnerability Scanner management daemon

#

### BEGIN INIT INFO

# Provides: openvas-manager

# Required-Start: $local_fs $network $syslog

# Required-Stop: $local_fs $network $syslog

# Default-Start:

# Default-Stop: 0 1 2 3 4 5 6

# Short-Description: start|stop|status|restart|condrestart OpenVAS Manager

# Description: control OpenVAS Manager

### END INIT INFO

# Source function library.

. /etc/rc.d/init.d/functions

exec=”/usr/sbin/openvasmd”

prog=”openvasmd”

progname=”openvas-manager”

lockfile=/var/lock/subsys/openvasmd

[ -e /etc/sysconfig/$progname ] && . /etc/sysconfig/$progname

# Build parameters

[ “$MANAGER_ADDRESS” ] && PARAMS=”$PARAMS –listen=$MANAGER_ADDRESS”

[ “$MANAGER_PORT” ] && PARAMS=”$PARAMS –port=$MANAGER_PORT”

rh_status() {

# run checks to determine if the service is running or use generic status

status -p /var/run/$prog.pid -l $lockfile $progname

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

start() {

echo “Starting $progname:”

#daemon –pidfile=/var/run/$prog.pid $prog $OPTIONS

daemon –pidfile=/var/run/$prog.pid $exec $PARAMS

#$prog

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch $lockfile

return $RETVAL

}

stop() {

echo -n “Stopping $progname: ”

killproc $prog

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f $lockfile

return $RETVAL

}

restart() {

stop

start

}

case “$1” in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart)

$1

;;

condrestart|try-restart)

rh_status_q || exit 0

$1

;;

status)

status -p /var/run/$prog.pid -l $lockfile $progname

;;

*)

echo “Usage: $0 {start|stop|status|restart|condrestart}”

exit 1

esac

exit 0

  1. 使用OpenVAS

安裝好OpenVAS后,我們來看下openvas三個組成部分:

  1. OpenVAS Manager的進程名稱為openvasmd,偵聽9390端口,啟動方式為/etc/init.d/openvas-manager start
  2. OpenVAS Scanner的進程名稱為openvassd,偵聽9391端口,啟動方式為/etc/init.d/openvas-scanner start
  3. Greenbone Security Assistant的進程名稱為gsad,偵聽9391端口,啟動方式為/etc/init.d/gsad start
    1. 掃描Linux系統

1、登錄系統

首先在瀏覽器中打開https://192.168.1.31:9392,進入登錄頁面,如下圖所示:

登錄后的主界面如下:

2、創建登錄憑證

點擊菜單Configuration->Credentials,如下所示:

進入憑證列表后,點擊”創建”菜單創建一個登錄憑證,如下:

請參與下面參數創建一個Credential,如下:

創建成功后如下圖所示:

3、創建掃描目標

點擊菜單Configuration->Targets,如下所示:

進入掃描目標列表后,點擊”創建”菜單創建一個掃描目標,如下:

請參與下面參數創建一個Target,如下:

創建成功后如下圖所示:

4、創建掃描任務

點擊菜單Scan Management->Tasks,如下所示:

進入掃描任務列表后,點擊”創建”菜單創建一個掃描任務,如下:

請參與下面參數創建一個Target,如下:

創建成功后如下圖所示:

至止所有創建工作已經完成,如下開展正式掃描工作,如下:

點擊菜單Scan Management->Tasks,如下所示:

點擊啟動按鈕,如下:

啟動掃描后,可以刷新頁面查看掃描掃描進度,如下:

掃描完成后,可以查看報表,如下:

以上報表可以看出,被掃描的系統很多高危漏洞,需要逐個修復。

  1. 掃描Windows系統

1、登錄系統

首先在瀏覽器中打開https://192.168.1.31:9392,進入登錄頁面,如下圖所示:

登錄后的主界面如下:

2、創建登錄憑證

點擊菜單Configuration->Credentials,如下所示:

進入憑證列表后,點擊”創建”菜單創建一個登錄憑證,如下:

請參與下面參數創建一個Credential,如下:

創建成功后如下圖所示:

3、創建掃描目標

點擊菜單Configuration->Targets,如下所示:

進入掃描目標列表后,點擊”創建”菜單創建一個掃描目標,如下:

請參與下面參數創建一個Target,如下:

創建成功后如下圖所示:

4、創建掃描任務

點擊菜單Scan Management->Tasks,如下所示:

進入掃描任務列表后,點擊”創建”菜單創建一個掃描任務,如下:

請參與下面參數創建一個Target,如下:

創建成功后如下圖所示:

至止所有創建工作已經完成,如下開展正式掃描工作,如下:

點擊菜單Scan Management->Tasks,如下所示:

點擊啟動按鈕,如下:

啟動掃描后,可以刷新頁面查看掃描掃描進度,如下:

掃描完成后,可以查看報表,如下:

以上報表可以看出,因為沒有給windows 2003打補丁,被掃描的系統很多高危漏洞,需要給系統打補丁來修復漏洞。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM