ret2shell靶场运维学习:关闭registry镜像搜索模式
Ret2Shell 关闭 Registry 搜索模式完整流程
说明
Ret2Shell 的 registry 有两个概念:
1 | registry 服务本身 |
关闭 registry 搜索模式不会关闭 registry 服务。
关闭后:
- 平台前端不会再自动列出 registry 中的镜像和 tag
- 添加题目环境时需要手动填写完整镜像地址
- 已经推送到 registry 的镜像仍然可以被 Kubernetes 拉取
例如仍然可以手动填写:
1 | localhost:30310/phpserialize-labs:v1 |
目标效果
平台运行配置中应为:
1 | [cluster.registry] |
这里的 enabled = false 只表示关闭平台 registry 搜索/选择模式。
1. 修改 Helm Chart 默认值
Chart 路径:
1 | /root/ret2shell-src/deploy/helm/ret2shell |
编辑:
1 | /root/ret2shell-src/deploy/helm/ret2shell/values.yaml |
在 registry: 下加入:
1 | registry: |
2. 修改 Helm 模板
编辑:
1 | /root/ret2shell-src/deploy/helm/ret2shell/templates/_config.tpl |
找到:
1 | [cluster.registry] |
改为:
1 | [cluster.registry] |
这样以后 Helm 渲染出来的配置会跟随 registry.search.enabled。
3. 修改 values schema
编辑:
1 | /root/ret2shell-src/deploy/helm/ret2shell/values.schema.json |
在 registry.properties 中加入:
1 | "search": { |
4. 可选:更新 Chart README
编辑:
1 | /root/ret2shell-src/deploy/helm/ret2shell/README.md |
在 registry 相关配置处加入:
1 | registry.search.enabled=true|false controls the platform registry search mode |
5. 如果当前运行环境不是重新 Helm 部署
当前平台容器挂载的运行配置来自主机路径:
1 | /srv/ret2shell/backend/config/config.toml |
需要直接修改这个运行配置。
编辑:
1 | /srv/ret2shell/backend/config/config.toml |
找到:
1 | [cluster.registry] |
改为:
1 | [cluster.registry] |
完整示例:
1 | [cluster.registry] |
6. 重启平台
重启 Ret2Shell 平台 StatefulSet:
1 | kubectl -n ret2shell-platform rollout restart statefulset/ret2shell-platform |
等待滚动重启完成:
1 | kubectl -n ret2shell-platform rollout status statefulset/ret2shell-platform --timeout=180s |
7. 验证 Pod 状态
查看平台 Pod:
1 | kubectl -n ret2shell-platform get pods -l app.kubernetes.io/component=platform -o wide |
期望看到:
1 | ret2shell-platform-0 1/1 Running |
8. 验证容器内配置
查看容器内实际生效配置:
1 | kubectl -n ret2shell-platform exec ret2shell-platform-0 -- sh -c 'sed -n "26,34p" /etc/ret2shell/config.toml' |
期望看到:
1 | [cluster.registry] |
9. 验证平台健康
检查 API:
1 | kubectl -n ret2shell-platform exec ret2shell-platform-0 -- wget -qO- http://127.0.0.1:8080/api/ping |
期望返回:
1 | pong |
10. 验证前端效果
进入平台题目环境配置页面。
关闭 registry 搜索模式后:
- 不再显示 registry 镜像搜索/选择列表
- 镜像字段需要手动输入完整镜像地址
例如:
1 | localhost:30310/phpserialize-labs:v1 |
容器名称仍然单独填写:
1 | phpserialize-labs |
11. 回滚方法
如果需要重新开启 registry 搜索模式:
运行配置改回:
1 | [cluster.registry] |
或者 Helm values 改为:
1 | registry: |
然后重启平台:
1 | kubectl -n ret2shell-platform rollout restart statefulset/ret2shell-platform |
12. 常见问题
关闭搜索模式后还能用内置 registry 吗
可以。
关闭的是平台前端的搜索/选择模式,不是 registry 服务。
仍然可以使用:
1 | docker push localhost:30310/phpserialize-labs:v1 |
然后在平台手动填写:
1 | localhost:30310/phpserialize-labs:v1 |
为什么修改 Helm 文件后没有立即生效
因为当前运行中的平台使用的是已经挂载到 Pod 的配置:
1 | /srv/ret2shell/backend/config/config.toml |
只改 Helm Chart 源文件不会自动修改正在运行的 Pod 配置。
需要:
- 直接修改运行配置并重启平台
- 或重新执行 Helm upgrade 让配置重新渲染并下发
如何确认是否真的关闭
以容器内配置为准:
1 | kubectl -n ret2shell-platform exec ret2shell-platform-0 -- sh -c 'grep -A4 "\\[cluster.registry\\]" /etc/ret2shell/config.toml' |
看到:
1 | enabled = false |
即可。
- 标题: ret2shell靶场运维学习:关闭registry镜像搜索模式
- 作者: ljnljn
- 创建于 : 2026-05-19 16:34:00
- 更新于 : 2026-05-25 22:04:46
- 链接: https://ljnljn2005.github.io/2026/05/19/ret2shell靶场运维学习:关闭registry镜像搜索模式/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。