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/redis

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

  1. OpenVAS簡介

在IT項目中,系統上線時須要作運行環境的漏洞評估,找出漏洞後修復漏洞,只有運行環境知足安全規範要求時才容許系統上線;在系統運維過程當中,須要按期對系統進行基線測試,發現漏洞要及時整改,直至安全隱患消除,確保運行環境安全可靠。因而可知,發現漏洞、修復漏洞成爲了IT項目生命週期中不可缺乏的一項重要工做。如何才能及時有效的發現漏洞呢?這就須要用到漏洞評估工具了,今天咱們就來介紹一款業內十分著名系統,它就是OpenVAS!sql

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

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

如今的安全掃描器集成了按期更新好的漏洞測試庫,漏洞測試庫總數超過了5萬條。瀏覽器

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

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

如今網上看到最多的是老版本的組件圖:網絡

新版本和舊版本對比能夠發現,新的版本在客戶層集約了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

三、配置openvas

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

四、檢查配置是否正確

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

  1. 修復redis-server錯誤;

須要手動編譯安裝redis-server

一、下載,解壓,編譯:

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

二、安裝

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/

三、修改配置文件

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

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

vi /etc/profile

在最底部添加:

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

環境變量生效:

source /etc/profile

五、配置自啓動

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

解決辦法:

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

yum install atomic-sqlite-sqlite-devel.x86_64

二、更新安裝包

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

三、而後執行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系統

一、登陸系統

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

登陸後的主界面以下:

二、建立登陸憑證

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

進入憑證列表後,點擊」建立」菜單建立一個登陸憑證,以下:

請參與下面參數建立一個Credential,以下:

建立成功後以下圖所示:

三、建立掃描目標

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

進入掃描目標列表後,點擊」建立」菜單建立一個掃描目標,以下:

請參與下面參數建立一個Target,以下:

建立成功後以下圖所示:

四、建立掃描任務

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

進入掃描任務列表後,點擊」建立」菜單建立一個掃描任務,以下:

請參與下面參數建立一個Target,以下:

建立成功後以下圖所示:

至止全部建立工做已經完成,以下開展正式掃描工做,以下:

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

點擊啓動按鈕,以下:

啓動掃描後,能夠刷新頁面查看掃描掃描進度,以下:

掃描完成後,能夠查看報表,以下:

以上報表能夠看出,被掃描的系統不少高危漏洞,須要逐個修復。

  1. 掃描Windows系統

一、登陸系統

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

登陸後的主界面以下:

二、建立登陸憑證

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

進入憑證列表後,點擊」建立」菜單建立一個登陸憑證,以下:

請參與下面參數建立一個Credential,以下:

建立成功後以下圖所示:

三、建立掃描目標

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

進入掃描目標列表後,點擊」建立」菜單建立一個掃描目標,以下:

請參與下面參數建立一個Target,以下:

建立成功後以下圖所示:

四、建立掃描任務

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

進入掃描任務列表後,點擊」建立」菜單建立一個掃描任務,以下:

請參與下面參數建立一個Target,以下:

建立成功後以下圖所示:

至止全部建立工做已經完成,以下開展正式掃描工做,以下:

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

點擊啓動按鈕,以下:

啓動掃描後,能夠刷新頁面查看掃描掃描進度,以下:

掃描完成後,能夠查看報表,以下:

以上報表能夠看出,由於沒有給windows 2003打補丁,被掃描的系統不少高危漏洞,須要給系統打補丁來修復漏洞。

相關文章
相關標籤/搜索