Debian部署docker版Greenbone OpenVAS并进行安全漏洞扫描
背景
近期,我们在寻找一个(最好是开源免费的)工具,进行Linux的安全漏洞扫描,并生成安全统计报告。
为了大致了解市面上现有的相关工具,这里请教了下chatGPT,得到答复如下。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-76.png)
然后简单查了下,第一个OpenVAS就挺好。网上相关教程比较老,这里找到了他的官方说明https://greenbone.github.io/。
这里需要补充下Greenbone和openVAS的关系,我们请聪明的chatGPT为我们解答下。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-75.png)
那么,我们下面就尝试部署下这个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
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-4.png)
对系统有要求,我先下个Debian stable (bullseye),也就是Debian11。
安装Debian11
链接如下 https://www.debian.org/releases/bullseye/debian-installer/
根据官方说明,64-bit PC (amd64),点击下图红框处下载BT种子链接
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-6-1024x613.png)
下载后,我们在VMware中安装这个Debian。
greenbone的https://greenbone.github.io/docs/latest/22.4/container/index.html链接中说明了硬件要求如下
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-7.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-8.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-9.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-10.png)
咱装的是Debian11.6,选项里没有,这里先选10.X,顺利的话不会是问题。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-11.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-12.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-13.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-14.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-15.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-16.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-17.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-18.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-19.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-20.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-21.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-22.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-23.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-24.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-25.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-26.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-27.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-28.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-29.png)
![](http://yushuoxin.online/wp-content/uploads/2023/05/image-1.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-32.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-33.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-34.png)
系统安装完成,然后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!强制保存就行,这样就不用按照上述链接中修改文件权限了。
![](http://yushuoxin.online/wp-content/uploads/2023/05/image-2.png)
下面就是按照官方文档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
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-36.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-38.png)
上述指令在Debian系统GUI界面的Shell中执行会报错如下图,但是用Mobax就可以。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-37.png)
不是blocking issue,我们继续。
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-39.png)
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管理页面
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-40.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-41-1024x874.png)
我这台虚拟机的IP为192.168.243.132,我直接在运行VMware的本电脑的windows系统的浏览器访问http://192.168.243.132:9392/也能进到greenbone管理页面,后面在这里操作方便一些,就不用在Debian虚拟机的GUI页面上操作了。
官方文档的最后,还提供了一个用sh脚本自动安装的方法(为什么不写在前面……)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-54.png)
我没试,不过效果应该是一样的。
使用openVAS扫描系统
下面我们使用下这个greenbone,创建一个扫描试一下。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-42-1024x334.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-43.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-44-1024x362.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-45.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-46.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-47-1024x475.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-48-1024x487.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-49-1024x347.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-50.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-51.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-52.png)
看到报告了,但是啥内容也没有呢~~
看管理页面中的CVEs,实际是有最新的内容的。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-53-1024x764.png)
可以扫描,但是没有扫出来东西,必有蹊跷~我再看看文档。
第二天了~~
昨天在VMware中直接shutdown了Debian系统,今天重新启动Debian进入Greenbone再试下~
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-55-1024x312.png)
昨天上图中的Scanners中没有OpenVAS Default,今天就有了。。。
但是点击下图OpenVAS的“Verify Scanner”,
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-56.png)
会报错Service unavailable
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-57.png)
另一个CVE就没有问题
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-58-1024x241.png)
但是用这俩扫描还是都扫不出来东西来。
我们试下官方的Workflows https://greenbone.github.io/docs/latest/22.4/container/workflows.html
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-59.png)
直接执行上图红框这种带$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了!~
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-60-1024x273.png)
注意:刚启动服务后,Scan Configs中可能是空白的,此时无法进行扫描。需要等几分钟后,Scan Configs中才会有内容,如下图,然后就可以开始扫描了。
![](http://yushuoxin.online/wp-content/uploads/2023/05/image-3-1024x488.png)
我们来重新配置一个安全扫描试一下。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-63-1024x289.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-64.png)
然后新建Task
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-65-1024x225.png)
新建Scan task的时候,有一个选项是Scan Config,如下图
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-61.png)
这里选项scan包含的内容,可参考如下配置处
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-62-1024x466.png)
这几个模式我都试了下,目前感觉Full and fast内容比较详尽。
这里选择Full and fast。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-66.png)
然后在Tasks中点击三角start即可开始扫描
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-67-1024x203.png)
当status变为Done表明扫描结束,可以点击Last Report下的时间链接打开报告
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-68-1024x207.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-69-1024x369.png)
请注意,这里看到Results(4 of 89),一共89个只显示了4个,这是因为右上角默认有个filter,只显示了重要的内容。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-70.png)
这时如果点击上图中的X,可以去掉filter,显示所有内容。我这里先保持默认,不去掉filter。
按照下图下载报告。
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-71-1024x334.png)
得到报告类似下图
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-72.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-73-769x1024.png)
![](http://yushuoxin.online/wp-content/uploads/2023/04/image-74-773x1024.png)
好了,到此为止,openVAS的安装和初步使用,就完成了。
总结
回顾整个部署过程,我们:
- 在VMware中部署Debian11;
- 在Debian11中部署docker和openVAS;
- 启动openVAS并使用。
后续如果有其他使用心得或者问题,我会再更新文章。
发表回复