第 9 章 可引导镜像的安全性强化和合规性
RHEL 的镜像模式提供安全合规功能,并支持需要兼容配置的工作负载。但是,强化系统并验证合规性状态的过程与软件包模式不同。
将镜像模式用于 RHEL 的关键部分是创建一个可引导的容器镜像。部署的系统镜像镜像。因此,构建的镜像必须包含安全策略所需的所有软件包和配置设置。
当将可引导镜像作为容器运行时,一些强化配置无效。要获得根据安全配置集完全配置的系统,您必须在裸机或虚拟机中引导镜像,而不是作为容器运行。容器部署的主要区别包括:
- 安全配置集所需的 systemd 服务不在容器中运行,因为 systemd 没有运行在容器中。因此,容器无法遵循相关的策略要求。
-
其他服务不能在容器中运行,尽管它们配置正确。这意味着
oscap
会将它们报告为正确配置,即使它们没有运行。 - 合规配置集定义的配置不强制实施。来自其他软件包或安装前脚本的请求可以更改合规性状态。始终检查已安装产品的合规性,并更改 Containerfile 以符合您的要求。
9.1. 构建强化的可引导镜像 复制链接链接已复制到粘贴板!
您可以通过在用于构建可引导容器镜像的 Containerfile
中包含 oscap-im
工具来更轻松地构建强化的可引导镜像。
虽然 oscap-im
可以使用任何 SCAP 内容,但 scap-security-guide
中提供的 SCAP 源数据流经过专门调整和测试,以便与可引导容器兼容。
先决条件
-
container-tools
元数据软件包已安装。 - 您知道系统应遵守的基准中的配置文件的 ID。要查找 ID,请参阅 查看配置合规性的配置文件 部分。
流程
创建
Containerfile
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<admin_user
> 替换为用户名,<password_hash
> 替换为所选密码的哈希值。这个
Containerfile
执行以下任务:-
安装提供
oscap-im
工具和scap-security-guide
软件包的openscap-utils
软件包,该软件包为数据流提供安全内容自动化协议(SCAP)内容。 -
为阻止 SSH root 登录的配置文件添加具有
sudoer
特权的用户。 - 扫描并修复镜像以遵守所选配置集。
-
安装提供
使用当前目录中的
Containerfile
构建镜像:podman build -t quay.io/<namespace>/<image>:<tag> .
$ podman build -t quay.io/<namespace>/<image>:<tag> .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
列出所有镜像:
podman images
$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/<namespace>/<image> <tag> b28cd00741b3 About a minute ago 2.1 GB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
您可以使用任何普通可引导镜像部署方法部署强化的可引导镜像。如需更多信息,请参阅部署 RHEL bootc 镜像。
但是,部署方法可能会影响目标系统的合规性状态。
-
您可以使用与软件包模式 RHEL 相同的语法和用法相同的
oscap
工具来验证在 Image Mode RHEL 中运行的系统的合规性。如需更多信息,请参阅配置合规性扫描。