![我需要为新程序创建一个模块还是只使用现有的模块?](https://linux22.com/image/79334/%E6%88%91%E9%9C%80%E8%A6%81%E4%B8%BA%E6%96%B0%E7%A8%8B%E5%BA%8F%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%E5%8F%AA%E4%BD%BF%E7%94%A8%E7%8E%B0%E6%9C%89%E7%9A%84%E6%A8%A1%E5%9D%97%EF%BC%9F.png)
我们一直在开发一个在 CentOS 映像上运行的程序。该程序对我们来说非常关键,因此我们需要它在非常安全的环境中运行。
所以,我正在考虑使用 SELinux 来保护它。我一直在查看有关 SELinux 的文档,但是有些东西我不确定我是否理解。我是否需要为我们的自定义程序创建一个特定的新模块,或者我可以使用现有的模块之一吗?
答案1
您可以为您的程序创建 SELinux 策略模块。您不能只采用现有的模块,因为它会提到不同程序、不同配置文件、不同数据文件等的路径。但是您可以为具有类似要求的程序采用现有模块并对其进行调整。不要忘记更改任何类型、属性等的名称,因为使用不同的名称是 SELinux 隔离程序的原因。
鉴于您问题的措辞,我不确定您是否理解 SELinux 的工作原理。为您的程序定义 SELinux 模块主要是限制您的程序。它保护系统的其余部分免受您的程序的影响,而不是相反。应用于其他程序的 SELinux 规则可以保护您程序的资产。您的策略模块确实可以保护您的程序,因为它为您的程序分配了限制性上下文资产(配置和数据文件)。