Guardicore Monkey项目Docker Compose部署指南
2025-07-07 05:36:24作者:咎岭娴Homer
概述
Guardicore Monkey是一个网络安全测试平台,用于模拟攻击行为以评估网络防御能力。本文将详细介绍如何使用Docker Compose快速部署Guardicore Monkey的核心组件。
环境准备
在开始部署前,请确保您的系统已安装以下软件:
- Docker 19.03或更高版本
- Docker Compose 1.25或更高版本
核心组件解析
该Docker Compose文件定义了三个关键服务:
-
MongoDB数据库服务:
- 使用MongoDB 6.0官方镜像
- 数据持久化存储在名为
monkey-tutorial-db
的卷中 - 暴露标准MongoDB端口27017
-
Monkey Island服务:
- 使用特定版本的infectionmonkey/monkey-island镜像
- 通过环境变量配置MongoDB连接
- 暴露5000端口用于Web访问
- 依赖MongoDB服务启动
-
SSH测试服务:
- 使用infectionmonkey/ssh1镜像
- 启动SSH守护进程用于测试目的
详细部署步骤
1. 创建部署文件
将提供的Docker Compose配置保存为docker-compose.yml
文件。
2. 启动服务
在包含配置文件的目录中执行以下命令:
docker-compose up -d
3. 验证服务状态
检查各容器是否正常运行:
docker-compose ps
4. 访问Monkey Island
服务启动后,可通过浏览器访问:
http://localhost:5000
配置详解
MongoDB配置
- 使用官方MongoDB 6.0镜像确保兼容性
- 数据卷确保数据库持久化存储
- 标准端口映射允许外部连接
Monkey Island配置
- 环境变量
MONKEY_MONGO_URL
指定MongoDB连接字符串 - 显式声明对MongoDB服务的依赖关系
- 5000端口映射允许Web访问
SSH测试服务
- 提供基本的SSH服务用于测试场景
- 保持容器运行状态以便进行渗透测试
常见问题解决
-
端口冲突:
- 如果5000或27017端口已被占用,可修改
ports
配置中的主机端口
- 如果5000或27017端口已被占用,可修改
-
启动顺序问题:
depends_on
确保MongoDB先启动- 如遇连接问题,可增加健康检查配置
-
数据持久化:
- 删除容器不会删除数据卷
- 如需重置数据,需手动删除
monkey-tutorial-db
卷
最佳实践建议
-
生产环境调整:
- 为MongoDB添加认证配置
- 考虑使用更严格的网络隔离
-
版本控制:
- 记录使用的镜像版本以便重现环境
- 定期更新到最新稳定版本
-
资源限制:
- 为各服务添加CPU和内存限制
- 根据实际负载调整资源配置
总结
通过本指南,您已了解如何使用Docker Compose快速部署Guardicore Monkey的核心组件。这种部署方式简化了环境搭建过程,使安全团队能够快速开始网络安全评估工作。根据实际需求,您可以进一步定制配置,如添加更多测试目标或调整安全设置。