使用Docker部署Guardicore Infection Monkey项目指南
2025-07-07 05:34:40作者:齐冠琰
项目概述
Guardicore Infection Monkey是一款开源的网络安全测试工具,用于评估企业网络的弹性。它通过模拟攻击者的行为来测试网络防御能力,帮助安全团队发现潜在漏洞。本文将详细介绍如何使用Docker容器方式部署该工具。
系统要求
- 仅支持Linux操作系统
- 不支持Windows或Mac上的Docker环境
- 需要安装Docker引擎
部署步骤
1. 拉取Docker镜像
首先需要获取两个核心镜像:
# 拉取MongoDB 6.0镜像
sudo docker pull mongo:6.0
# 拉取Monkey Island最新镜像
sudo docker pull infectionmonkey/monkey-island:latest
2. 启动MongoDB服务
MongoDB将作为数据存储后端:
sudo docker run \
--name monkey-mongo \
--network=host \
--volume monkey-db:/data/db \
--detach \
mongo:6.0
注意:如果是从旧版本升级,请确保删除旧版本的MongoDB容器和相关数据卷。
3. 启动Monkey Island服务
默认使用自签名SSL证书启动:
sudo docker run \
--tty \
--interactive \
--name monkey-island \
--network=host \
infectionmonkey/monkey-island:latest
4. 访问控制台
服务启动后,通过浏览器访问:
https://localhost
高级配置
自定义服务器配置
- 创建配置目录:
mkdir -m=0700 ./monkey_island_data
- 生成初始配置:
sudo docker run \
--rm \
--name monkey-island \
--network=host \
--user "$(id -u ${USER}):$(id -g ${USER})" \
--volume "$(realpath ./monkey_island_data)":/monkey_island_data \
infectionmonkey/monkey-island:latest --setup-only
- 编辑server_config.json文件,至少包含:
{
"data_dir": "/monkey_island_data",
"mongodb": {
"start_mongodb": false
}
}
- 使用自定义配置启动:
sudo docker run \
--rm \
--name monkey-island \
--network=host \
--user "$(id -u ${USER}):$(id -g ${USER})" \
--volume "$(realpath ./monkey_island_data)":/monkey_island_data \
infectionmonkey/monkey-island:latest --server-config="/monkey_island_data/server_config.json"
修改监听端口
在server_config.json中添加:
{
"island_port": 8080
}
使用自定义SSL证书
- 将证书(.crt)和密钥(.key)文件放入配置目录
- 设置文件权限:
chmod 600 <证书文件>
chmod 600 <密钥文件>
- 修改配置:
{
"ssl_certificate": {
"ssl_certificate_file": "/monkey_island_data/my_cert.crt",
"ssl_certificate_key_file": "/monkey_island_data/my_key.key"
}
}
调整日志级别
在配置文件中添加:
{
"log_level": "INFO"
}
升级指南
当前版本不支持原地升级,需要执行以下步骤:
- 停止并删除现有容器和数据卷
- 拉取新版本镜像
- 重新执行安装步骤
- 如需保留配置,可通过控制台的"导出配置"功能备份
常见问题
Unicode解码错误
当遇到UnicodeDecodeError
时,可能是由于加密密钥不匹配导致。解决方法:
- 重启现有容器而非创建新容器
- 删除并重建MongoDB容器
- 使用数据卷持久化密钥文件
安全建议
- 生产环境建议使用企业CA签发的证书而非自签名证书
- 确保配置目录权限设置为0700
- 定期备份重要配置数据
通过以上步骤,您可以成功部署并使用Guardicore Infection Monkey工具来测试和提升您的网络安全防御能力。