SELinux策略构建与对象标签管理全解析
1. Apol工具与对象标签探索
Apol目前具备两大核心功能,用于深入理解对象标签:规则搜索以及文件安全上下文的索引和搜索。规则搜索功能在之前已有相关探讨,而这里着重介绍文件安全上下文的索引与搜索。
Apol的“File Contexts”选项卡,可用于创建和搜索与文件相关对象的安全上下文索引。这一功能让我们能够查看系统中文件相关对象的实际标签情况,而非仅仅依据文件上下文规范来了解其应有的标签。在探究特定系统如何实施策略时,了解文件相关对象的实际标签信息至关重要。
文件上下文索引是系统中所有文件相关对象安全上下文的快照。我们可以通过Apol的“Create and Load”按钮或者使用indexcon命令(包含在Setools包中)来创建该索引。这两种方式都会递归遍历所有挂载的文件系统,记录所有文件相关对象的名称、对象类和安全上下文。
创建索引后(数据存储在文件中),可以使用Apol或searchcon命令(同样在Setools中)进行搜索。与直接搜索实际文件系统相比,索引的存储方式使得搜索更加高效。例如,搜索类型为user_home_t的所有文件相关对象时,搜索文件上下文索引速度极快,而搜索文件系统则可能需要数分钟。此外,还可以在与创建索引不同的系统上进行搜索。
搜索可以基于名称、用户、对象类或类型的任意组合进行,但不支持基于角色的搜索,因为所有文件相关对象通常都具有特殊的object_r角色。
2. 对象标签的多种方式
对象