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的安装和初步使用,就完成了。
总结
回顾整个部署过程,我们:
- 在VMware中部署Debian11;
- 在Debian11中部署docker和openVAS;
- 启动openVAS并使用。
后续如果有其他使用心得或者问题,我会再更新文章。
发表回复