如何在SELinux上配置Amanda Enterprise

检查SELinux模式

您可以通过以root用户身份运行getenforce或sestatus来获取当前的SELinux模式配置。 前者只是将“ Enforcecing”或“ Permissive”打印到标准输出。 后者提供了其他详细信息,包括SELinuxfs挂载点,当前模式,在SELinux配置文件中显示的模式等。

超级用户可以在运行时使用setenforce应用程序更改SLELinux模式。

用法:

setenforce [强制| 宽容| 1 | 0]

重要的是要记住,使用sendenforce进行的更改对于系统重新启动而言并不持久。

如果将SELinux设置为宽松(而不是禁用),则任何支持SELinux的应用程序的行为都将像仍然设置了强制模式一样。 SELinux还将在许可模式下继续审核应用程序的活动。 这是使用许可模式和完全禁用SELinux之间的主要区别。

通过SELINUX参数在/ etc / selinux / config文件中定义了系统启动时mode的默认值。 SELINUX参数接受强制,允许或禁用。

例如:

root>#cat / etc / selinux / config#此文件控制系统上SELinux的状态。 #SELINUX =可以采用以下三个值之一:#强制-强制执行SELinux安全策略。 #允许-SELinux打印警告而不是强制执行。 #已禁用-未加载SELinux策略。 SELINUX = enforcing#SELINUXTYPE =可以采用以下三个值之一:#targeted-目标进程受到保护,#minimum-修改目标策略。 仅选定的进程受保护。 #mls-多级安全保护。 SELINUXTYPE =目标root>#

如果您需要解决SELinux模式在启动时始终切换到意外模式的问题,请注意,也可以通过将enforcing参数设置为0或1(允许)在grub.conf中配置SELinux。或强制执行)。

配置SELinux与Amanda配合使用

因为SELinux的主要功能是强制执行强制访问控制,所以如果未禁用SELinux或处于许可模式,则可能需要其他步骤来运行Amanda。

现代版本的Zmanda(Amanda企业版)将尝试在安装时自动将SELinux设置为许可模式。

root>#./amanda-enterprise-3.4-linux-x64.run Zmanda的安装需要将SELinux切换为Permissive状态。 安装程序本身将执行此操作,并在安装完成后将其还原到原始状态。 你要继续吗? [是/否]:

Zmanda安装程序使用semanage应用程序来完成此操作,因此请在运行安装程序之前检查例如哪种semanage,以确保安装了semanage。 如果尚未安装semanage,则可以通过以下方式获取该应用程序:

root>#yum提供* / semanage {未显示其他输出} root>#yum安装

在可能的情况下在实现SELinux的环境中对Amanda / Zmanda安装进行故障排除时,请尝试将SELinux暂时设置为许可模式。 重试测试以确认SELinux实际上是问题的原因,并生成审核日志条目。

如果由于您的安全策略而无法在许可模式下运行SELinux,则表明SELinux正在干扰Amanda的正常运行。 您可以检查审核日志中与amanda和/或zmanda相关的条目:

根>#ausearch -m avc -c阿曼达

如果找不到有关SELinux拒绝Amanda的日志条目,但是在许可模式下运行时没有问题,则可能是dontaudit规则的结果。 要临时禁用dontaudit规则,可以运行:

root>#semodule -DB

执行完此操作后,请尝试再次运行安装,备份或还原,并检查审核日志。 SELinux记录了适用的拒绝之后,请确保重新启用 不听话 规则:

root>#semodule -B

某些操作系统预装了适用于Amanda的策略模块,这些模块可能无法反映您所用Amanda版本的正确上下文。 您可以使用以下方法检查当前包含的模块:

根>#semodule -l | 格雷普·阿曼达

列出所有已安装的模块可能需要一些时间,当然,如果没有与“ amanda”匹配的模块,则将没有输出。 如果发现您正在运行旧的或损坏的Amanda策略模块,则可以使用以下方法将其删除:

根>#semodule -r 

可以手动配置所有SELinux上下文,但这超出了本文档的范围。 如果您对完全手动的解决方案感兴趣,则应参考chcon和restorecon手册页以获取详细信息。

使用audit2allow创建自定义策略包

在大多数环境中,有许多运行类似操作系统的Amanda客户端计算机,有时还需要部署其他Amanda服务器。 在这种情况下,手动故障排除和更改每台计算机上的安全上下文效率不高。 在这里,名为audit2allow的工具可用于创建可部署到网络上多台计算机的自定义策略包。

首先,以许可模式运行任务并创建类型强制文件:

root>#grep -E'amanda | zmanda'/var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

创建类型强制文件后,请确保操作员对其进行了检查。 请根据您的信息安全部门的要求修改自动生成的输出。

验证类型强制文件时,请记住:许多应用程序将通过-Z开关来提供SELinux安全上下文。 例如,“ ls,-Z”,“ ps axZ”等。

一旦验证类型强制执行文件满足安全策略的要求,就必须将其转换为策略包以包含为活动策略模块。 为此,您可以执行以下命令:

root>#checkmodule -mo myamanda.mod myamanda.te root>#semodule_package -m myamanda.mod -o myamanda.pp

要加载策略模块,您应该运行:

root>#semodule -i myamanda.pp

如果遇到错误 “试图将非MLS模块与MLS基础链接在一起” 您将需要将类型强制文件转换为“多层安全性”,并包含生成的策略包,如下所示:

root>#checkmodule -M -m -o myamanda.mod myamanda.te root>#semodule_package -m myamanda.mod -o myamanda.pp

然后如上所述使用semodule -i包括策略包。 现在,您应该设置为在强制模式下使用SELinux运行备份和还原。