设置仓库证书文件权限为444或更多限制性
描述
验证所有仓库证书文件(通常位于/etc/docker/certs.d/<registry-name>
目录下)所有权限是否正确设置为444
隐患分析
/etc/docker/certs.d/<registry-name>
目录包含Docker
镜像仓库证书。
这些证书文件必须具有444
权限,以维护证书的完整性。
审计方式
```shell script [root@localhost ~]# stat -c %a /etc/docker/certs.d/* 755
### 修复建议
若权限非`444`,修改授权
```shell script
$ chmod 444 /etc/docker/certs.d/*
设置TLS CA证书文件所有权为root:root
描述
验证TLS CA
证书文件均由root
拥有并归组所有
隐患分析
TLS CA
证书文件应受到保护,不受任何篡改。它用于指定的CA
证书验证。
因此,它必须由root
拥有,以维护CA
证书的完整性。
审计方式
```shell script [root@localhost ~]# ls /etc/docker/certs.d// |xargs -n1 stat -c %U:%G root:root root:root root:root
### 修复建议
若所属用户非`root:root`,修改授权
```shell script
$ chown root:root /etc/docker/certs.d/*/*
设置TLS CA证书文件权限为444或更多限制性
描述
验证所有仓库证书文件(通常位于/etc/docker/certs.d/<registry-name>
目录下)所有权限是否正确设置为444
隐患分析
TLS CA
证书文件应受到保护,不受任何篡改。它用于指定的CA
证书验证。
这些证书文件必须具有444
权限,以维护证书的完整性。
审计方式
```shell script [root@localhost ~]# stat -c %a /etc/docker/certs.d// 644 644 644
###- 修复建议
若权限非`444`,修改授权
```shell script
$ chmod 444 /etc/docker/certs.d/*/*
设置docker服务器证书文件所有权为root:root
描述
验证Docker
服务器证书文件(与--tlscert
参数一起传递的文件)是否由root
和其组拥有
隐患分析
Docker
服务器证书文件应受到保护,不受任何篡改。它用于验证Docker
服务器。
因此,它必须由root
拥有以维护证书的完整性。
审计方式
注意: /root/docker
替换为docker服务端实际证书存放目录
```shell script [root@localhost ~]# ls -l /root/docker total 44 -rw-r--r-- 1 root root 3326 Apr 26 02:55 ca-key.pem -rw-r--r-- 1 root root 1980 Apr 26 02:56 ca.pem -rw-r--r-- 1 root root 17 Apr 26 02:57 ca.srl -rw-r--r-- 1 root root 1801 Apr 26 02:57 cert.pem -rw-r--r-- 1 root root 1582 Apr 26 02:57 client.csr -rw-r--r-- 1 root root 30 Apr 26 02:57 extfile-client.cnf -rw-r--r-- 1 root root 86 Apr 26 02:56 extfile.cnf -rw-r--r-- 1 root root 3243 Apr 26 02:57 key.pem -rw-r--r-- 1 root root 1862 Apr 26 02:56 server-cert.pem -rw-r--r-- 1 root root 1594 Apr 26 02:56 server.csr -rw-r--r-- 1 root root 3243 Apr 26 02:56 server-key.pem
### 修复建议
若所属用户非`root:root`,修改授权
```shell script
$ chown root:root /root/docker/*
设置Docker服务器证书文件权限为400或更多限制
描述
验证Docker
服务器证书文件(与--tlscert
参数一起传递的文件)权限是否为400
隐患分析
Docker
服务器证书文件应受到保护,不受任何篡改。它用于验证Docker
服务器。
因此,它必须由root
拥有以维护证书的完整性。
审计方式
注意: /root/docker
替换为docker服务端实际证书存放目录
```shell script [root@localhost ~]# ls -l /root/docker total 44 -rw-r--r-- 1 root root 3326 Apr 26 02:55 ca-key.pem -rw-r--r-- 1 root root 1980 Apr 26 02:56 ca.pem -rw-r--r-- 1 root root 17 Apr 26 02:57 ca.srl -rw-r--r-- 1 root root 1801 Apr 26 02:57 cert.pem -rw-r--r-- 1 root root 1582 Apr 26 02:57 client.csr -rw-r--r-- 1 root root 30 Apr 26 02:57 extfile-client.cnf -rw-r--r-- 1 root root 86 Apr 26 02:56 extfile.cnf -rw-r--r-- 1 root root 3243 Apr 26 02:57 key.pem -rw-r--r-- 1 root root 1862 Apr 26 02:56 server-cert.pem -rw-r--r-- 1 root root 1594 Apr 26 02:56 server.csr -rw-r--r-- 1 root root 3243 Apr 26 02:56 server-key.pem
### 修复建议
若权限非`400`,修改授权
```shell script
$ chmod 400 /root/docker/*
设置仓库证书文件所有权为root:root
描述
验证所有仓库证书文件(通常位于/etc/docker/certs.d/<registry-name>
目录下)均由root
拥有并归组所有
隐患分析
/etc/docker/certs.d/<registry-name>
目录包含Docker
镜像仓库证书。
这些证书文件必须由root
和其组拥有,以维护证书的完整性
审计方式
```shell script [root@localhost ~]# stat -c %U:%G /etc/docker/certs.d/* root:root
### 修复建议
若所属用户非`root:root`,修改授权
```shell script
$ chown root:root /etc/docker/certs.d/*
参考文档
- Docker容器最佳安全实践白皮书(V1.0)
- Docker官方文档