openvas 安装
使用 docker 方式部署,docker 安装参考:https://www.alibabacloud.com/help/zh/doc-detail/60742.htm
使用 mikesplain/openvas
镜像,我使用这个镜像时,最新版为9
, 虽然支持 postfix
来发送邮件,但是不支持定义 email 的 from
, 而我使用企业qq邮箱,如果不修改 from
,将会报错 501 mail from address must be same as authorization user
. github 有个 PR 修改这个,但是目前仓库好像已经不维护了,所以有两种方法解决:
- 通过这个 PR 的 Dockerfile 构建镜像,然后启动容器时,加入
-e OV_SMTP_SENDER=username@example.com
(推荐方式,但是构建镜像较慢) - 直接启动原镜像,然后进入容器内修改
我这里为了方便就直接选择第二种方式了,启动容器:
docker run -d -p 443:443 -p 9390:9390 -e PUBLIC_HOSTNAME=119.96.xxx.xxx -e OV_SMTP_HOSTNAME=smtp.exmail.qq.com -e OV_SMTP_PORT=587 -e OV_SMTP_USERNAME=devops@xxx.hk -e OV_SMTP_KEY=xxxxxx --name openvas --restart always mikesplain/openvas
启动容器之后,使用docker logs -f openvas
查看日志,大概等待5分钟左右,出现openvassd 5.1.3 started
即可登录,日志中出现的如下错误不影响使用:
Step 1: Checking OpenVAS Scanner ...
OK: OpenVAS Scanner is present in version 5.1.3.
OK: OpenVAS Scanner CA Certificate is present as .
dirname: missing operand
Try 'dirname --help' for more information.
ERROR: No server certificate file of OpenVAS Scanner found.
FIX: Run 'openvas-mkcert -f -q'.
ERROR: Your OpenVAS-9 installation is not yet complete!
通过 https 登录而不是 http
访问 https://119.96.xxx.xxx
登录,提示证书错误,继续访问,用户名 admin
, 密码 admin
postfix 邮件配置
docker exec -it openvas bash
# 进入容器内部之后
apt update
apt install -y vim mailutils # mailutils 是邮件客户端,用户测试发送邮件
vim sender_canonical
# 添加以下内容
root devops@xxx.hk
vim main.cf
# 新增以下内容
sender_canonical_maps = hash:/etc/postfix/sender_canonical
# 紧接着 reload postfix
postmap /etc/postfix/sender_canonical
service postfix reload
# 测试发送邮件
echo 'This is a test mail' | mail -s 'This is a test mail' zhouzixin@xxx.hk
测试成功之后,进入 openvas,配置 alert
测试邮件告警
成功收到邮件
更新 NVTs
docker exec -it openvas bash
## inside container
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
参考
- https://hub.docker.com/r/mikesplain/openvas
- https://github.com/mikesplain/openvas-docker/pull/123/files
- https://github.com/mikesplain/openvas-docker/pull/242/files