ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Infection Monkey 恢复出厂设置(Factory Reset)完全指南:清除数据目录、重置凭据与三种部署方式实操

Infection Monkey 恢复出厂设置(Factory Reset)完全指南:清除数据目录、重置凭据与三种部署方式实操 网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载导读本指南面向 Infection Monkey 的使用者讲解如何对 Monkey IslandIsland 服务器执行一次完整的恢复出厂设置factory reset操作。当您忘记访问 Monkey Island 的登录凭据、或希望彻底清空历史模拟数据、以全新状态重新开始时本文给出的停止服务 → 删除数据目录 → 重启 → 重新注册用户四步流程可以立即解决问题。文章不仅覆盖 AppImageLinux、Docker、Windows 三种部署方式的逐条命令还结合本仓库源码解释了数据目录的结构、版本兼容检查与 MongoDB 数据落盘位置帮助您理解删除什么、为什么删、删了会失去什么。什么是恢复出厂设置为什么需要它Monkey Island 是 Infection Monkey 的指挥与控制CC服务器。当它第一次启动时如果数据目录尚不存在会自动创建一个数据目录并把运行期产生的全部工件存储在其中——包括 Monkey Island 用户账户、历史报告、Agent 配置、模拟运行数据以及 MongoDB 数据库文件等。恢复出厂设置就是把 Island 恢复到第一次启动前的状态本质上是执行以下四步关闭 Monkey Island如果它正在运行删除数据目录重新启动 Monkey Island通过浏览器访问 Island 并注册一个新用户。警告执行恢复出厂设置将永久删除 Infection Monkey 已收集和生成的全部数据包括 Monkey Island 用户账户、报告和配置。请务必先确认这些数据不再需要或已通过 Web UI 的Export config功能导出备份再继续操作。数据目录里到底有什么源码视角从仓库源码可以确认数据目录承载的几类核心数据MongoDB 数据库文件在启动流程中_initialize_mongodb_connection()会调用mongo_setup.start_mongodb(data_dir)而 mongo_setup.py 中数据库目录被创建为data_dir/dbMongoDB 日志为data_dir/mongodb.log。用户账户、Agent 事件、凭证、报告等业务数据全部落在这个 MongoDB 中。运行日志Island 日志setup_logging(data_dir, log_level)、gevent 异常日志data_dir/gevent_exception.log见 server_setup.py等。版本标记文件data_dir.py 中的setup_data_dir()会在数据目录里写入版本文件write_version(data_dir_path)用于后续启动时校验版本一致性。因此删除数据目录这条命令实际上同时清除了数据库、日志、配置与用户凭据——这正是恢复出厂设置能重置一切的根本原因。通用流程无论哪种部署方式都适用无论您使用哪种安装方式恢复出厂设置的思路完全一致只是停止服务与删除数据目录的具体命令不同步骤操作说明1停止 Monkey Island避免正在运行的进程占用/写回数据目录2删除数据目录清除全部数据包括用户账户、报告与配置3重启 Monkey Island首次启动时会自动重建数据目录4注册新用户访问 Web UI创建全新的管理员账户下文按部署方式给出完整可执行的命令。默认的 HTTPS 访问地址为https://localhost:5000请根据实际情况修改 host若配置了island_port则以 server-configuration 中设置的端口为准。方案一AppImageLinux安装AppImage 部署下数据目录的默认位置是$HOME/.monkey_island/与>sudo systemctl stop infection-monkey.service否则手动启动场景找到当初启动 Monkey Island 的终端窗口按CTRLC终止进程。2. 定位并删除数据目录默认数据目录为$HOME/.monkey_island/删除命令rm -r $HOME/.monkey_island/若您通过server_config.json的data_dir字段自定义了数据目录位置配置方式见>sudo systemctl start infection-monkey.service手动方式进入存放 AppImage 的目录直接运行将VERSION替换为实际版本号./InfectionMonkey-VERSION.AppImage4. 注册新用户用浏览器访问https://localhost:5000host 按需修改在注册页面创建一个新的用户账户。由于数据目录已被清空注册向导会像首次安装一样引导您完成初始化。方案二Docker 安装Docker 部署下Monkey Island 与 MongoDB 分别运行在monkey-island与monkey-mongo两个容器中业务数据持久化在名为monkey-db的 Docker volume 里参考 Docker 部署指南 中的启动命令。因此 Docker 方案的重置 销毁容器 删除 volume 按原始命令重建。1. 停止 Monkey Islandsudo docker kill monkey-island monkey-mongo2. 删除 MongoDB 的 Docker volumesudo docker volume rm monkey-db3. 删除 Monkey Island 容器sudo docker rm monkey-island4. 清理其他可能关联的 volumeInfection Monkey 可能还使用了其他 volume。先用以下命令列出全部 volumesudo docker volume ls再逐个删除不需要的sudo docker volume rm VOLUME_NAME5. 重启 MongoDB 容器sudo docker run \ --name monkey-mongo \ --networkhost \ --volume monkey-db:/data/db \ --detach \ mongo:6.06. 重启 Monkey Island 容器sudo docker run \ --name monkey-island \ --networkhost \ infectionmonkey/monkey-island:latest说明上述命令与 docs/content/setup/docker.md 中记录的初始部署命令保持一致mongo:6.0也是部署文档指定的 MongoDB 镜像版本。若您之前以其他参数如挂载了自定义server_config.json或自定义证书运行容器请同样沿用原参数重建。7. 注册新用户浏览器访问https://localhost:5000host 按需修改注册新用户并重新初始化。方案三Windows 安装Windows 部署下数据目录的默认位置是%AppData%\monkey_island\。停止 Monkey Island找到启动 Monkey Island 的命令窗口点击窗口右上角的x关闭以停止服务。定位并删除数据目录默认位于%AppData%\monkey_island\使用文件资源管理器将该目录整个删除。重启 Monkey Island双击桌面上的 Infection Monkey 图标或在开始菜单中搜索MonkeyIsland并点击 Infection Monkey 图标启动。注册新用户浏览器访问https://localhost:5000host 按需修改注册新用户。进阶理解重启时数据目录的初始化逻辑执行恢复出厂设置后重启的 Monkey Island 会自动从零开始重建数据目录。这一行为在源码中有明确体现server_setup.py 的run_monkey_island()在启动早期调用_setup_data_dir(config_options.data_dir)随后才配置日志、连接 MongoDB 并启动 Web 服务器data_dir.py 的setup_data_dir()会调用create_secure_directory()创建目录并写入版本文件如果检测到已存在的旧版本数据目录版本不匹配会提示用户确认是否删除_prompt_user_to_delete_data_directory确认后执行shutil.rmtree()否则抛出IncompatibleDataDirectory异常并退出。这意味着即使您没有手动删除数据目录当 Island 版本与数据目录中的版本文件不一致时启动过程本身也会询问是否清理旧数据——这是与手动恢复出厂设置相辅相成的内置保护机制。常见问题与注意事项命令笔误修正部分文档资料中把停止 systemd 服务的命令写成sudo systemd stop ...正确写法是sudo systemctl stop infection-monkey.service与 install-infection-monkey-service.sh 中的systemctl用法一致。升级场景Docker 部署在升级到新版本时没有原地升级选项官方建议是停止并移除旧的 Monkey Island / MongoDB 容器和 volume 后重新部署如需保留既有配置可先用 Web UI 的Export config导出配置文件重置后再导入详见 Docker 部署指南。旧数据库导致的解密失败若旧 MongoDB 容器中的加密数据与新建 Island 容器生成的密钥不匹配可能报UnicodeDecodeError: utf-8 codec cannot decode byte 0xee ...。解决方式包括重启原有容器以复用密钥、删除旧 MongoDB 容器/数据库重新开始或通过--volume monkey_island_data:/monkey_island_data持久化 Island 运行时工件含密钥文件。恢复出厂设置的删除 volume 操作即可彻底规避此类残留问题。重置 ≠ 恢复出厂设置Web UI 中的重置Reset弹窗对应 IslandResetModal.tsx用于清空当前模拟运行数据、让机器模型回到初始状态属于软重置本文的恢复出厂设置则会连同用户账户、配置与数据库文件一起删除属于硬重置请根据需求区分使用。总结恢复出厂设置是 Infection Monkey 运维中最直接的一键回到初始状态手段停止 Island → 删除数据目录 → 重启 → 注册新用户。无论是忘记凭据、配置被改坏还是希望彻底清理历史模拟痕迹这套流程都适用。理解了数据目录中承载的 MongoDB 数据库、日志与版本文件data_dir.py、mongo_setup.py您就能针对 AppImage、Docker 与 Windows 三种部署方式准确地执行清理并在需要时通过配置导出Export config保住有价值的配置成果。赞分享网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载相关推荐Infection Monkey 配置指南凭据、网络与配置导入导出的完整实践Infection Monkey 配置指南凭据、网络与配置导入导出的完整实践 Infection Monkey 是一个开源的对立仿真adversary em网络安全应用安全MicroPython ESP32 端口工厂重置Factory Reset完整指南软变砖恢复与 Flash 擦除实战MicroPython ESP32 端口工厂重置Factory Reset完整指南软变砖恢复与 Flash 擦除实战 导读 当你的 ESP32 开发板因意嵌入式语言运行时编程语言解释器编译器物联网系统编程Infection Monkey 数据目录Data Directory完全指南默认位置、自定义配置与内部结构解析Infection Monkey 数据目录Data Directory完全指南默认位置、自定义配置与内部结构解析 Infection Monkey 的 I网络安全应用安全上一篇Shoelace 安装与引入完全指南CDN、npm、按需加载与打包配置详解下一篇零基础入门openEuler嵌入式开发从环境搭建到应用部署完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表