JavaScript is required to for searching.
跳过导航链接
退出打印视图
Trusted Extensions 配置和管理     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

第 1 部分Trusted Extensions 的初始配置

1.  Trusted Extensions 的安全规划

2.  Trusted Extensions 的配置任务列表

3.  将 Trusted Extensions 功能添加到 Oracle Solaris(任务)

4.  配置 Trusted Extensions(任务)

5.  为 Trusted Extensions 配置 LDAP(任务)

第 2 部分Trusted Extensions 的管理

6.  Trusted Extensions 管理概念

7.  Trusted Extensions 管理工具

8.  Trusted Extensions 系统上的安全要求(概述)

9.  执行 Trusted Extensions 中的常见任务

10.  Trusted Extensions 中的用户、权限和角色(概述)

11.  在 Trusted Extensions 中管理用户、权限和角色(任务)

12.  Trusted Extensions 中的远程管理(任务)

13.  在 Trusted Extensions 中管理区域

Trusted Extensions 中的区域

Trusted Extensions 中的区域和 IP 地址

区域和多级别端口

Trusted Extensions 中的区域和 ICMP

全局区域进程和有标签区域

有标签主区域和有标签辅助区域

Trusted Extensions 中的区域管理实用程序

管理区域(任务列表)

如何显示就绪或正在运行区域

如何显示挂载的文件的标签

如何对通常在有标签区域中不可见的文件进行回送挂载

如何禁用较低级别文件的挂载

如何从有标签区域共享 ZFS 数据集

如何在有标签区域中允许重新为文件设置标签

14.  在 Trusted Extensions 中管理和挂载文件

15.  可信网络(概述)

16.  在 Trusted Extensions 中管理网络(任务)

17.  Trusted Extensions 和 LDAP(概述)

18.  Trusted Extensions 中的多级别邮件(概述)

19.  管理有标签打印(任务)

20.  Trusted Extensions 中的设备(概述)

21.  管理 Trusted Extensions 的设备(任务)

22.  Trusted Extensions 审计(概述)

23.  Trusted Extensions 中的软件管理

A.  站点安全策略

创建和管理安全策略

站点安全策略和 Trusted Extensions

计算机安全建议

物理安全建议

人员安全建议

常见安全违规

其他安全参考信息

B.  Trusted Extensions 的配置核对表

用于配置 Trusted Extensions 的核对表

C.  Trusted Extensions 管理快速参考

Trusted Extensions 中的管理接口

由 Trusted Extensions 扩展的 Oracle Solaris 接口

Trusted Extensions 中更为严厉的安全缺省值

Trusted Extensions 中的受限选项

D.  Trusted Extensions 手册页列表

按字母顺序排列的 Trusted Extensions 手册页

Trusted Extensions 修改的 Oracle Solaris 手册页

词汇表

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

管理区域(任务列表)

以下任务列表说明了特定于 Trusted Extensions 的区域管理任务。此任务列表还提供了指向 Trusted Extensions 中执行的常见操作过程(就像在 Oracle Solaris 系统中的执行一样)的链接。

任务
说明
参考
查看所有区域。
在任何标签查看由当前区域支配的区域。
查看挂载的目录。
在任何标签查看由当前标签支配的目录。
允许一般用户查看 /etc 文件。
回送可以挂载全局区域中的目录或文件,缺省情况下,在有标签区域是无法看到该目录或文件。
防止一般用户从较高级别标签查看较低级别的起始目录。
缺省情况下,可以从较高级别区域看到较低级别目录。禁用一个较低级别区域的挂载时,会禁用所有较低级别区域的挂载。
为文件中的标签更改创建多级别数据集。
无需特权,即可对一个 ZFS 数据集中的文件重新设置标签。
配置区域以允许对文件的标签进行更改。
缺省情况下,有标签区域无权允许授权用户重新为文件设置标签。可以修改区域配置以添加该特权。
将 ZFS 数据集附加到一个有标签区域,然后将该数据集共享。
在有标签区域挂载具有读/写权限的 ZFS 数据集,然后以只读形式与较高级别区域共享该数据集。
配置新的主区域。
在一个当前尚未用作本系统区域标签的标签下创建一个区域。
配置辅助区域。
为隔离不需要桌面的服务创建区域。
为应用程序创建多级别端口。
多级别端口用于需要多级别输入进入一个有标签区域的程序。
解决 NFS 挂载和访问问题。
调试挂载和区域可能出现的一般访问问题。
删除有标签区域。
将有标签区域从系统中完全删除。

如何显示就绪或正在运行区域

开始之前

您必须具有全局区域中的 "System Administrator"(系统管理员)角色。

  1. 运行 txzonemgr & 命令。

    此时 GUI 中将显示区域的名称、状态和标签。

  2. 或者,使用 zoneadm list -v 命令。
    # zoneadm list -v
    ID NAME       STATUS     PATH              BRAND       IP 
     0 global     running    /                 ipkg        shared
     5 internal   running    /zone/internal    labeled     shared
     6 public     running    /zone/public      labeled     shared

    输出不会列出区域的标签。

如何显示挂载的文件的标签

此过程创建一个 shell 脚本,以显示当前区域的已挂载文件系统。从全局区域运行时,该脚本显示每个区域中所有已挂载文件系统的标签。

开始之前

您必须具有全局区域中的 "System Administrator"(系统管理员)角色。

  1. 在编辑器中,创建 getmounts 脚本。

    提供脚本的路径名,例如 /usr/local/scripts/getmounts

  2. 添加以下内容,然后保存文件:
    #!/bin/sh
    #
    for i in `/usr/sbin/mount -p | cut -d " " -f3` ; do
            /usr/bin/getlabel $i
    done
  3. 在全局区域中测试脚本。
    # /usr/local/scripts/getmounts
    /:      ADMIN_HIGH
    /dev:   ADMIN_HIGH
    /system/contract:        ADMIN_HIGH
    /proc:                   ADMIN_HIGH
    /system/volatile:        ADMIN_HIGH
    /system/object:          ADMIN_HIGH
    /lib/libc.so.1:          ADMIN_HIGH
    /dev/fd:        ADMIN_HIGH
    /tmp:           ADMIN_HIGH
    /etc/mnttab:    ADMIN_HIGH
    /export:        ADMIN_HIGH
    /export/home:   ADMIN_HIGH
    /export/home/jdoe:   ADMIN_HIGH
    /zone/public:        ADMIN_HIGH
    /rpool:              ADMIN_HIGH
    /zone:               ADMIN_HIGH
    /home/jdoe:          ADMIN_HIGH
    /zone/public:        ADMIN_HIGH
    /zone/snapshot:      ADMIN_HIGH
    /zone/internal:      ADMIN_HIGH
    ...

示例 13-1 显示被限制区域中文件系统的标签

一般用户从有标签区域运行时,getmounts 脚本显示该区域中所有已挂载文件系统的标签。在已经为缺省 label_encodings 文件中的每个标签创建了区域的系统中,以下是 restricted 区域的输出样例:

# /usr/local/scripts/getmounts
/:      CONFIDENTIAL : RESTRICTED
/dev:   CONFIDENTIAL : RESTRICTED
/kernel:        ADMIN_LOW
/lib:   ADMIN_LOW
/opt:   ADMIN_LOW
/platform:      ADMIN_LOW
/sbin:  ADMIN_LOW
/usr:   ADMIN_LOW
/var/tsol/doors:        ADMIN_LOW
/zone/needtoknow/export/home:   CONFIDENTIAL : NEED TO KNOW
/zone/internal/export/home:     CONFIDENTIAL : INTERNAL USE ONLY
/proc:  CONFIDENTIAL : RESTRICTED
/system/contract:       CONFIDENTIAL : RESTRICTED
/etc/svc/volatile:      CONFIDENTIAL : RESTRICTED
/etc/mnttab:    CONFIDENTIAL : RESTRICTED
/dev/fd:        CONFIDENTIAL : RESTRICTED
/tmp:   CONFIDENTIAL : RESTRICTED
/var/run:       CONFIDENTIAL : RESTRICTED
/zone/public/export/home:       PUBLIC
/home/jdoe:   CONFIDENTIAL : RESTRICTED

如何对通常在有标签区域中不可见的文件进行回送挂载

利用此过程,指定有标签区域中的用户可以查看缺省情况下未从全局区域导出的文件。

开始之前

您必须具有全局区域中的 "System Administrator"(系统管理员)角色。

  1. 停止要更改配置的区域。
    # zoneadm -z zone-name halt
  2. 回送挂载文件或目录。

    例如,允许普通用户查看 /etc 目录中的文件。

    # zonecfg -z zone-name
     add filesystem
     set special=/etc/filename
     set directory=/etc/filename
     set type=lofs
     add options [ro,nodevices,nosetuid]
     end
     exit
  3. 启动区域。
    # zoneadm -z zone-name boot

示例 13-2 回送挂载 /etc/passwd 文件

此示例中,安全管理员希望允许测试人员和编程人员检查他们的本地口令是否已经设置。停止沙箱区域后,其配置为回送挂载 passwd 文件。然后,重新启动区域。

# zoneadm -z sandbox halt
# zonecfg -z sandbox
 add filesystem
    set special=/etc/passwd
    set directory=/etc/passwd
    set type=lofs
    add options [ro,nodevices,nosetuid]
 end
 exit
# zoneadm -z sandbox boot

如何禁用较低级别文件的挂载

缺省情况下,用户可以查看较低级别文件。删除 net_mac_aware 特权,以防止从特定区域查看所有较低级别文件。有关 net_mac_aware 特权的说明,请参见 privileges(5) 手册页。

开始之前

您必须具有全局区域中的 "System Administrator"(系统管理员)角色。

  1. 停止要更改配置的区域。
    # zoneadm -z zone-name halt
  2. 配置区域,防止查看较低级别文件。

    从区域删除 net_mac_aware 特权。

    # zonecfg -z zone-name
     set limitpriv=default,!net_mac_aware
     exit
  3. 重新启动区域。
    # zoneadm -z zone-name boot

示例 13-3 防止用户查看较低级别文件

在此示例中,安全管理员希望防止一个系统中的用户被混淆。因此,用户只能查看其正在工作的标签的文件。从而,安全管理员可以阻止查看所有较低级别文件。在该系统中,用户无法看到公用文件,除非用户以 PUBLIC 标签工作。此外,用户只能在区域的标签对文件进行 NFS 挂载。

# zoneadm -z restricted halt
# zonecfg -z restricted
 set limitpriv=default,!net_mac_aware
 exit
# zoneadm -z restricted boot
# zoneadm -z needtoknow halt
# zonecfg -z needtoknow
 set limitpriv=default,!net_mac_aware
 exit
# zoneadm -z needtoknow boot
# zoneadm -z internal halt
# zonecfg -z internal
 set limitpriv=default,!net_mac_aware
 exit
# zoneadm -z internal boot

因为 PUBLIC 是最低级别标签,安全管理员不对 PUBLIC 区域运行这些命令。

如何从有标签区域共享 ZFS 数据集

在此过程中,要在有标签区域中挂载一个具有读/写权限的 NFS 数据集。因为所有命令都在全局区域中执行,全局区域管理员可以对向有标签区域添加 ZFS 数据集进行控制。

有标签区域至少要处于 "ready"(就绪)状态下才能共享数据集。区域可以处于正在运行状态。

开始之前

要为区域配置数据集,必须首先停止该区域。您必须在全局区域中承担 root 角色。

  1. 创建 ZFS 数据集。
    # zfs create datasetdir/subdir

    数据集的名称可以包括目录,例如 zone/data

  2. 在全局区域中,停止有标签区域。
    # zoneadm -z labeled-zone-name halt
  3. 设置数据集的挂载点。
    # zfs set mountpoint=legacy datasetdir/subdir

    如果挂载点与有标签区域相对应,设置 ZFS 挂载点属性时会设置挂载点的标签。

  4. 使该数据集可以共享。
    # zfs set sharenfs=on datasetdir/subdir
  5. 将数据集作为文件系统添加到区域中。
    # zonecfg -z labeled-zone-name
    # zonecfg:labeled-zone-name> add fs
    # zonecfg:labeled-zone-name:dataset> set dir=/subdir
    # zonecfg:labeled-zone-name:dataset> set special=datasetdir/subdir
    # zonecfg:labeled-zone-name:dataset> set type=zfs
    # zonecfg:labeled-zone-name:dataset> end
    # zonecfg:labeled-zone-name> exit

    通过将数据集作为文件系统进行添加,会在区域的 /data 处挂载数据集。此步骤可以确保不会在引导区域之前挂载数据集。

  6. 引导有标签区域。
    # zoneadm -z labeled-zone-name boot

    引导区域后,将自动挂载数据集,作为标签为 labeled-zone-namelabeled-zone-name 区域中的读/写挂载点。

示例 13-4 从有标签区域共享和挂载 ZFS 数据集

在此示例中,管理员将一个 ZFS 数据集添加到 needtoknow 区域,然后共享数据集。数据集 zone/data 当前被指定到 /mnt 挂载点。被限制区域中的用户可以查看该数据集。

首先,管理员停止区域。

# zoneadm -z needtoknow halt

因为数据集当前被指定到不同的挂载点,管理员要删除之前的指定,然后设置新的挂载点。

# zfs set zoned=off zone/data
# zfs set mountpoint=legacy zone/data

然后,管理员共享该数据集。

# zfs set sharenfs=on zone/data

接下来,在 zonecfg 交互式接口中,管理员明确将数据集添加到 needtoknow 区域。

# zonecfg -z needtoknow
# zonecfg:needtoknow> add fs
# zonecfg:needtoknow:dataset> set dir=/data
# zonecfg:needtoknow:dataset> set special=zone/data
# zonecfg:needtoknow:dataset> set type=zfs
# zonecfg:needtoknow:dataset> end
# zonecfg:needtoknow> exit

接下来,管理员引导 needtoknow 区域。

# zoneadm -z needtoknow boot

现在,可以访问该数据集了。

支配 needtoknow 区域的 restricted 区域中的用户可以通过转到 /data 目录来查看挂载的数据集。从全局区域的角度看,他们使用挂载数据集的完整路径。在此示例中,machine1 是包括有标签区域的系统的主机名。管理员将此主机名指定给非共享 IP 地址。

# cd /net/machine1/zone/needtoknow/root/data

故障排除

如果尝试从较高级别标签访问数据集时返回错误找不到无此类文件或目录,管理员必须通过运行 svcadm restart autofs 命令来重启自动挂载程序服务。

如何在有标签区域中允许重新为文件设置标签

此过程是用户可以重新为文件设置标签的先决条件。

开始之前

必须停止您要配置的区域。您必须具有全局区域中的 "Security Administrator"(安全管理员)角色。

  1. 打开 Labeled Zone Manager(有标签区域管理器)。
    # /usr/sbin/txzonemgr &
  2. 配置区域以启用标签重新设置。
    1. 双击该区域。
    2. 从列表中选择 "Permit Relabeling"(允许重新设置标签)。
  3. 选择 "Boot"(引导)重新启动区域。
  4. 单击 "Cancel"(取消)返回到区域列表。

    对于允许重新设置标签的用户和进程要求,请参见 setflabel(3TSOL) 手册页。要授权用户重新为文件设置标签,请参见如何允许用户更改数据的安全级别

示例 13-5 仅允许从 internal 区域降级

在此示例中,安全管理员使用 zonecfg 命令以允许从 CNF: INTERNAL USE ONLY(CNF:仅供内部使用)区域对信息进行降级,而不是升级。

# zonecfg -z internal set limitpriv=default,file_downgrade_sl

示例 13-6 阻止从 internal(内部)区域降级

在此示例中,安全管理员希望在以前用于降级文件的系统上阻止降级 CNF: INTERNAL USE ONLY(CNF:仅供内部使用)文件。

管理员使用 "Labeled Zone Manager"(有标签区域管理器)停止 internal(内部)区域,然后从 internal(内部)区域菜单中选择 "Deny Relabeling"(拒绝重新设置标签)。