1,关于 OpenVAS
OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。OpenVAS不同与传统的漏洞扫描软件。所有的OpenVAS软件都是免费的。
2,使用docker kalilinux 镜像安装
使用一个kalilinux 安装,而不是使用debain。
可以顺便使用kalilinux 上面的其他工具一起使用。
非常的方便呢。
使用docker进行安装。
3,设置 dockerfile
FROM kalilinux/kali-linux-docker
RUN echo "deb http://mirrors.aliyun.com/kali kali-rolling main contrib non-free" > /etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
RUN echo "[global]" > /etc/pip.conf && \
echo "trusted-host=mirrors.aliyun.com" >> /etc/pip.conf && \
echo "index-url=http://mirrors.aliyun.com/pypi/simple" >> /etc/pip.conf
RUN apt-get update && apt-get install -y openvas curl
RUN openvas-setup > /opt/openvas-setup.log
RUN apt-get install -y redis && \
sed -i -e 's/port 0/port 6379/' /etc/redis/redis.conf && \
openvasmd --user=admin --new-password=admin1234
ADD start_openvas.sh /start_openvas.sh
EXPOSE 9392 9390 80
WORKDIR /root
ENV LANG=en_US.UTF-8
ENTRYPOINT ["/start_openvas.sh"]
使用 aliyun的 kalilinux 镜像。
然后修改了下 redis的 端口,不修改也可以。同时设置了下密码是admin1234
不知道不修改能不能启动。
增加启动脚本:
#!/bin/sh
service redis-server start
sleep 1
/usr/sbin/openvassd --unix-socket=/var/run/openvassd.sock
sleep 1
#/usr/sbin/openvasmd --rebuild
/usr/sbin/openvasmd --listen=0.0.0.0 --port=9390 --database=/var/lib/openvas/mgr/tasks.db
sleep 5
echo "start gsad server ."
/usr/sbin/gsad --http-only --foreground --listen=0.0.0.0 --port=9392 --mlisten=0.0.0.0 --mport=9390
这个才是关键,首先要启动 redis-server。
然后在启动openvassd。
再重建 openvasmd –rebuild
启动 openvasmd –listen=0.0.0.0 –port=9390 –database=/var/lib/openvas/mgr/tasks.db
最后在启动 gsad 服务。
加上 –http-only 直接http访问不用https。
不加上就是用https 方式访问。docker 也可以直接转发过去。
只不过证书是自己签名的。
构建dockerfile & 启动
docker build -t demo/kalilinux:latest .
docker run -p 8080:9392 -p 8081:9390 -p 8082:80 --name kalilinux -itd demo/kalilinux:latest
重命名了下镜像,进入镜像。
docker exec -it kalilinux bash
其他问题:
使用check:
openvas-check-setup --server
FIX: Make sure OpenVAS Scanner is running with an up-to-date NVT collection and run 'openvasmd --rebuild'.
在启动的时候可以看到进程:
openvassd: Reloaded 33800 of 56832 NVTs (59% / ETA: 02:23)
等 100% 就load完成了。
在使用 的时候必须 设置 gsad –listen=0.0.0.0 这个参数。
否则的话远程就不能用ip访问了。
4,启动成功
进入界面:
展示首页:
报错: Warning: SecInfo Database Missing
这个是因为使用 greenbone-scapdata-sync 同步数据失败。
造成的。目前无解:
rsync: failed to connect to feed.openvas.org (2a01:130:2000:127::d1): Network is unreachable (101)
rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
使用的命令是rsync,同步文件夹,我的天。而且好像服务也米有了。
总之是同步不了数据了。
5,总结
使用docker 搭建环境还是非常快的。
可以使用 非https的方式启动。工具做扫描操作下就行了。非常的方便。