如果我采用创建的策略,例如使用audit2allow -M
并将其安装在多台服务器上,它会按预期工作吗?还是在创建策略时会发生一些特殊情况?理想情况下,我想使用 Ansible 进行部署。
答案1
SELinux 策略模块是可移植的,可以复制并在其他服务器上重复使用。
只要服务器使用相同的策略(相同策略的版本也可以)。例如,如果您的所有服务器都使用“目标”策略(这是 RHEL/CentOS/Fedora 上的默认策略),那么就没问题。一些版本差异可能是可以容忍的。
不同的策略可能彼此不兼容,因为它们定义了 SELinux 类型(本质上是标签、名称),这些名称将遍布您的策略模块,因此这些模块仅在使用相同 SELinux 类型的主机中才有意义。此外,该策略模块中编码的规则需要在策略中已有的其他规则的上下文中有意义。这就是为什么您需要相同(或几乎相同)的策略才能使其发挥作用。
但除此之外,模块本身使用可移植格式,您可以轻松地以二进制格式发送它们并将它们加载到其他机器上,而无需在目标机器上安装构建此类模块的工具。