Debian AppArmor 教程
AppArmor是一种非常有效且用户友好的Linux软件安全机制。 AppArmor 是一项核心改进,它将程序限制为特定资源。它将访问控制属性连接到程序而不是用户。 AppArmor 通过实施通常称为 AppArmor 配置文件的安全策略来保护 Linux 操作系统和应用程序免受众多攻击。 AppArmor 配置文件包含简单的文本文件。定义文件访问时,可以应用文件通配路径和绝对路径。
我们有 AppArmor 强制和投诉两种功能模式。 AppArmor生产状态默认处于强制模式,但投诉模式有利于记录违规行为并根据实际操作模式定义规则集。相比之下,作为框架的一个组件,AppArmor 是一个附加功能,可以添加、修改、禁用或卸载。我们将在本教程中探索 AppArmor 的实现,以获取更多详细信息。
在 Debian 中安装 AppArmor
AppArmor 已在 Debian 操作系统中设置并加载。它利用程序所需的应用程序配置文件来确定文件和权限。一些实用程序安装其配置文件,而 AppArmor-profiles 包包含更多配置文件。 apt命令用于在Debian操作系统中安装“audit”apparmor-utils,如下图所示。如果我们不需要工具来创建配置文件,我们可以从命令中删除“audit”实用程序。请注意,我们以 root 身份运行此命令。
在 Debian 中启用 AppArmor
现在,用于生成配置文件的 AppArmor 实用程序已安装。我们从 Linux 内核命令行启用 AppArmor Linux 安全模块。我们按照以下步骤在 Debian 操作系统中启用 AppArmor:
第 1 步:创建目录。
第2步:生成“ /etc/default/grub.d/apparmor.cfg ”文件并保存我们在以下内容中回显的内容:
| sudo tee /etc/default/grub.d/apparmor.cfg
第3步:更新sudo命令权限下的“grub”。
第 4 步:重新启动 Debian 操作系统。重启完成后,我们可以通过执行以下命令来检查AppArmor的状态是否启用。它返回“Y”,表示“是”,因为 AppArmor 在 Debian 系统中启用:
第 5 步:使用该命令获取为应用程序和进程加载的每个 AppArmor 配置文件的当前状态。我们可以在下图中看到加载的每个配置文件的模式合规性。输出显示“43”配置文件已作为 AppArmor 配置文件加载,而 AppArmor 的“25”配置文件默认处于强制模式。 AppArmor 配置文件存在两种模式 - 有些处于强制模式,有些处于抱怨模式。我们可以修改定义的每个配置文件的执行模式。
修改 Debian 中的 AppArmor 配置文件
正如我们之前提到的,可以从 AppArmor 配置文件的指定模式中切换模式。这意味着强制模式可以通过抱怨模式更改,反之亦然。我们有一个名为“dhclient”的 AppArmor 配置文件,它处于强制模式。可以通过运行以下命令来访问抱怨模式。输出显示将 dhclient 设置为抱怨模式的消息:
要再次将抱怨模式更改为强制模式,我们有一个命令来实现此目的。该命令将“enforce”关键字与 dhclient 配置文件结合使用。
此外,所有 AppArmor 配置文件的执行模式配置路径为 /etc/apparmor.d/*。我们可以通过在终端中应用以下 sudo 命令来将所有 AppArmor 配置文件的执行模式设置为投诉模式:
我们还可以使用以下命令将AppArmor所有配置文件的执行模式路径设置为强制模式:
在 Debian 中创建新的 AppArmor 配置文件
要建立新的配置文件,我们必须确定需要安全性但不隶属于任何其他 AppArmor 配置文件的应用程序。有多个命令可用于构建 AppArmor 配置文件。但我们使用“aa-confined”命令来列出不受限制的配置文件。输出表明一个进程不受任何配置文件的限制,而其他三个进程默认受三个配置文件在强制模式下的限制。
现在,我们创建不受限制的“NetworkManager”AppArmor 配置文件。为此,我们使用“aa-genprof”命令并用它指定无限制配置文件的名称。默认情况下,强制模式下生成的配置文件为空。按“F”,配置文件的创建过程结束。
我们可以通过修改以下文件来更改它们的内容,因为该配置文件没有定义任何限制,从而为程序设置了约束。 “NetworkManager”配置文件现已更新,如 Debian 终端中所示:
在 Debian 中重新加载 AppArmor 配置文件
我们之前创建和修改的 AppArmor 配置文件应该重新加载。要重新加载每个活动的 AppArmor 配置文件,请执行以下命令:
接下来,使用给定的命令,可以查看加载的 AppArmor 配置文件。我们可以看到,输出中提到了创建的 NetworkManager 配置文件,并且采用了强制模式。
在 Debian 中禁用 AppArmor
AppArmor 应用程序不允许被禁用,因为它是一项安全功能。如果我们从系统中禁用或删除 AppArmor,我们必须遵循这些命令。首先,我们使用 systemctl 停止 AppArmor 服务:
之后,我们使用另一个命令来禁止 AppArmor 在系统启动时运行:
下一个执行的命令使用 apt 从系统中删除 AppArmor 包和依赖项。
结论
在这篇 Debian AppArmor 文章中,我们探讨了使用 AppArmor 配置文件的方法。我们学习了 AppArmor 配置文件的安装命令。安装完成后,我们在 Debian 系统中启用了 AppArmor。然后,我们修改了 AppArmor 现有配置文件的模式。我们还生成了一个新的配置文件,该配置文件不仅限于 AppArmor 配置文件。还可以使用本教程最后部分中执行的特定禁用命令来禁用 AppArmor 或从系统中删除 AppArmor。