测验:逃逸路径与阻断
为什么在容器中挂载/var/run/docker.sock是危险的?
- 通过套接字进行通信会占用大量磁盘空间。
- 可以使用守护程序 API 启动新的特权容器,使其实际上成为主机根。
- 由于守护进程,网络变慢
- 构建图像缓存已损坏
您需要绑定低端口(80)。什么是最合适的行动?
- 使用
--privileged运行 - 以 root 身份运行
- 仅添加
NET_BIND_SERVICE功能 - 使用主机网络
-v /etc:/etc-host最准确的挂载风险是多少?
- 更多挂载会显着减慢容器启动时间
- 图像层随着安装而变大。
- 您可以访问主机身份验证和执行设置,例如影子、sudoers 和 cron。
- 挂载命名空间是完全共享的。
--pid=host打开什么路径?
- 通过
/proc/<pid>/root访问另一个进程的文件系统 - 直接访问主机磁盘设备
- 将模块加载到主机内核中
- 直接更改主机的iptables规则
在图像中添加USER 10001的正确效果是什么?
- 通过消除不必要的帐户来减小图像大小。
- 网络命名空间是隔离的
- seccomp 配置文件一起打开。
- 默认执行用户变为非 root,从而阻塞了许多权限路径。
为什么即使在实验室 Pod 中以 root 身份登录,主机也是安全的?
- 它仅在容器内显示为 root,但实际 UID 不为 0。
- 所有功能均被删除,并且 NO_NEW_PRIVS、seccomp 和隔离一起应用。
- pod 中根本没有网络。
- 因为根文件系统是只读的。