CentOS 7 使用 Docker 部署 OpenVAS(GVM)完整流程
一、环境检查
部署前先确认系统环境满足要求。
1. 查看系统版本
cat /etc/redhat-release
示例:
CentOS Linux release 7.9.2009 (Core)
2. 查看内核版本
uname -r
示例:
3.10.0-1160.119.1.el7.x86_64
3. 查看系统架构
uname -m
示例:
x86_64
4. 查看CPU
lscpu | grep "^CPU(s)"
建议:
- 最低:2 Core
- 推荐:4 Core+
5. 查看内存
free -h
建议:
- 最低:4GB
- 推荐:8GB+
6. 查看磁盘
df -h
建议:
- 至少50GB可用空间
- 推荐100GB+
7. 检查SELinux
getenforce
建议:
Disabled
8. 检查防火墙
firewall-cmd --state
示例:
running
9. 检查Docker
docker --version
示例:
Docker version 28.5.1
10. 检查Docker Compose
docker compose version
或
docker-compose version
二、检查网络连通性
GitHub
ping github.com
Docker Hub
curl -I https://registry-1.docker.io
若超时:
Connection timed out
说明无法直接访问 Docker Hub。
三、查看已有镜像
docker images
示例:
immauss/openvas:latest
若已存在 OpenVAS 镜像,则无需再次下载。
四、创建部署目录
mkdir -p /opt/gvm2
cd /opt/gvm2
五、编写 Docker Compose
创建:
vi docker-compose.yml
内容:
version: '3.8'
services:
openvas:
image: immauss/openvas:latest
container_name: openvas
restart: unless-stopped
ports:
- "9392:9392"
environment:
USERNAME: admin
PASSWORD: Admin123456
volumes:
- openvas_data:/data
volumes:
openvas_data:
六、启动 OpenVAS
docker compose up -d
或
docker-compose up -d
七、查看容器状态
docker ps
示例:
openvas
Up 5 minutes (health: starting)
八、查看初始化日志
docker logs -f openvas
首次启动会执行:
Redis初始化
Redis ready.
PostgreSQL初始化
database system is ready to accept connections
GVM数据库初始化
Loading Default Database
生成证书
Generating certs...
同步漏洞库
greenbone-nvt-sync
九、漏洞库同步说明
首次启动需要同步:
NVT Feed
Network Vulnerability Tests
SCAP Feed
安全配置基线
CERT Feed
漏洞公告
同步过程可能持续:
| 配置 | 时间 |
|---|---|
| 2C 8G | 30~60分钟 |
| 4C 8G | 20~40分钟 |
| 8C 16G | 10~20分钟 |
十、查看健康状态
docker inspect openvas --format='{{json .State.Health}}'
启动中:
{
"Status":"starting"
}
成功后:
{
"Status":"healthy"
}
十一、检查监听端口
ss -lntp | grep 9392
示例:
LISTEN *:9392
十二、开放防火墙
firewall-cmd --permanent --add-port=9392/tcp
firewall-cmd --reload
查看:
firewall-cmd --list-ports
十三、访问Web界面
浏览器访问:
https://服务器IP:9392
例如:
https://1.2.3.4:9392
首次访问
由于使用自签名证书:
Your connection is not private
选择:
高级
继续访问
即可。
十四、默认登录信息
用户名:
admin
密码:
Admin123456
十五、创建扫描任务
创建目标
菜单:
Configuration
└── Targets
添加:
IP地址
主机名
网段
创建扫描任务
菜单:
Scans
└── Tasks
新建:
Task Name
Target
Scan Config
推荐:
Full and Fast
启动扫描
点击:
▶ Start Scan
十六、查看扫描结果
菜单:
Scans
└── Reports
可查看:
- 漏洞等级
- CVE
- CVSS评分
- 修复建议
十七、常用运维命令
查看容器
docker ps
查看日志
docker logs -f openvas
重启
docker restart openvas
停止
docker stop openvas
删除容器
docker rm -f openvas
查看数据卷
docker volume ls
备份数据
docker run --rm \
-v openvas_data:/data \
-v $(pwd):/backup \
busybox tar czf /backup/openvas_backup.tar.gz /data
十八、常见问题
1. health: starting 很久
原因:
- 首次同步漏洞库
处理:
等待即可
2. 9392无法访问
检查:
ss -lntp | grep 9392
firewall-cmd --list-ports
3. Docker Hub无法访问
检查:
curl -I https://registry-1.docker.io
配置镜像加速器。
4. 容器反复重启
查看:
docker logs openvas
重点检查:
- PostgreSQL
- Redis
- Feed同步
部署完成验收标准
满足以下条件即部署成功:
✓ docker ps 显示 healthy
✓ 9392端口监听
✓ Web界面可访问
✓ 能成功登录
✓ 能创建扫描任务
✓ 能生成扫描报告