我们一直在开发一个在 CentOS 映像上运行的程序。该程序对我们来说非常关键,因此我们需要它在非常安全的环境中运行。
所以,我正在考虑使用 SELinux 来保护它。我一直在查看有关 SELinux 的文档,但是有些东西我不确定我是否理解。我是否需要为我们的自定义程序创建一个特定的新模块,或者我可以使用现有的模块之一吗?
答案1
您可以为您的程序创建 SELinux 策略模块。您不能只采用现有的模块,因为它会提到不同程序、不同配置文件、不同数据文件等的路径。但是您可以为具有类似要求的程序采用现有模块并对其进行调整。不要忘记更改任何类型、属性等的名称,因为使用不同的名称是 SELinux 隔离程序的原因。
鉴于您问题的措辞,我不确定您是否理解 SELinux 的工作原理。为您的程序定义 SELinux 模块主要是限制您的程序。它保护系统的其余部分免受您的程序的影响,而不是相反。应用于其他程序的 SELinux 规则可以保护您程序的资产。您的策略模块确实可以保护您的程序,因为它为您的程序分配了限制性上下文资产(配置和数据文件)。