Trusted Extensions 配置和管理

退出打印视图

更新时间: 2014 年 7 月
 
 

Trusted Extensions 软件中的标签

标签和安全许可位于 Trusted Extensions 中强制访问控制 (mandatory access control, MAC) 的中心。它们定义哪些用户可以访问哪些程序、文件和目录。标签和安全许可包括一个等级组件以及零个或多个区间组件。等级组件表示有层次的安全性级别,例如 TOP SECRET(绝密)到 SECRET(秘密),再到 PUBLIC(公共)。区间组件表示可能需要访问通用信息主体的一组用户。一些典型的区间类型包括项目、部门或物理位置。标签可由授权用户读取,但在内部,标签会像数字一样进行处理。数字及其可读版本在 label_encodings 文件中进行定义。

Trusted Extensions 在所有尝试的安全相关事务中起中介所用。该软件会将访问实体(通常是进程)的标签与被访问的实体(通常是文件系统对象)的标签进行比较。然后,软件会根据哪个标签处于支配地位来允许或禁止事务。标签还可用于确定对其他系统资源的访问,例如可分配的设备、网络、帧缓存器和其他系统。

标签之间的支配关系

    如果满足下面两个条件,表示一个实体的标签支配另一个标签:

  • 第一个实体的标签的等级组件等于或高于第二个实体的等级。安全管理员将数字指定给 label_encodings 文件中的等级。软件比较这些数字以确定支配关系。

  • 第一个实体中的区间集包括第二个实体的所有区间。

如果两个标签具有相同的等级和相同的区间集合,则表明这两个标签相等。如果两个标签相等,它们互相支配,而且允许访问。

如果一个标签具有较高等级,或者如果它具有相同等级并且其区间是第二个标签的区间的超集,或者两种情况兼具,表示第一个标签严格支配第二个标签。

如果没有一个标签支配另一个标签,表示这两个标签不相交不可比

下表提供了有关支配关系的标签比较示例。在此示例中,NEED_TO_KNOW 是高于 INTERNAL 的等级。存在三个区间:Eng、Mkt 和 Fin。

表 6-1  标签关系的示例
标签 1
关系
标签 2
NEED_TO_KNOW Eng Mkt
(严格)支配
INTERNAL Eng Mkt
NEED_TO_KNOW Eng Mkt
(严格)支配
NEED_TO_KNOW Eng
NEED_TO_KNOW Eng Mkt
(严格)支配
INTERNAL Eng
NEED_TO_KNOW Eng Mkt
支配(等同于)
NEED_TO_KNOW Eng Mkt
NEED_TO_KNOW Eng Mkt
不相交于
NEED_TO_KNOW Eng Fin
NEED_TO_KNOW Eng Mkt
不相交于
NEED_TO_KNOW Fin
NEED_TO_KNOW Eng Mkt
不相交于
INTERNAL Eng Mkt Fin
管理标签

Trusted Extensions 提供两个用作标签或安全许可的特殊管理标签:ADMIN_HIGH 和 ADMIN_LOW。这些标签用于保护系统资源,而且是供管理员而非一般用户使用。

ADMIN_HIGH 是最高级别标签。ADMIN_HIGH 支配系统中所有其他标签,并且可用于保护系统数据(例如管理数据库或审计迹)以免被读取。您必须位于全局区域中才能读取标签为 ADMIN_HIGH 的数据。

ADMIN_LOW 是最低级别标签。ADMIN_LOW 受系统中所有其他标签的支配,包括一般用户的标签。强制访问控制不允许用户将数据写入标签低于用户标签的文件。因此,一般用户可以读取但不可修改标签 ADMIN_LOW 级别的文件。ADMIN_LOW 通常用于保护共享的公共可执行文件,例如 /usr/bin 中的文件。

标签编码文件

    系统的所有标签组件(即等级、区间和关联的规则)都存储在 ADMIN_HIGH 文件中,即 label_encodings 文件。该原始文件位于 /etc/security/tsol 目录中。启用 Trusted Extensions 后,作为 labeld 服务的属性存储文件的位置。安全管理员为站点配置 label_encodings 文件。标签编码文件包含:

  • 组件定义-等级、区间、标签和安全许可的定义,包括所需组合和约束条件的各项规则

  • 认可范围定义-为整个系统和一般用户定义可用标签集合的安全许可和最小标签的规格

  • 打印规范-有关打印标题、尾页、页眉、页脚和有关打印输出的其他安全功能的标识和处理信息

  • 定制-包括标签颜色代码和其他缺省值在内的本地定义

有关更多信息,请参见 label_encodings(4) 手册页。还可以参阅Trusted Extensions Label Administration Compartmented Mode Workstation Labeling: Encodings Format 了解详细信息。

标签范围

标签范围是指用户可在该处运行的潜在可用标签集合。用户和资源都有标签范围。可由标签范围保护的资源包括可分配的设备、网络、接口、帧缓存器和命令等。标签范围由范围顶部的安全许可以及底部的最小标签定义。

范围并不一定包括位于最大和最小标签之间的所有标签组合。label_encodings 文件中的规则可取消某些组合的资格。标签必须格式正确(即被标签编码文件中的所有适用规则所允许),才能包含在范围之中。

但是,安全许可不一定要格式正确。例如,假定 label_encodings 文件在某个标签中禁止区间 EngMktFin 的任意组合。INTERNAL Eng Mkt Fin 将是有效的安全许可,但不是有效的标签。作为安全许可,此组合将允许用户访问标签为 INTERNAL EngINTERNAL MktINTERNAL Fin 的文件。

帐户标签范围

将安全许可和最小标签指定给用户时,您也就定义了允许用户在其中进行操作的帐户标签范围的上界和下界。以下等式描述了帐户标签范围,使用 ≤ 指示“受支配于或相同于”:

minimum-labelpermitted-labelclearance

因此,只要该标签可以支配最小标签,则将允许用户在由安全许可支配的任意标签下进行操作。如果没有明确设置用户的安全许可或最小标签,则 label_encodings 文件中定义的缺省值将生效。

可为用户指定安全许可和最小标签,从而允许他们在多个标签或单个标签下执行操作。用户的安全许可和最小标签相等时,用户只能在一个标签下执行操作。

会话范围

会话范围是指 Trusted Extensions 会话过程中用户可用的标签集合。会话范围必须位于用户的帐户标签范围内以及为系统设置的标签范围内。登录时,如果用户选择单标签会话模式,会话范围限制为该标签。如果用户选择多标签会话模式,用户所选择的标签会成为会话安全许可。会话安全许可定义会话范围的上界。用户的最小标签定义下界。用户在最小标签的工作区中开始会话。会话过程中,用户可切换到会话范围内任何标签的工作区。

标签保护什么以及标签显示在何处

标签显示在桌面上以及在桌面上执行的输出(例如打印输出)上。

  • 应用程序—应用程序启动进程。这些进程以启动应用程序的工作区的标签运行。有标签区域中的应用程序,将在区域的标签下将其作为一个文件为其设置标签。

  • 设备—流过设备的数据通过设备分配和设备标签范围进行控制。要使用设备,用户必须位于设备的标签范围内,而且被授权分配设备。

  • 文件系统挂载点—每个挂载点都有一个标签。可使用 getlabel 命令查看标签。

  • IPsec 和 IKE-IPsec 安全关联和 IKE 规则具有标签。

  • 网络接口-将为 IP 地址(主机)指定描述其标签范围的安全模板。正在进行通信的 Trusted Extensions 系统也将为无标签主机指定缺省标签。

  • 打印机与打印—打印机具有标签范围。标签打印在正文页上。标签、处理信息和其他安全信息打印在标题页和篇尾页上。要在 Trusted Extensions 中配置打印,请参见Chapter 19, 管理有标签打印Trusted Extensions Label Administration 中的Labels on Printed Output

  • 进程-将为进程设置标签。进程以进程源自的工作区的标签运行。可通过使用 plabel 命令查看进程的标签。

  • 用户—将为用户指定缺省标签和标签范围。用户工作区的标签指示用户进程的标签。

  • 窗口-可在桌面窗口的顶部看到标签。桌面的标签也由颜色指示。颜色将显示在工作区面板和上方的窗口标题栏上,如Figure 6–1 中所示。

    窗口移动到带不同标签的工作区时,窗口会保持其原始的标签。在该窗口中启动的进程会在原始标签下执行。

  • 区域-每个区域都有一个标签。区域拥有的文件和目录处于该区域的标签级别。有关更多信息,请参见 getzonepath(1) 手册页。