docker create_以docker容器的形式运行openvas

一、操作目的和应用场景

大家好,我是彭瑞。

OpenVAS(Open Vulnerability Assessment System)是在nessus基础上发展起来的一个开源的漏洞扫描程序,其核心部件是一套漏洞测试程序,可以检测远程系统和应用程序中的安全问题。

一般来说,使用openvas可以有几种方法:一是使用安装了openvas的linux发行版,如parrotsec、backbox等,二是使用openvas官方制作的虚拟机,三是在linux系统中手动安装openvas,四是使用docker版本的openvas。其中最方便、运行效率最高的就是通过docker了,所以今天为大家介绍一下使用docker运行openvas进行漏洞扫描的方法。

二、平台及工具版本

host系统:linux mint 19.3

软件:docker、openvas

计算机硬件:小米笔记本电脑

三、操作步骤

(一)在linux mint系统中安装docker

apt install docker.io  //在线安装docker

systemctl start docker  //启动docker服务

systemctl enable docker  //设置开机自动启动

fac2e9a42106a72a6e88ea2056ebf849.png

docker version  //查看docker版本

6ef2a763dc99879d8c86404114ef8992.png

可以正常显示版本信息,说明安装成功。

(二)下载和运行openvas的docker镜像

1、下载openvas镜像

docker search openvas  //在线搜索openvas镜像

b0e43656d97fa78733a2e2f865578269.png

第一个镜像是我们需要的。

docker pull mikesplain/openvas  //下载openvas镜像到本地

docker images | grep openvas  //查看本地的docker镜像

53500306f621cb3f088eef6eb393a4aa.png

2、运行openvas镜像

docker run -d -p 443:443 --name openvas mikesplain/openvas

run  //装载docker镜像到内存,形成容器。

-d  //后台运行容器

-p  //将host的443端口映射到容器的443端口

--name  //给容器起名

docker ps  //查看正在运行的docker容器,可以看到openvas容器已经运行起来了

094fe796f9a9377286d6ed8b96e7f17e.png

镜像初次运行后,稍等几分钟再访问,因为openvas要进行NVT扫描和数据库构建。

(三)使用openvas进行漏洞扫描

1、登录

浏览器打开openvas的操作界面:https://127.0.0.1

用户名/口令:admin/admin

bfd318963957d94888fed3d1278602d2.png

2、创建扫描任务

下面创建简单的扫描任务,对metasploitable 2靶机进行漏洞扫描。

(1)创建扫描任务

Scans—Tasks

36e1f65092e1bcc0997d65080396c6bb.png

点击左侧带有五角星的方框,点击弹出的“New Tasks”项:

640b1db9b7f74361c4f2de4bfe6bd86f.png

Name:指定扫描名称

Comment:填写关于扫描任务的描述文字(可选)

Scan Targets:点击右侧五角星,弹出New Target表单,指定目标IP地址,填写完成后点击Create按钮提交:

aaa87fd006dfee16948e240ffbd58761.png

其它的选项保持默认即可:

60b799c2d9396e5670e288a1f8d6c10f.png

点击下方的Create按钮,创建扫描任务。

3、开始扫描

在任务列表中,点击右侧Actions中的Start按钮,开始扫描。

f3617eab41b7e9d55e21d90c70260b85.png

在靶机上抓包,可以看到openvas扫描所产生的流量:

73a20d1583800526a0800472e89d501f.png

4、下载扫描报告

点击Scans—Reports

点击左下角日期,例如点击“扫描metasploitable2靶机”任务对应的日期:

27e8f67e77e3918d670810523f84c38c.png

在Results页面,点击Report:Results文字左边的向下小箭头,选择报告的内容,如Report:Summary and Download。在页面下方有两种格式的报告,一种是完整报告(Full report),另一种是节选报告(filtered report),根据需要进行选择。点击右侧Download下面的下拉列表框,选择报告文件的格式,如PDF。点击右侧向下的小箭头,下载文档:

8bbd999e7e79db2cd43ec2a5edda55d0.png

(四)管理容器

1、查看容器内运行的进程

docker top openvas

7e058083fa7f3e6bb4a03128cd0a6d99.png

2、进入容器内的命令行

docker exec -it openvas bash

d4fb7ee1fe2ed8984fdba60e52a6e960.png

3、使用数据卷

将数据目录挂载到/var/lib/openvas/mgr/:

mkdir data

docker run -d -p 443:443 -v $(pwd)/data:/var/lib/openvas/mgr/ --name openvas mikesplain/openvas

注意,启动容器之前,本地目录必须存在。

4、设置管理员口令

通过修改环境变量OV_PASSWORD,在运行时指定admin口令:

docker run -d -p 443:443 -e OV_PASSWORD=securepassword41 --name openvas mikesplain/openvas

5、更新NVT

openvas使用漏洞特征进行扫描,因此需要定期更新特征库。

docker exec -it openvas bash  //进入容器,在容器中执行下面的命令

greenbone-nvt-sync

openvasmd --rebuild --progress

greenbone-certdata-sync

greenbone-scapdata-sync

openvasmd --update --verbose --progress

/etc/init.d/openvas-manager restart

/etc/init.d/openvas-scanner restart

6、停止容器

docker stop openvas

b49dc62ae4497b34dfc7f9c3187991f4.png

7、删除容器

不再需要容器了,可以将其删除。删除容器不会影响到镜像,使用前面运行镜像的命令可以创建新的容器。

docker ps --all  //查看全部容器,包括运行的和已停止的

docker rm openvas  //删除名为openvas的容器

afccac2b07b3de1c30b9ef45ccbf7583.png

(五)管理镜像

1、导出镜像

docker save -o openvas-image.tar mikesplain/openvas  //导出到当前目录,名为openvas-image.tar

2、导入镜像

docker load < openvas-image.tar

3、删除镜像

docker rmi mikesplain/openvas

2ef511fd483c78f70aefe03dfcd1c201.png

//删除镜像时,不能存在由该镜像创建的容器

四、总结

我曾在乙方安全公司工作多年,在风险评估工作中常使用openvas进行漏洞扫描,它的扫描结果是令人满意的。希望今天的文章能给大家的工作带来帮助。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值