部署OpenVAS漏洞检测系统

2024-08-22 19:38

本文主要是介绍部署OpenVAS漏洞检测系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性。与安全焦点的X-Scan工具类似,OpenVAS系统也采用了Nessus较早版本的一些开放插件。OpenVAS能够基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,管理员通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果。

一套完整的OpenVAS系统包括服务器端,客户端的多个组件。如下图:

200130785.jpg

1、服务器层组件(建议都安装)

openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。

openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。

openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。

2、客户层组件(任选其一即可)

openvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。

greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的web接口,便于通过浏览器来执行扫描任务,是使用最简便的客户层组件。

Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。


   除了上述各工作组件以外,还有一个核心环节,那就是漏洞测试插件更新。OpenVAS系统的插件来源有两个途径,一、官方提供的NVT免费插件,二、Greenbone Sec公司提供的商业插件。


构建OpenVAS服务器

   安装OpenVAS各种组件之前,有一系列的依赖软件包必须提前安装,其中一些可以从系统光盘中找到,另外一些必须额外下载。如果将要部署OpenVAS服务的主机能够访问Internet,建议采用官方网站(http://www.openvase.org/)推荐的在线安装方式,便于自动解决依赖关系;否则应下载必须的软件包进行离线安装(本文以后者为例)。

注意:本文针对的是RHEL5.5的系统,如果大家使用的是非RHEL5.5的系统则安装的软件也有所不同,所以大家不要盲目安装。

1、安装基本依赖包

挂在系统光盘,并安装以下列出的所有软件包(写在一条名字执行),如有提示存在依赖关系,则根据提示安装相应的软件包即可。

204432830.jpg

2、下载、安装其他依赖包

从OpenVAS官网或http://www.atomicorp.com/下载以下列出的所有依赖包,并使用rpm命令进行安装。

204915827.jpg

3、下载、安装OpenVAS相关组件包

从OpenVAS官网或http://www.atomicorp.com/下载以下列出的所有组件包,并使用rpm命令进行安装。

205257605.jpg

4、确认安装结果

成功完成安装以后,执行以下操作可查看相关程序,服务脚本,配置文件以及日志文件等。

210232930.jpg

5、启动OpenVAS服务组件

   根据OpenVAS系统的工作结构,需要启动三个服务层组件,Scanner扫描器,Manager管理器,administrator管理者,以及提供Web接口的客户层组件Greebone安全助手。

启动服务层组件

   系统服务openvase-manager。openvas-scanner一般会在安装后自动启用,而另一个系统服务openvas-administrator需要手动启用。其中manager监听端口为9390,scanner监听端口为9391,administrator监听端口为9393。

211051183.jpg

启用客户层组件

   Greenbone安装助手对应的系统服务为gsad,通常也会自动启动,但默认仅在IP地址127.0.0.1的9392端口监听服务。r若要从网络中的其他主机访问,建议监听地址修改为实际可用的IP地址,或者改为0.0.0.0后再启动服务。

[root@localhost /]#vim /etc/sysconfig/gsad

GSA_ADDRESS=0.0.0.0

GSA_PORT=9392

......//省略部分内容

[root@lcoalhost /]#service gsad restart

除此之外,当用户通过浏览器查看扫描报告时,Openvas默认以nobody用户身份降权执行,在Linux系统中可能因nobody的登录shell问题而出现故障。将nobody用户的登录shell有/sbin/nologin改为/bin/bash后可以避免出现此故障。

[root@locahost /]#usermod -s /bin/bash nobody

6、获取扫描插件

   Openvas提供了一个名为openvas-nvt-sync的脚本,可以用来在线更新插件,如果服务器能够访问官方网站,则直接执行此脚本进行更新即可。本文是将下载好的插件复制给openvas系统进行离线安装。安装完插件以后,需要重启openvas-scanner服务,可能需要耗费较长的时间,请耐心等待。

214719653.jpg

7、添加扫描用户

   Openvas的用户包括两种类型:普通用户,管理员用户。管理员除了具有授权的扫描权限以外,还能够对openvas系统设置,评估报告,配置信息等进行管理。

   添加一个admin的普通用户,允许针对192.168.1.0/24,192.168.2.0/24这两个网段中的主机进行漏铜检测。若不设置规则直接按Ctrl+D提交确认,则用户默认不受限制(允许扫描任意目标),然后输入yes确认即可。

220448905.jpg

   将admin用户升级为管理员用户,只需要将一个isadmin的开关文件复制到普通用户的目录下即可。

[root@localhost /]# touch /var/lib/openvas/users/admin/isadmin

若要删除一个用户可以使用“openvas-rmuser”命令,语法为“openvas-rmuser 用户名”。

此时此刻Openvas漏洞检测系统就算是部署完成了,现在只需要启用扫描任务就可以扫描目标主机了。那么我们如何进行扫描呢?请接着向下看吧!


执行漏铜扫描任务

1、连接Openvas服务器

   在客户机中,使用浏览器连接到openvas系统的gsad服务(9392端口);若使用Greenbone桌面套件程序,则连接到openvas-manager服务(9390端口)。关于Greenbone桌面套件的使用,其操作思路和方法基本相似。

   gsad服务默认基于HTTPS协议提供web访问接口,因此访问时应使用“https://...”的URL路劲,并指定gsad服务的端口号,方可看到登录入口。如下图:

224049535.jpg

以指定的扫描用户admin登录以后,将进入到Greenbone安全助手的主操作界面。注意:客户端和服务器的系统时间不能相差太远,否则可能登录不成功。如下图:

224332443.jpg

2、定义扫描目标

   单机左侧Configuradion导航栏下的Targets链接,在右侧表单中填写将要评估的目标主机名,IP地址等相关信息,然后单击“Create Target”按钮。如下图:即可定义扫描目标。

225007626.jpg

3、创建扫描任务

   单击左侧Scan Management导航栏下的New Task链接,在右侧表单中设置任务名称,扫描目标,扫描配置默认使用的“Full and fast”快速完全扫描,然后单击“Create Task”按钮即可创建一个新的扫描任务。如下图:

225637486.jpg

4、执行扫描

执行扫描只需要单击开始按钮即可。

225902764.jpg

231641358.jpg

5、查看扫描结果

查看扫描结果只需要单击查看按钮即可。

231826232.jpg

231923372.jpg

232040712.jpg




本文出自 “邓奇的Blog” 博客,请务必保留此出处http://dengqi.blog.51cto.com/5685776/1269077

这篇关于部署OpenVAS漏洞检测系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097211

相关文章

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默