学安全的人想必都知道openvas,他是一个开源的离线漏洞评估系统,有非常丰富的漏洞库。不过这也是让人烦恼的一个地方,有丰富的漏洞库然后又是离线的就代表安装的时候要下载很多很多数据包。光openvas本身就要下载1G的安装包,更新漏洞库的时候还有下载1G的包 重点是openvas的下载服务器在国外,对我们这种有长城保护的良民来说就是10几K的下载速度
最近无意间看到github上面有个openvas的开源项目,把openvas打包成一个docker容器,部署只需要启动一个容器,快速,方便还不占空间。github项目地址:https://github.com/mikesplain/openvas-docker
1,首先你要安装个docker
源安装很简单,Debian:apt install lxc-docker,Centos:yum install docker-io
2,搜索容器:
root@controller-node:~#docker search openvas
3,下载openvas9版本的容器:
root@controller-node:~#docker pull mikesplain/openvas:9
4,后台运行容器然后映射443端口:
注意如果宿主机443端口有在使用应映射到其他端口
root@controller-node:~#docker run -d -p 443:443 --name openvas mikesplain/openvas:9
注:启动容器后发现它很容易在扫描的时候把宿主机进程跑满,最好限制下资源使用
root@controller-node:~#docker run --cpuset-cpus=4 -m 8192M -d -p 443:443 --name openvas mikesplain/openvas:9
好了,现在我们的openvas环境已经部署好了,全程不到半小时.
现在我们访问宿主机的web就可以进入openvas web了
https://127.0.0.1 默认账号:admin 默认密码:admin
如果想在局域网访问宿主机中的docker openvas 需要设置 openvas 的dns hostname 具体如下
docker run -d -p 443:443 -e PUBLIC_HOSTNAME=192.168.6.141 --name openvas mikesplain/openvas
还要设置宿主机防火墙 centos7 关闭防火墙命令:systemctl stop firewalld.service
其中192.168.6.141是宿主机的IP 这样设置后再局域网就可以访问openvas了
docker 中的openvas启动需要一点时间 等待一分钟后访问 以下网址
https://192.168.6.141 默认账号:admin 默认密码:admin