描述
默认情况下,限制容器通过suid
或sgid
位获取附加权限
隐患分析
一个进程可以在内核中设置no_new_priv
。 它支持fork
,clone
和execve
。
no_new_priv
确保进程或其子进程不会通过suid
或sgid
位获得任何其他特权。
这样,很多危险的操作就降低安全风险。在守护程序级别进行设置可确保默认情况下,所有新容器不能获取新的权限。
审计方法
ps -ef|grep dockerd
或
cat /etc/docker/daemon.json|grep no-new-privileges
确保no-new-privileges
配置为false
修复建议
编辑文件
$ mkdir -p /etc/docker/
$ vi /etc/docker/daemon.json
添加如下内容
"no-new-privileges": false
重载服务
$ systemctl daemon-reload
$ systemctl restart docker
参考文档
- Docker容器最佳安全实践白皮书(V1.0)
- Docker官方文档
网友评论