-
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漏洞。運維
-
安裝OpenVAS
-
利用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
-
修復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
-
修復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
按照提示操做便可。
-
openvas-nvt-sync下載漏洞庫
openvas-nvt-sync下載漏洞庫是一個漫長的過程,須要耐心等待。
-
修復啓動腳本
經過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
-
使用OpenVAS
安裝好OpenVAS後,咱們來看下openvas三個組成部分:
-
OpenVAS Manager的進程名稱爲openvasmd,偵聽9390端口,啓動方式爲/etc/init.d/openvas-manager start
-
OpenVAS Scanner的進程名稱爲openvassd,偵聽9391端口,啓動方式爲/etc/init.d/openvas-scanner start
-
Greenbone Security Assistant的進程名稱爲gsad,偵聽9391端口,啓動方式爲/etc/init.d/gsad start
-
掃描Linux系統
-
一、登陸系統
首先在瀏覽器中打開https://192.168.1.31:9392,進入登陸頁面,以下圖所示:
登陸後的主界面以下:
二、建立登陸憑證
點擊菜單Configuration->Credentials,以下所示:
進入憑證列表後,點擊」建立」菜單建立一個登陸憑證,以下:
請參與下面參數建立一個Credential,以下:
建立成功後以下圖所示:
三、建立掃描目標
點擊菜單Configuration->Targets,以下所示:
進入掃描目標列表後,點擊」建立」菜單建立一個掃描目標,以下:
請參與下面參數建立一個Target,以下:
建立成功後以下圖所示:
四、建立掃描任務
點擊菜單Scan Management->Tasks,以下所示:
進入掃描任務列表後,點擊」建立」菜單建立一個掃描任務,以下:
請參與下面參數建立一個Target,以下:
建立成功後以下圖所示:
至止全部建立工做已經完成,以下開展正式掃描工做,以下:
點擊菜單Scan Management->Tasks,以下所示:
點擊啓動按鈕,以下:
啓動掃描後,能夠刷新頁面查看掃描掃描進度,以下:
掃描完成後,能夠查看報表,以下:
以上報表能夠看出,被掃描的系統不少高危漏洞,須要逐個修復。
-
掃描Windows系統
一、登陸系統
首先在瀏覽器中打開https://192.168.1.31:9392,進入登陸頁面,以下圖所示:
登陸後的主界面以下:
二、建立登陸憑證
點擊菜單Configuration->Credentials,以下所示:
進入憑證列表後,點擊」建立」菜單建立一個登陸憑證,以下:
請參與下面參數建立一個Credential,以下:
建立成功後以下圖所示:
三、建立掃描目標
點擊菜單Configuration->Targets,以下所示:
進入掃描目標列表後,點擊」建立」菜單建立一個掃描目標,以下:
請參與下面參數建立一個Target,以下:
建立成功後以下圖所示:
四、建立掃描任務
點擊菜單Scan Management->Tasks,以下所示:
進入掃描任務列表後,點擊」建立」菜單建立一個掃描任務,以下:
請參與下面參數建立一個Target,以下:
建立成功後以下圖所示:
至止全部建立工做已經完成,以下開展正式掃描工做,以下:
點擊菜單Scan Management->Tasks,以下所示:
點擊啓動按鈕,以下:
啓動掃描後,能夠刷新頁面查看掃描掃描進度,以下:
掃描完成後,能夠查看報表,以下:
以上報表能夠看出,由於沒有給windows 2003打補丁,被掃描的系統不少高危漏洞,須要給系統打補丁來修復漏洞。