第 9 章 为容器创建 SELinux 策略


Red Hat Enterprise Linux 8 使用 udica 软件包提供为容器生成 SELinux 策略的工具。通过 udica,您可以创建一个定制的安全策略来更好地控制容器如何访问主机系统资源,如存储、设备和网络。这可使您强化容器部署,以避免出现安全违规,并简化了规范合规性的实现和维护。

9.1. udica SELinux 策略生成器介绍

为了简化为自定义容器创建新 SELinux 策略,RHEL 8 提供了 udica 工具。您可以使用此工具基于容器的 JavaScript Object Notation(JSON)文件创建策略,该文件包含 Linux 功能、挂载点和端口定义。因此,该工具将使用检查结果生成的规则与从指定 SELinux 通用中间语言(CIL)块继承的规则合并。

使用 udica 为容器生成 SELinux 策略的过程有三个主要部分:

  1. 以 JSON 格式解析容器规格文件
  2. 根据第一部分的结果查找合适的允许规则
  3. 生成最终 SELinux 策略

在解析阶段,udica 会查找 Linux 功能、网络端口和挂载点。

根据结果,udica 检测到容器需要哪些 Linux 功能,并创建一个允许所有这些功能的 SELinux 规则。如果容器绑定到一个特定端口,udica 使用 SELinux 用户空间库来获取通过检查容器使用的端口的正确 SELinux 标签。

之后,udica 检测到哪些目录被挂载到主机中的容器文件系统名称空间中。

CIL 的块继承功能允许 udica 创建 SELinux 模板,允许规则专注于特定操作,例如:

  • 允许访问主目录
  • 允许访问日志文件
  • 允许访问与 Xserver 的通讯

这些模板称为块,最终 SELinux 策略通过合并这些块来创建。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.