Rootless Docker 与其隐藏的安全权衡
来源: kenmuse.com — 2026-04-23
概述
Ken Muse 深入剖析 rootless Docker 的工作原理与代价。Rootless 通过 RootlessKit 引导用户命名空间,把 dockerd 以非特权用户运行,让容器逃逸落入非 root 身份,确实降低了破坏半径。但作者指出用户命名空间本身就扩大了内核攻击面:命名空间内的进程获得完整能力集(含 CAP_SYS_ADMIN、CAP_NET_ADMIN),可触达历史上仅供受信 root 调用的内核接口,而大量内核代码正因默认调用者是受信 root 而校验松懈。此外 rootless 常需 seccomp=unconfined 和 apparmor=unconfined,等于关掉关键安全过滤。
核心要点
- rootless 通过 RootlessKit 引导用户命名空间,daemon 以非特权用户运行
- 容器逃逸后落入非 root 的宿主 UID,降低破坏半径
- 但用户命名空间内进程获得完整能力集,扩大内核攻击面
- rootless 常需 seccomp/apparmor=unconfined,关掉关键过滤
- 2025 年 Qualys 披露三种绕过 Ubuntu 非特权命名空间限制的方法
- 「rootless」不等于「零权限」,而是把权限移进命名空间
金句
「rootless」并不意味着「零权限」,而是把所需的权限移进用户命名空间,且不再由系统级 root 守护进程永久持有。
👍 0
👎 0
返回 Lobsters 首页