检查清单¶
检查密钥管理器-01:配置文件所有权是否设置为 root/barbican?¶
配置文件包含组件平稳运行所需的关键参数和信息。如果未授权用户(无论是故意还是意外)修改或删除任何参数或文件本身,都将导致严重的可访问性问题,从而导致其他端用户服务中断。此类关键配置文件的用户所有权必须设置为 root,组所有权必须设置为 barbican。此外,包含目录应具有相同的权限,以确保正确拥有新文件。
运行以下命令
$ stat -L -c "%U %G" /etc/barbican/barbican.conf | egrep "root barbican"
$ stat -L -c "%U %G" /etc/barbican/barbican-api-paste.ini | egrep "root barbican"
$ stat -L -c "%U %G" /etc/barbican/policy.json | egrep "root barbican"
$ stat -L -c "%U %G" /etc/barbican | egrep "root barbican"
通过:如果所有这些配置文件的用户和组所有权分别设置为 root 和 barbican。上述命令显示 root / barbican 的输出。
失败:如果上述命令没有返回任何输出,则可能用户和组所有权已设置为除 root 之外的任何用户或除 barbican 之外的任何组。
检查密钥管理器-02:是否为配置文件设置了严格的权限?¶
与之前的检查类似,我们建议为这些配置文件设置严格的访问权限。
运行以下命令
$ stat -L -c "%a" /etc/barbican/barbican.conf
$ stat -L -c "%a" /etc/barbican/barbican-api-paste.ini
$ stat -L -c "%a" /etc/barbican/policy.json
$ stat -L -c "%a" /etc/barbican
也可以进行更广泛的限制:如果包含目录设置为 750,则可以保证在此目录中创建的新文件将具有所需的权限。
通过:如果权限设置为 640 或更严格,或者包含目录设置为 750。权限 640 转换为所有者 r/w,组 r,且没有其他权限,例如“u=rw,g=r,o=”。
注意
通过 检查密钥管理器-01:配置文件所有权是否设置为 root/barbican? 和权限设置为 640,root 具有读/写访问权限,barbican 具有读取权限才能访问这些配置文件。还可以使用以下命令验证访问权限。如果您的系统支持 ACL,则此命令才可用。
$ getfacl --tabular -a /etc/barbican/barbican.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/barbican/barbican.conf
USER root rw-
GROUP barbican r--
mask r--
other ---
失败:如果权限设置为大于 640。
检查密钥管理器-03:是否使用 OpenStack Identity 进行身份验证?¶
OpenStack 支持各种身份验证策略,例如 noauth 和 keystone。如果使用 noauth 策略,则用户可以在没有身份验证的情况下与 OpenStack 服务交互。这可能是一种潜在的风险,因为攻击者可能会获得对 OpenStack 组件的未经授权的访问权限。我们强烈建议所有服务都使用其服务帐户通过 keystone 进行身份验证。
通过:如果在 barbican-api-paste.ini 中的 pipeline:barbican-api-keystone 部分下列出了参数 authtoken。
失败:如果在 barbican-api-paste.ini 中的 pipeline:barbican-api-keystone 部分下缺少参数 authtoken。
检查密钥管理器-04:是否为身份验证启用了 TLS?¶
OpenStack 组件使用各种协议相互通信,并且通信可能涉及敏感或机密数据。攻击者可能会尝试窃听通道以获取对敏感信息的访问权限。所有组件必须使用安全的通信协议相互通信。
通过:如果 /etc/barbican/barbican.conf 中 [keystone_authtoken] 部分下参数 www_authenticate_uri 的值设置为以 https:// 开头的 Identity API 端点,并且相同 [keystone_authtoken] 部分中相同 /etc/barbican/barbican.conf 中的参数 insecure 的值设置为 False。
失败:如果 /etc/barbican/barbican.conf 中 [keystone_authtoken] 部分下参数 www_authenticate_uri 的值未设置为以 https:// 开头的 Identity API 端点,或者相同 [keystone_authtoken] 部分中相同 /etc/barbican/barbican.conf 中的参数 insecure 的值设置为 True。