← 中文资源

简体中文版本

自托管 Runner 加固工作流

按信任级别隔离 Runner、在容器或虚拟机内运行任务、限制网络与文件系统访问,并把 Runner 视为不可信基础设施。

阅读英文原文

概述

自托管 Runner 若与生产网络同处一层且保留状态,一次恶意任务即可横向移动并窃取凭据。按信任级别拆分 Runner、让任务在容器或虚拟机内运行且运行后销毁、限制网络与文件系统、不在主机上放置长期凭据,可把主机被攻陷的影响限制在最小范围。

关键步骤

  1. 按公开、内部与生产级别分离 Runner。
  2. 在全新容器或虚拟机内运行任务,结束后销毁。
  3. 限制文件系统与网络访问到构建所需。
  4. 视 Runner 主机为不可信,避免放置长期凭据。

验证

  • 任务无法读取工作区之外的宿主文件系统。
  • 任务无法触达生产网络。
  • 宿主上无长期凭据。
  • Runner 清单与信任级别有记录。

决策点

不可信任务应使用临时 Runner;生产访问只能来自专用且严格控制的生产 Runner。

适用范围

本条目围绕「自托管 Runner 加固工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

# run a job in an ephemeral container with limited mounts
docker run --rm --network none -v "$PWD:/work" -w /work ubuntu:24.04 ./build.sh