zoukankan      html  css  js  c++  java
  • 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打补丁,被扫描的系统很多高危漏洞,需要给系统打补丁来修复漏洞。

  • 相关阅读:
    (转).NET 多线程编程
    [WAP]WML学习笔记总结
    [计划]2010年1月的工作学习计划
    [计划]11月&12月学习与工作计划
    [HTTP]HTTP协议学习总结第一弹:RFC2616初读总结
    [培训总结]海量服务培训总结
    [随想]忙碌的2010
    Android电源管理
    Android 1.5: 飞行模式分析
    android JNI 调用
  • 原文地址:https://www.cnblogs.com/littlemood/p/11739548.html
Copyright © 2011-2022 走看看