3.3. 用 YaST GUI 构建 Novell AppArmor 配置文件

通过从主菜单启动 YaST+Novell AppArmor 打开 YaST GUI。Novell AppArmor 在 YaST 界面中打开,如下所示:

[Note]注意

您也可以通过打开终端窗口,然后作为 root 用户登录并输入 yast2,而访问 YaST GUI。

 用于 Novell AppArmor 的主要 YaST 控件

在右窗格中,您可以看到一些 Novell AppArmor 选项图标。如果 YaST 窗口的左窗格中没有显示 Novell AppArmor,或者没有显示 Novell AppArmor 图标,您可能需要重装 Novell AppArmor。在 Novell AppArmor 中可以执行以下操作。

单击以下 Novell AppArmor 图标中的一个,然后进入下面引用的部分:

添加配置文件向导

有关详细步骤,请参见第 3.3.1 节 “使用向导添加配置文件” (↑Novell AppArmor 2.0 管理指南)

手动添加配置文件

不借助向导而为系统上的应用程序添加 Novell AppArmor 配置文件。有关详细步骤,请参见第 3.3.2 节 “手动添加配置文件” (↑Novell AppArmor 2.0 管理指南)

编辑配置文件

编辑系统上已有的 Novell AppArmor 配置文件。有关详细步骤,请参见第 3.3.3 节 “编辑配置文件” (↑Novell AppArmor 2.0 管理指南)

删除配置文件

删除系统上已有的 Novell AppArmor 配置文件。有关详细步骤,请参见第 3.3.4 节 “删除配置文件” (↑Novell AppArmor 2.0 管理指南)

更新配置文件向导

有关详细步骤,请参见第 3.3.5 节 “通过 Syslog 条目更新配置文件” (↑Novell AppArmor 2.0 管理指南)

AppArmor 报告

有关详细步骤,请参见第 4.3 节 “报告” (↑Novell AppArmor 2.0 管理指南)

AppArmor 控制面板

有关详细步骤,请参见第 3.3.6 节 “管理 Novell AppArmor 和安全事件状态” (↑Novell AppArmor 2.0 管理指南)

3.3.1. 使用向导添加配置文件

添加配置文件向导被设计用于使用 Novell AppArmor 配置文件构建工具、genprof(生成配置文件)和 logprof(通过学习模式日志文件来更新配置文件)来建立 Novell AppArmor 配置文件。有关这些工具的详细信息,请参见第 3.5.3 节 “构建配置文件的工具汇总” (↑Novell AppArmor 2.0 管理指南)

  1. 在构建配置文件前请停止应用程序,以确保配置文件中包含应用程序启动。为此,请确保构建配置文件前应用程序或守护程序不在运行。

    例如,在以 root 用户身份登录的情况下在终端窗口输入 /etc/init.d/PROGRAM stop,其中请替换 PROGRAM,它是要构建配置文件的程序的名称。

  2. 如果尚未这样做,请在 YaST GUI 中单击 Novell AppArmor+添加配置文件向导

    选择要构建配置文件的应用程序
  3. 输入应用程序的名称或浏览到程序的位置。

  4. 单击创建。这会运行一个名为 autodep 的 Novell AppArmor 工具,此工具会对要构建配置文件的程序执行一次静态分析,然后将大概的配置文件装载到 Novell AppArmor 模块。有关 autodep 的详细信息,请参见第 3.5.3.1 节 “autodep” (↑Novell AppArmor 2.0 管理指南)

    AppArmor 构建配置文件向导窗口打开。

    Novell AppArmor genprof 构建配置文件向导

    在后台中,Novell AppArmor 也将配置文件设置为学习模式。有关学习模式的详细信息,请参见第 3.5.3.2 节 “提示或学习模式” (↑Novell AppArmor 2.0 管理指南)

  5. 运行正在构建配置文件的应用程序。

  6. 请执行尽可能多的应用程序功能,这样学习模式可以记录程序正常工作时需要访问的文件和目录。

  7. 单击扫描要添加到配置文件的条目的系统日志以分析学习模式日志文件。这会生成一连串问题,您必须回答这些问题以指导向导生成安全配置文件。

    问题分为两类:

    这两种情况都会生成一连串问题,您必须回答这些问题,以将资源添加到配置文件或将程序添加到配置文件。下面两个图显示了两种情况下的示例。后续步骤将说明回答这些问题时的选项。

    AppArmor 构建配置文件向导窗口打开。

    图 3.1. 学习模式例外:控制对特定资源的访问

    学习模式例外:控制对特定资源的访问

    图 3.2. 学习模式例外:定义条目的执行权限

    学习模式例外:定义条目的执行权限
  8. 添加配置文件向导开始提示您正在构建配置文件的应用程序曾访问的目录路径条目(见图 3.1 “学习模式例外:控制对特定资源的访问” (↑Novell AppArmor 2.0 管理指南)),或要求您定义条目的执行权限(见图 3.2 “学习模式例外:定义条目的执行权限” (↑Novell AppArmor 2.0 管理指南))。

    1. 对于 (↑Novell AppArmor 2.0 管理指南):在以下选项中,选择可以满足对访问的请求的一项,可以是建议的 include、特定通配形式的路径或实际路径名。请注意,并非所有选项都始终可用。

      #include

      Novell AppArmor 配置文件中指向一个 include 文件的部分。include 文件会提取程序的访问权限。通过使用 include,您可以向程序赋予访问其它程序也需要的目录路径和文件的权限。使用 include 可减小配置文件的大小。选择建议的 include 是不错的做法。

      通配形式

      按照下一步的介绍通过单击通配进行访问。有关通配语法的更多信息,请参见第 3.6 节 “路径名和通配” (↑Novell AppArmor 2.0 管理指南)

      实际路径名

      要正常运行,程序需要访问的实际路径。

    2. 对于 (↑Novell AppArmor 2.0 管理指南):在以下选项中,选择满足对访问的请求的一项。

      继承

      保持相同的安全配置文件(父配置文件)。

      配置文件

      要求对被执行的程序存在一个单独的配置文件。

      无限制

      在不具备安全配置文件的情况下执行程序。

      [Warning]警告

      在没有绝对必要的情况下,不要选择无限制选项。选择无限制选项会在不受 AppArmor 保护的情况下执行新程序.

  9. 选择一个目录路径后,您必须单击允许拒绝,从而将它以条目的形式加入到 Novell AppArmor 配置文件中。如果您对显示的目录路径不满意,您也可以使用通配或进行编辑

    以下选项用于处理学习模式条目和构建配置文件:

    允许

    授予程序访问指定目录路径条目的权限。添加配置文件向导会建议文件访问权限。有关更多信息,请参见第 3.7 节 “文件访问权限模式” (↑Novell AppArmor 2.0 管理指南)

    拒绝

    单击拒绝可防止程序访问指定的目录路径条目。

    通配

    单击它可修改目录路径(通过使用通配符),以将建议的条目路径下的所有文件包含在内。双击它可将访问权限授予显示的目录下的所有文件和子目录。

    有关通配语法的详细信息,请参见第 3.6 节 “路径名和通配” (↑Novell AppArmor 2.0 管理指南)

    保留扩展名的通配

    在保留文件扩展名的情况下修改原来的目录路径。单击时 /etc/apache2/file.ext 将变成 /etc/apache2/*.ext,文件名被通配符(星号)替换。这样程序就可以访问建议目录下以 .ext 为扩展名的所有文件。双击时可将访问权限授予显示的目录下的所有文件(带有特定扩展名)和子目录。

    编辑

    允许您编辑突出显示的行。新(编辑后的)行显示在列表底部。

    中止

    中止 logprof,取消到目前为止输入的所有规则更改,保留所有配置文件不作修改。

    完成

    关闭 logprof,保留到目前为止输入的所有规则更改,修改所有配置文件。

    为每个学习模式条目单击允许拒绝。这可帮助您构建 Novell AppArmor 配置文件。

    [Note]注意

    学习模式条目的数目与应用程序的复杂程度相对应。

    若要执行应用程序的更多功能,请重复前面的步骤。

    完成后,单击完成。在随后的弹出窗口,单击以退出创建配置文件向导。此时配置文件被保存并装载到 Novell AppArmor 模块。

3.3.2. 手动添加配置文件

Novell AppArmor 允许您手动将条目添加到配置文件,以创建 Novell AppArmor 配置文件。您只需选择要创建配置文件的应用程序然后添加条目。

  1. 要添加配置文件,请打开 YaST+Novell AppArmor。Novell AppArmor 界面打开。

  2. Novell AppArmor 中,单击手动添加配置文件(请参见图 3.3 “手动添加配置文件:选择应用程序” (↑Novell AppArmor 2.0 管理指南))。

    图 3.3. 手动添加配置文件:选择应用程序

    选择要创建配置文件的应用程序
  3. 浏览系统以找到要创建配置文件的应用程序。

  4. 找到配置文件后,选择它并单击打开Novell AppArmor 配置文件对话框窗口中将出现一个空的基本配置文件。

    手动创建配置文件
  5. AppArmor 配置文件对话框窗口中,您可以添加、编辑或删除 Novell AppArmor 配置文件,方法是单击对应的按钮并参考以下小节:第 3.3.2.1 节 “添加条目” (↑Novell AppArmor 2.0 管理指南)第 3.3.2.2 节 “编辑条目” (↑Novell AppArmor 2.0 管理指南)第 3.3.2.2 节 “编辑条目” (↑Novell AppArmor 2.0 管理指南)

  6. 完成后,单击完成

3.3.2.1. 添加条目

本节介绍添加条目选项,在第 3.3.2 节 “手动添加配置文件” (↑Novell AppArmor 2.0 管理指南)第 3.3.3 节 “编辑配置文件” (↑Novell AppArmor 2.0 管理指南)可看到此选项。选择添加条目后会出现一个下拉列表,显示您可以添加到 Novell AppArmor 配置文件的条目类型。

3.3.2.2. 编辑条目

本节介绍编辑条目选项,在第 3.3.2 节 “手动添加配置文件” (↑Novell AppArmor 2.0 管理指南)第 3.3.3 节 “编辑配置文件” (↑Novell AppArmor 2.0 管理指南)可看到此选项。选择编辑条目时,文件浏览器弹出窗口会打开。您可以在此处编辑所选条目。

在弹出窗口中,指定文件的绝对路径,包括允许的访问类型。必要时,您可以使用通配。完成后,单击确定

有关通配的详细信息,请参见第 3.6 节 “路径名和通配” (↑Novell AppArmor 2.0 管理指南)。有关文件访问权限的详细信息,请参见第 3.7 节 “文件访问权限模式” (↑Novell AppArmor 2.0 管理指南)

编辑条目

3.3.2.3. 删除条目

本节介绍删除条目选项,在第 3.3.2 节 “手动添加配置文件” (↑Novell AppArmor 2.0 管理指南)第 3.3.3 节 “编辑配置文件” (↑Novell AppArmor 2.0 管理指南)可看到此选项。选择一个条目,然后选择删除条目,Novell AppArmor 会删除您选择的配置文件条目。

3.3.3. 编辑配置文件

Novell AppArmor 允许您通过添加、编辑或删除条目来手动编辑 Novell AppArmor 配置文件。您只需选择配置文件,然后添加、编辑或删除条目。要编辑配置文件,请执行以下步骤:

  1. 打开 YaST+Novell AppArmor

  2. Novell AppArmor 中,单击编辑配置文件编辑配置文件—选择要编辑的配置文件窗口打开。

    选择要编辑的配置文件
  3. 在一个已构建配置文件的程序列表中,选择要编辑的配置文件。

  4. 单击下一步。此时 AppArmor 配置文件对话框窗口会显示配置文件。

    AppArmor 配置文件对话框
  5. AppArmor 配置文件对话框窗口中,您可以添加、编辑或删除 Novell AppArmor 配置文件,方法是单击对应的按钮并参考以下小节:第 3.3.2.1 节 “添加条目” (↑Novell AppArmor 2.0 管理指南)第 3.3.2.2 节 “编辑条目” (↑Novell AppArmor 2.0 管理指南)第 3.3.2.3 节 “删除条目” (↑Novell AppArmor 2.0 管理指南)

  6. 完成后,单击完成

  7. 在显示的弹出窗口中,单击以确认对配置文件所作的更改。

3.3.4. 删除配置文件

Novell AppArmor 允许您手动删除 Novell AppArmor 配置文件。您只需选择要删除配置文件的应用程序,然后执行以下操作进行删除:

  1. 打开 YaST+Novell AppArmor。将显示 Novell AppArmor 界面。

  2. Novell AppArmor 中,单击删除配置文件删除配置文件—选择要删除的配置文件窗口打开。

    删除配置文件,选择要删除的配置文件
  3. 选择要删除的配置文件。

  4. 单击下一步

  5. 在开启的弹出窗口中,单击以删除配置文件。

3.3.5. 通过 Syslog 条目更新配置文件

Novell AppArmor 配置文件向导使用 logprof 工具来扫描日志文件并更新配置文件。logprof 跟踪来自 Novell AppArmor 模块的消息,这些消息代表系统上运行的所有配置文件的例外。这些例外代表构建了配置文件的应用程序的行为,它们超出了程序的配置文件定义。您可以选择建议的配置文件条目,以将新的行为添加到相关的配置文件。

  1. 打开 YaST+Novell AppArmor。将显示 Novell AppArmor 界面。

  2. Novell AppArmor 中,单击更新配置文件向导。此时显示 AppArmor 配置文件向导窗口。

    AppArmor 配置文件向导

    运行更新配置文件向导 (logprof) 对学习模式日志文件进行分析。这会生成一连串问题,您必须回答这些问题以指导 logprof 生成安全配置文件。

    问题分为两类:

    这两种情况都会生成一个问题,您必须回答此问题以将资源或程序添加到配置文件。下面两个图显示了两种情况下的示例。后续步骤将说明回答这些问题时的选项。

    图 3.4. 学习模式例外:控制对特定资源的访问

    学习模式例外:控制对特定资源的访问

    图 3.5. 学习模式例外:定义条目的执行权限

    学习模式例外:定义条目的执行权限
  3. logprof 开始提示您正在构建配置文件的应用程序曾访问的目录路径条目(见图 3.4 “学习模式例外:控制对特定资源的访问” (↑Novell AppArmor 2.0 管理指南)),或要求您定义条目的执行权限(见图 3.5 “学习模式例外:定义条目的执行权限” (↑Novell AppArmor 2.0 管理指南))。

    1. 对于图 3.4 “学习模式例外:控制对特定资源的访问” (↑Novell AppArmor 2.0 管理指南):在以下选项中,选择可以满足对访问的请求的一项,可以是建议的 include、特定通配形式的路径或实际路径名。请注意,并非所有选项都始终可用。

      #include

      Novell AppArmor 配置文件中指向一个 include 文件的部分。include 文件会提取程序的访问权限。通过使用 include,您可以向程序赋予访问其它程序也需要的目录路径和文件的权限。使用 include 可减小配置文件的大小。选择建议的 include 是不错的做法。

      通配形式

      按照下一步的介绍通过单击通配进行访问。有关通配语法的更多信息,请参见第 3.6 节 “路径名和通配” (↑Novell AppArmor 2.0 管理指南)

      实际路径名

      这是程序要正常运行需要访问的实际路径。

    2. 对于图 3.5 “学习模式例外:定义条目的执行权限” (↑Novell AppArmor 2.0 管理指南):在以下选项中,选择可以满足访问的请求的一项:

      继承

      保持相同的安全配置文件(父配置文件)

      配置文件

      要求被执行的程序存在一个单独的配置文件

      无限制

      在无安全配置文件的情况下执行的程序

      [Warning]警告

      在没有绝对必要的情况下,不要选择无限制选项。选择无限制选项会在不受 AppArmor 保护的情况下执行新程序.

  4. 选择一个目录路径后,您必须单击允许拒绝,从而将它以条目的形式加入到 Novell AppArmor 配置文件中。如果您对显示的目录路径不满意,您也可以使用通配或进行编辑

    以下选项用于处理学习模式条目和构建配置文件:

    允许

    授予程序访问指定目录路径条目的权限。创建配置文件向导会建议文件访问权限。有关更多信息,请参见第 3.7 节 “文件访问权限模式” (↑Novell AppArmor 2.0 管理指南)

    拒绝

    单击拒绝可防止程序访问指定的目录路径条目。

    通配

    单击它可修改目录路径(通过使用通配符),以将建议的条目路径下的所有文件包含在内。双击它可将访问权限授予显示的目录下的所有文件和子目录。

    有关通配语法的详细信息,请参见第 3.6 节 “路径名和通配” (↑Novell AppArmor 2.0 管理指南)

    保留扩展名的通配

    在保留文件扩展名的情况下修改原来的目录路径。单击时 /etc/apache2/file.ext 将变成 /etc/apache2/*.ext,文件名被通配符(星号)替换。这样程序就可以访问建议目录下以 .ext 为扩展名的所有文件。双击时可将访问权限授予显示的目录下的所有文件(带有特定扩展名)和子目录。

    编辑

    允许您编辑突出显示的行。新(编辑后的)行显示在列表底部。

    中止

    中止 logprof,取消到目前为止输入的所有规则更改,保留所有配置文件不作修改。

    完成

    关闭 logprof,保留到目前为止输入的所有规则更改,修改所有配置文件。

    为每个学习模式条目单击允许拒绝。这可帮助您构建 Novell AppArmor 配置文件。

    [Note]注意

    学习模式条目的数目与应用程序的复杂程度相对应。

    若要执行应用程序的更多功能,请重复前面的步骤。

    完成后,单击完成。在随后的弹出窗口,单击以退出创建配置文件向导。此时配置文件被保存并装载到 Novell AppArmor 模块。

3.3.6. 管理 Novell AppArmor 和安全事件状态

Novell AppArmor 使您能够更改 Novell AppArmor 状态及配置时间通知。

更改 Novell AppArmor 状态

您可以启用或禁用 Novell AppArmor 以更改其状态。启用 Novell AppArmor 可保护您的系统免受潜在的程序攻击。禁用 Novell AppArmor 将撤销对系统的保护,即使您已创建了配置文件。

配置事件通知

您可以确定发生系统安全事件时通知您的方式和时间。

[Note]注意

您必须在您的 SUSE Linux 服务器上设置一个可使用简单邮件传送协议 (smtp) 发送外发邮件的邮件服务器。例如 postfix 或 exim,这样事件通知才能有效工作。

要配置事件通知或更改 Novell AppArmor 的状态,请执行以下步骤:

  1. 单击 Novell AppArmor 控制面板时会显示 Novell AppArmor 配置窗口,如下所示:

    AppArmor 控制面板
  2. AppArmor 配置屏幕中,查找一条显示为 enabled 的状态消息,以确定 Novell AppArmor 和安全事件通知是否正在运行。

3.3.6.1. 更改 Novell AppArmor 状态

更改 Novell AppArmor 的状态时,您可以将其设置为启用或禁用。启用 Novell AppArmor 时,它将被安装然后运行并强制 Novell AppArmor 安全策略。

  1. 要启用 Novell AppArmor,打开 YaST+Novell AppArmor。Novell AppArmor 主菜单打开。

  2. Novell AppArmor 主菜单中,单击 Novell AppArmor 控制面板。此时显示 AppArmor 配置窗口。

    AppArmor 配置窗口
  3. 在窗口的启用 Novell AppArmor 部分,单击配置启用 Novell AppArmor 对话框打开。

    启用 AppArmor
  4. 选择启用启用 Novell AppArmor 或选择禁用禁用 Novell AppArmor。然后单击确定

  5. 单击 AppArmor 配置窗口中的完成

  6. 单击 YaST 控制中心中的文件+退出