Hasty Briefsbeta

双语

Securing Services with Rootless Containers

4 days ago
  • Docker/OCI 容器并非天生安全;无根容器是一项关键的加固措施。
  • 无根容器通过确保任何容器逃逸都以非特权主机用户(而非 root)的身份落地,从而限制攻击影响。
  • 无根操作依赖于用户命名空间和从属 UID/GID 映射(例如 /etc/subuid)。
  • Podman 默认是无守护进程的,使用 systemd 服务单元进行无根容器管理。
  • 为服务用户启用 lingering,以便无根服务在无活动登录会话时也能运行。
  • 示例 PostgreSQL 容器配置包括 UserNS=keep-id、带有 :U 的 Volume,以及私有 IP 上的 PublishPort。
  • 示例 Anubis 容器配置增加了 ReadOnly=true、NoNewPrivileges=true 和 DropCapability=ALL。
  • 像 systemctl --user 这样的命令需要 XDG_RUNTIME_DIR 和 DBUS_SESSION_BUS_ADDRESS 环境变量。
  • 无根容器的网络差异(特权端口、源 IP 保留、防火墙)将在后续文章中讨论。