当前位置: 首页 > news >正文

ret2shell靶场运维学习:关闭registry镜像搜索模式

Ret2Shell 关闭 Registry 搜索模式完整流程

说明

Ret2Shell 的 registry 有两个概念:

registry 服务本身
registry 搜索模式

关闭 registry 搜索模式不会关闭 registry 服务。

关闭后:

  • 平台前端不会再自动列出 registry 中的镜像和 tag
  • 添加题目环境时需要手动填写完整镜像地址
  • 已经推送到 registry 的镜像仍然可以被 Kubernetes 拉取

例如仍然可以手动填写:

localhost:30310/phpserialize-labs:v1

目标效果

平台运行配置中应为:

[cluster.registry]
enabled = false
server = "ret2shell-registry:5000"
external = "localhost:30310"
insecure = true

这里的 enabled = false 只表示关闭平台 registry 搜索/选择模式。

1. 修改 Helm Chart 默认值

Chart 路径:

/root/ret2shell-src/deploy/helm/ret2shell

编辑:

/root/ret2shell-src/deploy/helm/ret2shell/values.yaml

registry: 下加入:

registry:mode: internalreplicaCount: 1search:enabled: false

2. 修改 Helm 模板

编辑:

/root/ret2shell-src/deploy/helm/ret2shell/templates/_config.tpl

找到:

[cluster.registry]
enabled = true

改为:

[cluster.registry]
enabled = {{ .Values.registry.search.enabled }}

这样以后 Helm 渲染出来的配置会跟随 registry.search.enabled

3. 修改 values schema

编辑:

/root/ret2shell-src/deploy/helm/ret2shell/values.schema.json

registry.properties 中加入:

"search": {"type": "object","properties": {"enabled": {"type": "boolean"}}
}

4. 可选:更新 Chart README

编辑:

/root/ret2shell-src/deploy/helm/ret2shell/README.md

在 registry 相关配置处加入:

registry.search.enabled=true|false controls the platform registry search mode

5. 如果当前运行环境不是重新 Helm 部署

当前平台容器挂载的运行配置来自主机路径:

/srv/ret2shell/backend/config/config.toml

需要直接修改这个运行配置。

编辑:

/srv/ret2shell/backend/config/config.toml

找到:

[cluster.registry]
enabled = true

改为:

[cluster.registry]
enabled = false

完整示例:

[cluster.registry]
enabled = false
server = "ret2shell-registry:5000"
external = "localhost:30310"
insecure = true

6. 重启平台

重启 Ret2Shell 平台 StatefulSet:

kubectl -n ret2shell-platform rollout restart statefulset/ret2shell-platform

等待滚动重启完成:

kubectl -n ret2shell-platform rollout status statefulset/ret2shell-platform --timeout=180s

7. 验证 Pod 状态

查看平台 Pod:

kubectl -n ret2shell-platform get pods -l app.kubernetes.io/component=platform -o wide

期望看到:

ret2shell-platform-0   1/1   Running

8. 验证容器内配置

查看容器内实际生效配置:

kubectl -n ret2shell-platform exec ret2shell-platform-0 -- sh -c 'sed -n "26,34p" /etc/ret2shell/config.toml'

期望看到:

[cluster.registry]
enabled = false
server = "ret2shell-registry:5000"
external = "localhost:30310"
insecure = true

9. 验证平台健康

检查 API:

kubectl -n ret2shell-platform exec ret2shell-platform-0 -- wget -qO- http://127.0.0.1:8080/api/ping

期望返回:

pong

10. 验证前端效果

进入平台题目环境配置页面。

关闭 registry 搜索模式后:

  • 不再显示 registry 镜像搜索/选择列表
  • 镜像字段需要手动输入完整镜像地址

例如:

localhost:30310/phpserialize-labs:v1

容器名称仍然单独填写:

phpserialize-labs

11. 回滚方法

如果需要重新开启 registry 搜索模式:

运行配置改回:

[cluster.registry]
enabled = true

或者 Helm values 改为:

registry:search:enabled: true

然后重启平台:

kubectl -n ret2shell-platform rollout restart statefulset/ret2shell-platform
kubectl -n ret2shell-platform rollout status statefulset/ret2shell-platform --timeout=180s

12. 常见问题

关闭搜索模式后还能用内置 registry 吗

可以。

关闭的是平台前端的搜索/选择模式,不是 registry 服务。

仍然可以使用:

docker push localhost:30310/phpserialize-labs:v1

然后在平台手动填写:

localhost:30310/phpserialize-labs:v1

为什么修改 Helm 文件后没有立即生效

因为当前运行中的平台使用的是已经挂载到 Pod 的配置:

/srv/ret2shell/backend/config/config.toml

只改 Helm Chart 源文件不会自动修改正在运行的 Pod 配置。

需要:

  • 直接修改运行配置并重启平台
  • 或重新执行 Helm upgrade 让配置重新渲染并下发

如何确认是否真的关闭

以容器内配置为准:

kubectl -n ret2shell-platform exec ret2shell-platform-0 -- sh -c 'grep -A4 "\\[cluster.registry\\]" /etc/ret2shell/config.toml'

看到:

enabled = false

即可。

http://www.zskr.cn/news/1320587.html

相关文章:

  • 2026年宁夏银川B2B企业网络营销与AI-GEO推广服务商深度横评指南 - 精选优质企业推荐官
  • OpenCV阈值分割算法怎么选?一张图看懂直方图法、熵算法、Otsu的区别与适用场景
  • MOBILE-灰签名回廊
  • 广州代理清关公司实力排行:合规与效率双重维度解析 - 互联网科技品牌测评
  • 如何彻底改变Windows文件管理:FileMeta实战指南
  • 终极OBS多平台直播指南:5分钟实现高效同步推流
  • 深圳市老蚂蚁搬家服务:罗湖专业的居民搬家公司怎么联系 - LYL仔仔
  • MaxKB开源AI知识库部署实战:从本地大模型到企业级应用
  • m4s-converter终极指南:3步轻松将B站缓存视频转为MP4
  • LLM工程实践指南:从RAG到微调,构建高效应用知识体系
  • 聚焦汽车零部件质控,西恩士全自动清洁度检测设备筑牢汽车工业安全防线 - 精密仪器科技圈
  • 终极免费解决方案:Pearcleaner如何彻底清理macOS应用残留文件
  • ret2shell靶场运维学习:把docker上传到平台
  • VSCode嵌入式开发入门:从安装Embedded IDE插件到成功编译第一个STM32程序
  • 为Hermes Agent配置自定义Provider并接入Taotoken多模型广场
  • 从滚珠丝杠到控制信号:手把手拆解‘惯容器’在ADD悬架中的动力学建模与仿真
  • 从‘秦皇岛今天晴空万里’到HMM:一文搞懂NLP分词中的序列标注到底在标什么
  • 书匠策AI论文生存指南:降重降AIGC,2025届毕业生的“反内卷外挂“
  • 使用Taotoken后API调用延迟显著降低且账单清晰可追溯
  • ROC-RK3568-PC开发板深度评测:从硬件解析到AIoT实战应用
  • 苏州5家黄金奢侈品回收机构实力评级,从报价到回款全程实测 - 奢侈品回收测评
  • 智能对象替换革命:Illustrator自动化工作流的核心引擎
  • 边缘计算AI盒子4路AHD、4路千兆网、4G/5G通讯,标准API接口,兼容Modbus、DLT645、OPC UA等多种行业协议
  • Perplexity认证黄金窗口期即将关闭:2024年Q4起将启用L3难度动态题库,现在拿证=锁定AI可信度背书
  • 从总线到片上网络:高性能SoC互连架构演进与实战解析
  • 2026年宁夏B2B企业短视频获客与AI-GEO推广完全指南:银川品牌策划与网络营销服务商深度横评 - 精选优质企业推荐官
  • 为OpenClaw配置Taotoken后端扩展其AI助手的数据处理能力
  • 在 GitHub Actions 中集成 Taotoken 实现大模型 API 自动化调用
  • RK3588模块化主机设计:从核心架构到边缘AI应用实战
  • 2026年北京抖音推广代运营与AI搜索优化服务商深度横评指南 - 企业名录优选推荐