自主访问控制(DAC)与强制访问控制(MAC)
传统上, Linux 和 UNIX 系统都采用 DAC,而 SELinux 是 Linux 采用 MAC 系统的示例。
对于 DAC 而言,文件和进程都有相应的所有者。您可以让用户拥有某个文件,让群组拥有某个文件,或让其他人(可以是其他任何人)拥有某个文件。用户可以更改自己文件的权限。
根用户对 DAC 系统拥有完全访问控制权。如果您拥有根访问权限,则可以访问其他任何用户的文件,或在系统上执行任何操作。
但在像 SELinux 这样的 MAC 系统上,访问权限有相应的管理设置策略。即使主目录上的 DAC 设置发生更改,SELinux 策略也会阻止其他用户或进程访问目录,从而保证系统的安全。
SELinux 策略可以让您针对性设置,并且涵盖大量进程。您可以对 SELinux 进行更改,以限制用户、文件、目录等等之间的访问。
如何处理 SELinux 错误
当 SELinux 发生错误,您需要及时采取对策。常见问题不外乎以下 4 种:
- 标签错误。如果标签不正确,您可以使用工具来修复标签。
- 策略需要修复。可能是指您需要将所做的更改通知给 SELinux,或是可能需要调整策略。您可以利用布尔值或策略模块对其进行修复。
- 策略中存在错误。可能是策略中存在需要消除的错误。
- 系统已损坏。尽管 SELinux 在很多情况下可以保护您的系统,但系统仍存在受损的可能。如果您怀疑是这种情况,请立即采取相应的措施。
什么是布尔值?
布尔值是 SELinux 中功能的开/关设置。开/关 SELinux 功能的设置有数百种,而且许多设置已预定义。您可以通过运行 getsebool -a,找出系统中已设置的布尔值。
红帽助您一臂之力
红帽企业 Linux 是世界领先的开源 Linux 平台,能够帮助您降低风险、实施安全配置和安全策略,并精简合规策略。
红帽企业 Linux 系统角色是受支持的 Ansible® 角色集合,可以确保一致的工作流并且精简手动任务的执行。系统角色可帮助团队自动化安全工作流程,并随着时间的推移,以最少的资源实现大规模维护,并且简化治理和合规性要求。通过 SELinux 系统角色,您可以自动化部署和管理 SELinux。这包括:
- 启用具有强制或许可模式的 SELinux 以确保控制的一致性。
- 自定义 SELinux 策略布尔值、文件上下文、端口和登录以满足您的要求。
- 利用系统角色协调指定文件或目录的文件上下文。