Docker容器安全最佳实践白皮书及对应修复方法

基于v1.3.6版本

一、主机安全配置

1.1、Linux主机配置检测

1.1.1、为容器创建一个单独的分区

默认情况下所有的容器存储在/var/lib/docker目录下,当其写满时,会造成Docker甚至主机无法使用,因此,建议为Docker创建新的分区。若已安装,建议使用LVM创建分区。

修复:

1
2
3
4
5
配置 docker data 数据挂载点,修改后重载守护进程以及重新docker服务。
$ vim /etc/docker/daemon.json
# 在json格式的 {} 中加入如下字段及内容。
"data-root": "/test/docker",
$ systemctl daemon-reload && systemctl restart docker

1.1.2、确保只允许受信任的用户控制Docker守护进程

此项会列出所有有权限使用Docker的普通用户,请确保其是符合你的期望。若需要添加或删除,请使用以下命令

1
2
3
4
5
6
# 从 docker 组中删除任何不受信任的用户
sudo gpasswd -d <your-user> docker

# 将受信任的用户添加到 docker 组
sudo usermod -aG docker <your-user>

1.1.3、确保为 Docker 守护程序配置审计

将Docker守护程序用audit工具审计

修复:

1
2
3
4
# 在/etc/audit/rules.d/audit.rules文件中写入
-w /usr/bin/dockerd -k Docker_daemon
# 然后auditctl -R /etc/audit/rules.d/audit.rules重载规则

1.1.4、确保为 Docker 文件和目录配置审计 -/run/containerd

将容器文件及目录用audit工具审计

修复:

1
2
3
# 在/etc/audit/rules.d/audit.rules文件中写入
-w /run/containerd -k Docker_containerd
# 然后auditctl -R /etc/audit/rules.d/audit.rules重载规则