Be Using Rootless Containers
22 days ago
- Docker 的客户端-服务器架构,配合以 root 身份运行的守护进程,会带来安全风险,尤其是当用户为了方便将自己加入 docker 组时,可以在无需认证的情况下提升至 root 权限。
- 演示展示了非 root 用户如何在容器中挂载主机文件系统并以 root 身份访问文件,从而绕过权限限制。
- 无 root 的替代方案包括 Docker 的 rootless 模式(需要手动设置)和 Podman,后者无守护进程,并在用户自己的账户下运行容器,从而防止 root 权限提升。
- Podman 有一些不同之处:如果没有完整限定名称,它可能找不到镜像;需要在重启后通过 systemd 集成来重新启动容器;并提供可选的 API 服务以兼容 Docker 工具。
- 作者推荐使用无 root 容器以获得更好的安全性,并且主要使用 Podman,同时指出在安全要求不高的情况下,偶尔在隔离的虚拟机上使用 Docker 也是可以接受的。