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

相关文章
相关标签/搜索