-
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打补丁,被扫描的系统不少高危漏洞,须要给系统打补丁来修复漏洞。