设置Docker配置文件权限
TLS CA证书权限配置
TLS CA证书文件属主和属组设为root : root,权限设为“400”。
保护TLS CA证书文件(用参数“--tlscacert”指定CA证书文件的路径),防止其被篡改。证书文件用于指定的CA证书认证Docker服务器。因此,其属主和属组必须是root,权限必须为“400”,才能保证CA证书的完整性。
可以通过以下方式设置。
- 执行以下命令,将文件的属主和属组设为root。
chown -h root:root <path to TLS CA certificate file>
path to TLS CA certificate file路径一般为“/usr/local/share/ca-certificates”。
- 将文件权限设为“400”。
chmod 400 <path to TLS CA certificate file>
Docker服务器证书权限配置
Docker服务器证书文件属主和属组为root:root,权限设为“400”。
- 将文件权限设为“400”。
chmod 400 <path to Docker server certificate file>
保护Docker服务器证书文件(用参数“--tlscert”指定证书文件的路径),防止其被篡改。证书文件用于基于指定的服务器证书认证Docker服务器。因此,其属主和属组必须是root,权限必须为“400”,才能保证证书的完整性。
- 执行以下命令,将文件的属主和属组设为root。
chown -h root:root <path to Docker server certificate file>
Docker服务器证书密钥权限配置
Docker服务器证书密钥文件属主和属组为root:root,权限设为“400”。
- 将文件权限设为“400”。
chmod 400 <path to Docker server certificate key file>
保护Docker服务器证书密钥文件(用参数“--tlskey”指定证书文件的路径),防止其被篡改。证书密钥文件包含Docker服务器证书的私有密钥。因此,其属主和属组必须是root,权限必须为“400”,才能保证Docker服务器证书的完整性。
- 执行以下命令,将文件的属主和属组设为root。
chown -h root:root <path to Docker server certificate key file>
“/etc/docker/daemon.json”文件权限配置
“daemon.json”文件属主和属组设为root:root,文件权限设为“600”。
“daemon.json”文件包含更改Docker守护进程的敏感参数,是重要的全局配置文件,其属主和属组必须是root,且只对root可写,以保证文件的完整性。该文件并不是默认存在的。
- 如果“daemon.json”文件默认不存在,说明产品没有使用该文件进行配置,那么可以执行以下命令,在启动参数中将配置文件设置为空,不使用该文件作为默认配置文件,避免被攻击者恶意创建并修改配置。
docker --config-file=""
- 如果产品环境存在“daemon.json”文件,说明已经使用了该文件进行配置操作,需要设置相应权限,防止被恶意修改。
- 执行以下命令,将文件的属主和属组设为root。
chown -h root:root /etc/docker/daemon.json
- 执行以下命令,将文件权限设为“600”。
chmod 600 /etc/docker/daemon.json
- 执行以下命令,将文件的属主和属组设为root。
Docker相关目录和文件权限控制
- 请确保没有任何用户加入Docker用户组。
- 将“/etc/default/docker”文件属主设为root:root,文件权限设为“644”或更严格。
- 将“/etc/sysconfig/docker”文件属主设为root:root,文件权限设为“644”或更严格。
- 将“docker.service”文件属主设为root:root,文件权限为“644”。
- 将“docker.sock”文件属主设为root:docker,文件权限为“660”。
- 将“/etc/docker”目录属主设为root:root,权限设为“755”或更严格。
- 将“docker.socket”文件属主设为root:root,文件权限为“644”或更严格。
文件或目录不存在时可忽略。
父主题: 容器安全加固