IVRE项目Docker部署与使用指南
概述
IVRE是一款开源的网络情报收集与分析框架,本文将详细介绍如何通过Docker容器化方式部署和使用IVRE项目。Docker部署方式可以简化环境配置过程,实现快速部署和隔离运行。
Docker镜像版本说明
IVRE提供了两种类型的Docker镜像:
- 最新开发版:标记为
latest
,基于项目的主分支构建 - 稳定发布版:标记为
vX.Y.Z
格式,对应具体的版本号
建议生产环境使用稳定发布版,而测试新功能时可选择最新开发版。
使用Docker Compose部署
这是最简单的部署方式,只需执行以下命令:
docker compose up
此命令会启动所有必要的容器,包括:
- Web界面容器(ivreweb)
- 客户端工具容器(ivreclient)
- 数据库容器等
默认会将宿主机的80端口映射到ivreweb容器,方便通过浏览器访问Web界面。
访问客户端容器
要使用IVRE的命令行工具和Python API,可以连接到ivreclient容器:
docker attach ivreclient
在容器内操作完成后,可使用Ctrl+P
然后Ctrl+Q
组合键分离容器而不停止它。后续可随时重新附加到该容器。
数据库初始化
在开始使用IVRE前,需要在客户端容器内初始化数据库:
# 附加到客户端容器
docker attach ivreclient
# 初始化各组件数据库
yes | ivre ipinfo --init
yes | ivre scancli --init
yes | ivre view --init
yes | ivre flowcli --init
yes | ivre runscansagentdb --init
# 下载IP数据
ivre ipdata --download
导入扫描数据
将Nmap扫描结果导入数据库并创建视图:
ivre scan2db -r -s MySource -c MyCategory /ivre-share
ivre db2view nmap
自定义镜像构建
除了使用预构建的镜像,也可以从源码构建自定义镜像:
- 首先拉取基础镜像:
docker pull debian:12
- 构建各组件镜像:
for img in base client agent web web-doku web-uwsgi ; do
docker build -t "ivre/$img" "$img"
done
替代构建方式
使用本地归档
避免从网络获取源码包,使用本地代码构建:
git archive --format=tar --prefix=ivre/ HEAD -o docker/base-local/ivre.tar
# 处理版本文件
docker build -t ivre/base docker/base-local
使用pip安装
通过Python包管理器构建基础镜像:
docker build -t ivre/base base-pip
使用建议
- 数据持久化:确保将重要数据目录(如MongoDB数据目录)挂载为卷,避免容器重启后数据丢失
- 资源分配:根据扫描任务规模适当调整容器资源限制
- 安全考虑:生产环境应修改默认配置,如数据库认证信息等
- 性能优化:大量扫描任务时,可考虑分离数据库容器到专用主机
通过Docker部署IVRE可以快速搭建完整的网络情报分析环境,便于团队协作和系统维护。本文介绍的方法涵盖了从基础部署到高级定制的完整流程,用户可根据实际需求选择合适的方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考