推荐三
docker daemon 配置文件
本节涵盖了Docker相关文件和目录的权限和所有权。 保持可能包含敏感参数的文件和目录安全,对于Docker daemon 的正确和安全运行非常重要。
3.1 验证docker.service文件的所有权设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证“docker.service”
文件所有权和组所有权已正确设置为“root”
。
缘由
“docker.service”
文件包含了一些可能会改变Docker daemon行为的敏感参数。因此,它应该由“root”
用户和“root”
用户组拥有,以此来保证文件的完整性。
审计
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,以验证该文件是否由“root”
用户和“root”
用户组拥有
例如:
正常情况上述命令应该没有任何返回
修正
步骤1:找出文件位置:
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,将文件的用户和用户组设置为“root”
例如:
影响
无
默认值
该文件可能不存在于系统上。在这种情况下,此基线不适用。默认情况下,如果文件存在,则该文件的用户和用户组应被正确的设置为“root”
。
参考文献
3.2 验证docker.service文件权限是否被设置为644或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证“docker.service”
文件的权限是否正确的设置为“644”
或更严格
缘由
“docker.service”
文件包含一些可能改变Docker daemon行为的敏感参数。因此除了“root”
以外,其他任何用户的写入操作都是不被允许的,以此来保持文件的完整性。
审计
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,以验证文件权限是否被设置为“644”
或更严格
例如,
修正
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,将文件权限设置为“644”
例如,
影响
无
默认值
该文件可能不存在于系统上。在这种情况下,此基线不适用。默认情况下,如果文件存在,则该文件权限应被正确设置为“644”
。
参考文献
3.3 验证docker.socket文件的所有权设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证“docker.socket
”文件的所有权和组所有权是否正确设置为“root”
。
缘由
“docker.socket”
文件包含一些可能会改变Docker远程API行为的敏感参数。因此,它应该由“root”
用户和用户组所有,以此来保持文件的完整性。
审计
步骤1:找出文件位置:
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,以验证该文件是否由“root”
用户和“root”
用户组拥有
例如:
正常情况上述命令应该没有任何返回。
修正
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令将文件的用户和用户组设置为“root”
例如,
影响
无
默认值
该文件可能不存在于系统上。在这种情况下,此基线不适用。默认情况下,如果文件存在,则该文件的用户和用户组应被正确的设置为“root”
。
参考文献
3.4 验证docker.socket文件权限是否被设置为644或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证“docker.socket”
文件的权限是否正确的设置为“644”
或更严格
缘由
“docker.socket”
文件包含一些可能改变Docker远程API行为的敏感参数。因此应该只有“root”
用户才能对其进行写入操作,以此来保持文件的完整性
审计
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,以验证文件权限是否被设置为“644”
或更严格
例如,
修正
步骤1:找出文件位置
步骤2:如果文件不存在,则此基线不适用。如果该文件存在,请使用正确的文件路径执行以下命令,将文件权限设置为“644”
例如,
影响
无
默认值
该文件可能不存在于系统上。在这种情况下,此基线不适用。默认情况下,如果文件存在,则该文件权限应被正确设置为“644”
。
参考文献
3.5 验证/etc/docker目录的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证“/etc/docker“
目录的所有权和组所有权是否正确设置为“root”
。
缘由
除了各种敏感文件,“/etc/docker”
目录还包含证书和密钥。因此,它应该由“root”
用户和用户组拥有,以此来保持目录的完整性。
审计
执行以下命令来验证该目录是否由“root”
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将该目录的用户和用户组所有权设置为“root”
影响
无
默认值
默认情况下,此目录的用户和用户组所有权已正确设置为“root”
参考文献
3.6 验证/etc/docker目录权限是否被设置为755或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证/etc/docker
目录权限是否被正确设置为'755'
或更严格
缘由
除了各种敏感文件,“/etc/docker”
目录还包含证书和密钥。因此只有“root”
用户才能进行写入操作,以此来保持目录的完整性
审计
执行以下命令以验证目录权限是否为“755”
或更严格
修正
这将设置目录的权限为'755'
影响
无
默认值
默认情况下,此目录的权限已正确设置为“755”
参考文献
3.7 验证仓库证书文件所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证所有仓库证书文件(通常在/etc/docker/certs.d/<registry-name>
目录下)是否由"root"
用户和用户组拥有
缘由
/etc/docker/certs.d/ <registry-name>
目录包含Docker 仓库的证书。这些证书文件必须由“root”
用户和用户组拥有,以维护证书的完整性
审计
执行以下命令以验证仓库证书文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将仓库证书文件的用户和用户组所有权设置为“root”
影响
无
默认值
默认情况下,仓库证书文件的用户和用户组所有权已正确设置为“root”
参考文献
3.8 验证仓库证书文件权限是否设置为444或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证所有仓库证书文件(通常在/etc/docker/certs.d/<registry-name>
目录下)的权限是否是"444"
或更严格。
缘由
/etc/docker/certs.d/<registry-name>
目录包含了Docker 仓库证书。这些证书文件必须具有“444”
权限,以此维护证书的完整性
审计
执行以下命令以验证仓库证书文件权限为“444”
或更严格
修正
这会将仓库证书文件的所有权设置为“444”
影响
无
默认值
默认情况下,仓库证书文件的权限可能不是“444”
。默认文件权限由系统或用户特定的 umask
值进行管理
参考文献
3.9 验证TLS CA证书文件的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证TLS CA证书文件(与“--tlscacert”
参数一起传递的文件)是否由"root"
用户和用户组拥有
缘由
TLS CA证书文件应该被保护,以免受任何篡改。它通过给定的CA证书对Docker服务进行身份验证。因此,它必须由“"root"
用户和用户组拥有,以保持CA证书的完整性
审计
执行以下命令以验证TLS CA证书文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将TLS CA证书文件的用户和用户组所有权设置为"root"
影响
无
默认值
默认情况下,TLS CA证书文件的用户和用户组所有权已正确设置为“root”
参考文献
3.10 验证TLS CA证书文件权限是否设置为444或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证TLS CA证书文件(与“ -- tlscacert”
参数一起传递的文件)的权限是否是"444"
或更严格。
缘由
TLS CA证书文件应该被保护,以免受任何篡改。它通过给定的CA证书对Docker服务进行身份验证。因此,它必须具有“444”
权限,以保持CA证书的完整性
审计
执行以下命令以验证TLS CA文件权限为“444”
或更严格
修正
这会将TLS CA文件的权限设置为“444”
影响
无
默认值
默认情况下,TLS CA文件的权限可能不是“444”
。默认文件权限由系统或用户特定的umask
值进行管理
参考文献
3.11 验证Docker服务证书文件的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证Docker服务证书文件(与“--tlscert”
参数一起传递的文件)是否由“root”
用户和用户组拥有
缘由
Docker服务证书文件应该被保护,以免受任何篡改。它通过给定的服务证书对Docker服务进行身份验证。因此,它必须由“"root"
用户和用户组拥有,以保持证书的完整性
审计
执行以下命令以验证Docker服务证书文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将Docker服务证书文件的用户和用户组所有权设置为“root”
影响
无
默认值
默认情况下,Docker服务证书文件的用户和用户组所有权已正确设置为“root”
参考文献
3.12 验证Docker服务证书文件权限是否设置为444或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证Docker服务证书文件(与“--tlscert”
参数一起传递的文件)的权限是否是"444"
或更严格
缘由
Docker服务证书文件应该被保护,以免受任何篡改。它通过给定的服务证书对Docker服务进行身份验证。因此,它必须具有“444”
权限,以保持Docker服务证书的完整性
审计
执行以下命令以验证Docker服务证书文件权限为“444”
或更严格
修正
这会将Docker服务证书文件的权限设置为“444”
影响
无
默认值
默认情况下,Docker服务证书文件的权限可能不是“444”
。默认文件权限由系统或用户特定的umask
值进行管理
参考文献
3.13 验证Docker服务证书密钥文件的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证Docker服务证书密钥文件(与“--tlskey”
参数一起传递的文件)是否由“root”
用户和用户组拥有
缘由
Docker服务证书密钥文件应被保护,以防止被篡改以及任何不必要的读取。它拥有Docker服务证书的私钥。因此,它必须由“root”
用户和用户组拥有,以保持证书的完整性
审计
执行以下命令以验证Docker服务证书密钥文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将Docker服务证书密钥文件的用户和用户组所有权设置为“root”
影响
无
默认值
默认情况下,Docker服务证书密钥文件用户和用户组的所有权已正确设置为“root”
参考文献
3.14 验证Docker服务证书密钥文件权限是否设置为400(Scored)
配置适用性
Level 1- Docker
描述
验证Docker服务证书密钥文件(与“--tlskey”
参数一起传递的文件)的权限是否是"400"
缘由
Docker服务证书密钥文件应被保护,以防止任何篡改及不必要的读取。它拥有Docker服务器证书的私钥。因此必须具有“400”
的权限,以保持Docker服务证书的完整性
审计
执行以下命令来验证Docker服务证书密钥文件的权限是否为“400”
修正
这会将Docker服务证书密钥文件权限设置为“400”
影响
无
默认值
默认情况下,Docker服务证书密钥文件的权限可能不是“400”
。默认文件权限由系统或用户特定的umask
值进行管理
参考文献
3.15 验证Docker套接字文件所有权是否设置为root:docker(Scored)
配置适用性
Level 1- Docker
描述
验证Docker套接字文件是由“root”
用户拥有,且被“docker”
用户组拥有
缘由
Docker daemon以“root”
身份运行。因此,默认的Unix套接字必须由“root”
用户拥有。如果任何其他用户或进程拥有此套接字,那么该非特权用户或进程就可能与Docker daemon 进行交互。而且,这样的非特权用户或进程还可能与容器交互。这既不安全也是我们不希望的行为。 此外,Docker安装程序创建一个名为“docker”
的Unix组。您可以将用户添加到该组,这些用户将能够读写默认的Docker Unix套接字。“docker”
组的成员资格由系统管理员严格控制。如果其他任何组拥有此套接字,那么该组的成员可能会与Docker daemon 进行交互。并且,这样的用户组可能不像“docker”
组那样受到严格控制。这既不安全也是我们不希望看到的行为。 因此,默认的Docker Unix套接字文件必须由“root”
用户拥有,并由“docker”
用户组拥有,以保持套接字文件的完整性
审计
执行以下命令验证Docker套接字文件是由“root”
用户拥有,且由“docker”
用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将默认的Docker套接字文件的所有权和组所有权分别设置为“root”
和“docker”
影响
无
默认值
默认情况下,Docker套接字文件的所有权和组所有权已被正确设置为“root:docker”
参考文献
3.16 验证Docker套接字文件权限是否设置为660或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证Docker套接字文件权限是否为“660”
或更严格
缘由
只允许“root”
和“docker”
组的成员读写默认的Docker Unix套接字。因此,Docket套接字文件权限是否为“660”
或更严格
审计
执行以下命令以验证Docker套接字文件权限是否为“660”
或更严格
修正
这会将Docker套接字文件的文件权限设置为“660”
影响
无
默认值
默认情况下,Docker套接字文件的权限已正确设置为“660”
参考文献
3.17 验证daemon.json文件的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证“daemon.json”
文件是否由“root”
用户和用户组拥有
缘由
"daemon.json"
文件包含可能改变docker daemon行为的敏感参数。因此,它应该由“root”
用户和用户组拥有,以保持文件的完整性
审计
执行以下命令以验证此文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将此文件的用户和用户组所有权设置为“root”
影响
无
默认值
该文件可能不存在于系统上。 在这种情况下此基线不适用
参考文献
3.18 验证daemon.json文件权限是否被设置为644或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证“daemon.json”
文件权限是否正确设置为“644”
或更严格
缘由
"daemon.json"
文件包含可能改变docker daemon行为的敏感参数.因此,它应该由“root”
用户和用户组拥有,以保持文件的完整性
审计
执行以下命令以验证此文件权限是否被正确设置为“644”
或更严格
修正
这会将该文件的文件权限设置为“644”
影响
无
默认值
该文件可能不存在于系统上。 在这种情况下此基线不适用
参考文献
3.19 验证/etc/default/docker文件的所有权是否设置为root:root(Scored)
配置适用性
Level 1- Docker
描述
验证“/etc/default/docker”
文件是否由“root”
用户和用户组拥有
缘由
”/etc/default/docker“
文件包含可能会改变docker daemon行为的敏感参数。因此,它应该由“root”
用户和用户组拥有,以保持目录的完整性
审计
执行以下命令以验证此文件是否由"root"
用户和用户组拥有
正常情况上述命令应该没有任何返回。
修正
这会将此文件的用户和用户组所有权设置为“root”
影响
无
默认值
该文件可能不存在于系统上。 在这种情况下此基线不适用
参考文献
3.20 验证/etc/default/docker文件权限是否被设置为644或更严格(Scored)
配置适用性
Level 1- Docker
描述
验证/etc/default/docker
文件权限是否正确设置为“644”
或更严格
缘由
/etc/default/docker
文件包含可能改变docker daemon行为的敏感参数。因此,它应该由“root”
用户和用户组拥有,以保持文件的完整性
审计
执行以下命令以验证此文件权限是否被正确设置为“644”
或更严格
修正
这会将该文件的文件权限设置为“644”
影响
无
默认值
该文件可能不存在于系统上。 在这种情况下此基线不适用
参考文献
最后更新于