Debian部署docker版Greenbone OpenVAS并进行安全漏洞扫描

Debian部署docker版Greenbone OpenVAS并进行安全漏洞扫描

背景

近期,我们在寻找一个(最好是开源免费的)工具,进行Linux的安全漏洞扫描,并生成安全统计报告。

为了大致了解市面上现有的相关工具,这里请教了下chatGPT,得到答复如下。

然后简单查了下,第一个OpenVAS就挺好。网上相关教程比较老,这里找到了他的官方说明https://greenbone.github.io/

这里需要补充下Greenbone和openVAS的关系,我们请聪明的chatGPT为我们解答下。

那么,我们下面就尝试部署下这个Greenbone出品的,社区开源版本的安全漏洞扫描工具openVAS。

操作步骤

确定安装方法

直接来读官方说明https://greenbone.github.io/

社区开源版本提供了两种安装方式:

  • Building 22.4 from Source
  • Greenbone Community Containers 22.4

简单看了下,Containers docker版的安装好像简单些,我来试一下~

官方链接:https://greenbone.github.io/docs/latest/22.4/container/index.html

对系统有要求,我先下个Debian stable (bullseye),也就是Debian11。

安装Debian11

链接如下 https://www.debian.org/releases/bullseye/debian-installer/

根据官方说明,64-bit PC (amd64),点击下图红框处下载BT种子链接

下载后,我们在VMware中安装这个Debian。

greenbone的https://greenbone.github.io/docs/latest/22.4/container/index.html链接中说明了硬件要求如下

咱装的是Debian11.6,选项里没有,这里先选10.X,顺利的话不会是问题。

系统安装完成,然后Mobax配置ssh登陆系统,过程略。

安装docker和openVAS

首次使用我创建的用户leo使用sudo会报错“不在sudoers文件中,此事将被报告”,按照链接https://blog.csdn.net/m0_46825740/article/details/125523087把leo加到root权限即可。

su root
ls -l /etc/sudoers
vi /etc/sudoers

增加如下内容,然后:wq!强制保存就行,这样就不用按照上述链接中修改文件权限了。

下面就是按照官方文档https://greenbone.github.io/docs/latest/22.4/container/index.html,进行安装。指令如下:

sudo apt update
sudo apt install curl
sudo apt install docker.io
sudo apt install python3 python3-pip
python3 -m pip install --user docker-compose
sudo usermod -aG docker $USER && su $USER
export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR
cd $DOWNLOAD_DIR && curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition pull

上述指令在Debian系统GUI界面的Shell中执行会报错如下图,但是用Mobax就可以。

不是blocking issue,我们继续。

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d

To get a continuous stream of the log output of all services, run the following command:

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition logs -f

The log stream can be stopped by pressing Ctrl-C.

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \
    exec -u gvmd gvmd gvmd --user=admin --new-password=admin

然后,用如下指令应该就可以打开管理页面了

xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null &

我当时虚拟机卡住了,我重启了下虚拟机,然后Debian GUI打开火狐,直接访问http://127.0.0.1:9392/,就进到了greenhouse管理页面

我这台虚拟机的IP为192.168.243.132,我直接在运行VMware的本电脑的windows系统的浏览器访问http://192.168.243.132:9392/也能进到greenbone管理页面,后面在这里操作方便一些,就不用在Debian虚拟机的GUI页面上操作了。

官方文档的最后,还提供了一个用sh脚本自动安装的方法(为什么不写在前面……)

我没试,不过效果应该是一样的。

使用openVAS扫描系统

下面我们使用下这个greenbone,创建一个扫描试一下。

看到报告了,但是啥内容也没有呢~~

看管理页面中的CVEs,实际是有最新的内容的。

可以扫描,但是没有扫出来东西,必有蹊跷~我再看看文档。

第二天了~~

昨天在VMware中直接shutdown了Debian系统,今天重新启动Debian进入Greenbone再试下~

昨天上图中的Scanners中没有OpenVAS Default,今天就有了。。。

但是点击下图OpenVAS的“Verify Scanner”,

会报错Service unavailable

另一个CVE就没有问题

但是用这俩扫描还是都扫不出来东西来。

我们试下官方的Workflows https://greenbone.github.io/docs/latest/22.4/container/workflows.html

直接执行上图红框这种带$DOWNLOAD_DIR的指令,会报错,因为这个环境变量重启后就没了,这里执行下之前安装时执行过的如下指令就行

export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR

然后按照文档我执行了Update和Feed Synchronization

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition pull
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d
#2023年5月12日更新,复现了下,其实只要执行上面两行Updating即可,下面的Feed Synchronization可以不用执行
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition pull notus-data vulnerability-tests scap-data dfn-cert-data cert-bund-data report-formats data-objects
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d notus-data vulnerability-tests scap-data dfn-cert-data cert-bund-data report-formats data-objects

然后我的OpenVAS的“Verify Scanner”就OK了!~

注意:刚启动服务后,Scan Configs中可能是空白的,此时无法进行扫描。需要等几分钟后,Scan Configs中才会有内容,如下图,然后就可以开始扫描了。

我们来重新配置一个安全扫描试一下。

然后新建Task

新建Scan task的时候,有一个选项是Scan Config,如下图

这里选项scan包含的内容,可参考如下配置处

这几个模式我都试了下,目前感觉Full and fast内容比较详尽。

这里选择Full and fast。

然后在Tasks中点击三角start即可开始扫描

当status变为Done表明扫描结束,可以点击Last Report下的时间链接打开报告

请注意,这里看到Results(4 of 89),一共89个只显示了4个,这是因为右上角默认有个filter,只显示了重要的内容。

这时如果点击上图中的X,可以去掉filter,显示所有内容。我这里先保持默认,不去掉filter。

按照下图下载报告。

得到报告类似下图

好了,到此为止,openVAS的安装和初步使用,就完成了。

总结

回顾整个部署过程,我们:

  1. 在VMware中部署Debian11;
  2. 在Debian11中部署docker和openVAS;
  3. 启动openVAS并使用。

后续如果有其他使用心得或者问题,我会再更新文章。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注