跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Trusted Extensions 配置指南 Oracle Solaris 10 8/11 Information Library (简体中文) |
3. 将 Trusted Extensions 软件添加到 Solaris OS(任务)
在 Trusted Extensions 中创建安全管理员角色
在 Trusted Extensions 中创建可以承担角色的用户
在 Trusted Extensions 中创建起始目录服务器
在 Trusted Extensions 中使用户能够访问其起始目录
在启用 Trusted Extensions 之后运行了 netservices limited
如何在 Trusted Extensions 中将文件复制到便携介质
如何在 Trusted Extensions 中从便携介质复制文件
5. 为 Trusted Extensions 配置 LDAP(任务)
6. 配置具有 Trusted Extensions 的无显示系统(任务)
在设置全局区域之前,必须做出有关配置的决定。有关决定的信息,请参见在启用 Trusted Extensions 之前收集信息并做出决定。
|
您的编码文件必须与正在通信的任何 Trusted Extensions 主机兼容。
注 - Trusted Extensions 会安装缺省 label_encodings 文件。此缺省文件可用于演示。但是,此文件可能并不适合您使用。如果打算使用该缺省文件,可以跳过此过程。
如果您熟悉编码文件,可以使用以下过程。
如果您不熟悉编码文件,请参考《Trusted Extensions Label Administration》以了解相关的要求、过程和示例。
注意 - 在继续之前,必须成功安装标签,否则配置将失败。 |
开始之前
您是安全管理员。security administrator(安全管理员)负责编辑、检查和维护 label_encodings 文件。如果打算编辑 label_encodings 文件,请确保该文件本身可写入。有关更多信息,请参见 label_encodings(4) 手册页。
# /usr/sbin/chk_encodings /full-pathname-of-label-encodings-file
如果命令报告了错误,必须先解决错误才能继续。有关帮助,请参见《Trusted Extensions Label Administration》中的第 3 章 "Making a Label Encodings File (Tasks)"
# cp /full-pathname-of-label-encodings-file \ /etc/security/tsol/label.encodings.site # cd /etc/security/tsol # cp label_encodings label_encodings.tx.orig # cp label.encodings.site label_encodings
注意 - 您的 label_encodings 文件必须通过 chk_encodings 测试,然后才能继续。 |
在后台单击鼠标右键。
在对话框中键入文件的全路径名:
/full-pathname-of-label-encodings-file
将调用 chk_encodings 命令以检查文件的语法。结果显示在 "Check Encodings"(检查编码)对话框中。
如果 "Check Encodings"(检查编码)操作报告了错误,必须先解决错误才能继续。有关帮助信息,请参见《Trusted Extensions Label Administration》中的第 3 章 "Making a Label Encodings File (Tasks)"。
"Check Encodings"(检查编码)操作会创建原始文件的备份副本,然后将检查后的版本安装在 /etc/security/tsol/label_encodings 中。然后,该操作将重新启动标签守护进程。
注意 - 您的 label_encodings 文件必须通过 "Check Encodings"(检查编码)测试,然后才能继续。 |
使用命令行。
# /usr/sbin/chk_encodings /full-pathname-of-label-encodings-file
如果命令报告了错误,必须先解决错误才能继续。有关帮助,请参见《Trusted Extensions Label Administration》中的第 3 章 "Making a Label Encodings File (Tasks)"
# cp /full-pathname-of-label-encodings-file \ /etc/security/tsol/label.encodings.site # cd /etc/security/tsol # cp label_encodings label_encodings.tx.orig # cp label.encodings.site label_encodings
注意 - 您的 label_encodings 文件必须通过 "Check Encodings"(检查编码)测试,然后才能继续。 |
示例 4-1 检查命令行上的 label_encodings 语法
在此示例中,管理员使用命令行来测试多个 label_encodings 文件。
# /usr/sbin/chk_encodings /var/encodings/label_encodings1 No errors found in /var/encodings/label_encodings1 # /usr/sbin/chk_encodings /var/encodings/label_encodings2 No errors found in /var/encodings/label_encodings2
如果管理层决定使用 label_encodings2 文件,管理员将对该文件运行语义分析。
# /usr/sbin/chk_encodings -a /var/encodings/label_encodings2 No errors found in /var/encodings/label_encodings2 ---> VERSION = MYCOMPANY LABEL ENCODINGS 2.0 10/10/2006 ---> CLASSIFICATIONS <--- Classification 1: PUBLIC Initial Compartment bits: 10 Initial Markings bits: NONE ---> COMPARTMENTS AND MARKINGS USAGE ANALYSIS <--- ... ---> SENSITIVITY LABEL to COLOR MAPPING <--- ...
管理员打印其记录的语义分析副本,然后将文件移到 /etc/security/tsol 目录。
# cp /var/encodings/label_encodings2 /etc/security/tsol/label.encodings.10.10.06 # cd /etc/security/tsol # cp label_encodings label_encodings.tx.orig # cp label.encodings.10.10.06 label_encodings
最后,管理员检验 label_encodings 文件是否为公司文件。
# /usr/sbin/chk_encodings -a /etc/security/tsol/label_encodings | head -4 No errors found in /etc/security/tsol/label_encodings ---> VERSION = MYCOMPANY LABEL ENCODINGS 2.0 10/10/2006
CIPSO 选项没有 Internet 号码分配机构 (Internet Assigned Numbers Authority, IANA) 编号可供在包的 "IPv6 Option Type"(IPv6 选项类型)字段中使用。在此过程中设置的项会提供一个编号,以在本地网络上使用,直到 IANA 为此选项指定一个编号。如果未定义此编号,Trusted Extensions 将禁用 IPv6 网络。
要在 Trusted Extensions 中启用 IPv6 网络,必须在 /etc/system 文件中添加一个项。
set ip:ip6opt_ls = 0x0a
故障排除
如果在引导过程中出现错误消息,指出 IPv6 配置不正确,请更正该项:
检查该项的拼写是否正确。
检查在将正确的项添加到 /etc/system 文件中后是否重新引导了系统。
如果在当前启用了 IPv6 的 Solaris 系统上安装 Trusted Extensions,但未能在 /etc/system 中添加 IP 项,则将看到以下错误消息:t_optmgmt: System error: Cannot assign requested address time-stamp(t_optmgmt: 系统错误: 不能指定所要求的地址 time-stamp)
如果在未启用 IPv6 的 Solaris 系统上安装 Trusted Extensions,且未能在 /etc/system 中添加 IP 项,则将看到以下类型的错误消息:
WARNING: IPv6 not enabled via /etc/system(警告:未通过 /etc/system 启用 IPv6)
Failed to configure IPv6 interface(s): hme0(无法配置 IPv6 接口:hme0)
rpcbind: Unable to join IPv6 multicast group for rpc broadcast broadcast-number(rpcbind: rpc 广播 broadcast-number 无法加入 IPv6 多播组)
与配置有 Trusted Extensions 的系统的所有往来通信都必须遵循单个 CIPSO 系统解释域 (Domain of Interpretation, DOI) 的标记规则。每条消息中使用的 DOI 由 "CIPSO IP Option"(CIPSO IP 选项)头中的整数进行标识。缺省情况下,Trusted Extensions 中的 DOI 为 1。
如果您的 DOI 不是 1,必须向 /etc/system 文件中添加一个项,并修改缺省安全模板中的 doi 值。
set default_doi = n
这个非零正数必须与节点以及节点与之通信的系统对应的 tnrhtp 数据库中的 DOI 编号匹配。
Trusted Extensions 在 tnrhtp 数据库中提供两个模板,即 cipso 和 admin_low。如果您添加了本地地址的项,也请修改这些项。
# /usr/dt/bin/trusted_edit /etc/security/tsol/tnrhtp
在 Solaris Trusted Extensions (CDE) 中,可以改用应用程序管理器 Trusted_Extensions 文件夹中的 "Admin Editor"(管理编辑器)操作。
cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
#cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
使此值与 /etc/system 文件中的 default_doi 值相同。
#cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH cipso:host_type=cipso;doi=n;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
#admin_low:host_type=unlabeled;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH;doi=1;def_label=ADMIN_LOW admin_low:host_type=unlabeled;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH;doi=n;def_label=ADMIN_LOW
tnrhtp 数据库中每个条目的 doi 值都相同时,表示操作完成。
故障排除
如果 /etc/system 文件设置的 default_doi 值不是 1,并且此系统的某个安全模板设置的值与此 default_doi 值不匹配,那么,在接口配置过程中,系统控制台上将显示类似如下内容的消息:
NOTICE: er10 failed: 10.17.1.12 has wrong DOI 4 instead of 1(注意: er10 失败: 10.17.1.12 的 DOI 为 4 而不是 1,这是错误的)
Failed to configure IPv4 interface(s): er10(无法配置 IPv4 接口:er10)
接口配置失败可能会导致登录失败:
Hostname: unknown(主机名:未知)
unknown console login: root(未知控制台登录:root)
Oct 10 10:10:20 unknown login: pam_unix_cred: cannot load hostname Error 0(10 月 10 日 10:10:20 未知登录: pam_unix_cred: 无法装入主机名 错误 0)
要更正该问题,请将系统引导至单用户模式,并按此过程所述更正安全模板。
另请参见
有关 DOI 的更多信息,请参见《Oracle Solaris Trusted Extensions 管理员规程》中的"Trusted Extensions 中的网络安全属性"。
要在创建的安全模板中更改 doi 值,请参见《Oracle Solaris Trusted Extensions 管理员规程》中的"如何构造远程主机模板"。
要将您选择的编辑器用作可信编辑器,请参见《Oracle Solaris Trusted Extensions 管理员规程》中的"如何将所选的编辑器指定为可信编辑器"。
如果打算使用 Solaris ZFS 快照作为区域模板,您需要通过 ZFS 文件或 ZFS 设备创建 ZFS 池。此池存放用于克隆每个区域的快照。您将 /zone 设备用作 ZFS 池。
开始之前
您已在 Solaris 安装过程中为 ZFS 文件系统留出了磁盘空间。有关详细信息,请参见在 Trusted Extensions 中规划区域。
在安装过程中,您创建了一个 /zone 分区,该分区具有大约 2000 MB 的充足磁盘空间。
# umount /zone
# rmdir /zone
在编辑器中打开 vfstab 文件。在 /zone 项前面加上注释符号。
#/dev/dsk/cntndnsn /dev/dsk/cntndnsn /zone ufs 2 yes -
# zpool create -f zone cntndnsn
例如,如果您的 /zone 项使用磁盘分片 c0t0d0s5,则命令将如下所示:
# zpool create -f zone c0t0d0s5
使用以下命令之一:
# zpool status -x zone pool 'zone' is healthy
# zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT /zone 5.84G 80K 5.84G 7% ONLINE -
在此示例中,初始设置团队为区域保留了一个 6000 MB 的分区。有关更多信息,请参见 zpool(1M) 手册页。
在大多数站点,在配置系统时,会存在由两个或多个管理员组成的 initial setup team(初始设置团队)。
开始之前
在首次登录之前,请熟悉 Trusted Extensions 中的桌面和标签选项。有关详细信息,请参见《Oracle Solaris Trusted Extensions 用户指南》中的第 2 章 "登录到 Trusted Extensions(任务)"。
# /usr/sbin/reboot
如果您的系统没有图形显示,请转至第 6 章。
Trusted CDE 桌面包含可在配置系统时使用的操作。从 Solaris 10 10/08 发行版开始,txzonemgr 脚本是配置系统的首选程序。
用户不得将其口令透露给他人,因为这可能会让他人有权访问用户数据,并将无法唯一标识该人,或者无法追究其责任。请注意,透露可能是直接的,即用户故意将其口令透露给他人;也可能是间接的,如将口令写下来,或者选择了不安全的口令。Trusted Extensions 软件提供了不安全口令保护,但不能防止用户透露其口令或将口令写下来。
然后单击 "OK"(确定)关闭该对话框。
单击 "OK"(确定)接受缺省标签。
登录过程完成后,会短暂地显示 Trusted Extensions 屏幕,然后您将处于具有四个工作区的桌面会话中。Trusted Path(可信路径)符号会显示在 trusted stripe(可信窗口条)中。
注 - 如果要离开系统一段时间,必须注销或锁定屏幕。否则,他人可以在未经识别和验证的情况下访问系统,并且无法唯一标识该人,或者无法追究其责任。
通过此过程,可以管理此系统上的用户、角色、主机、区域和网络。在您配置的第一个系统上,只有 files(文件)作用域可用。
开始之前
您必须是超级用户。
要通过客户机上运行的 Solaris Management Console 使用 LDAP 服务器上的 LDAP 工具箱,您必须完成为 LDAP 配置 Solaris Management Console(任务列表)中的所有任务。
# /usr/sbin/smc &
注 - 首次启动 Solaris Management Console 时,将执行多个注册任务。这些任务可能要花费几分钟时间。
图 4-1 Solaris Management Console 初始窗口
如果此系统不具备所建议的内存和交换量,可能需要几分钟后才能显示工具箱。有关建议,请参见安装或升级 Solaris OS 以使用 Trusted Extensions。
图 4-2 显示了一个 This Computer (this-host: Scope=Files, Policy=TSOL) 工具箱。Trusted Extensions 在 "System Configuration"(系统配置)节点下修改工具。
注意 - 请勿选择没有策略的工具箱。没有列出的策略的工具箱不支持 Trusted Extensions。 |
您如何选择工具箱取决于您要影响的作用域。
要编辑本地文件,请选择 "Files"(文件)作用域。
要编辑 LDAP 数据库,请选择 LDAP 作用域。
完成为 LDAP 配置 Solaris Management Console(任务列表)中的所有任务后,LDAP 作用域即可用。
# /usr/sbin/smc &
下图显示了一个 This Computer (this-host: Scope=Files, Policy=TSOL) 工具箱。Trusted Extensions 在 "System Configuration"(系统配置)节点下修改工具。
图 4-2 Solaris Management Console 中的 Trusted Extensions 工具
保存 Policy=TSOL 工具箱允许在缺省情况下装入 Trusted Extensions 工具箱。首选项是按角色、按主机保存。主机为 Solaris Management Console 服务器。
将会选择 "Home"(起始)工具箱。
通过单击 "Use Current Toolbox"(使用当前工具箱)按钮,将当前工具箱放入 "Location"(位置)字段。
另请参见
有关 Solaris Management Console 的 Trusted Extensions 附加内容的概述,请参见《Oracle Solaris Trusted Extensions 管理员规程》中的"Solaris Management Console 工具"。要使用 Solaris Management Console 创建安全模板,请参见《Oracle Solaris Trusted Extensions 管理员规程》中的"配置可信网络数据库(任务列表)"。
对于 LDAP,此过程将建立全局区域的命名服务配置。如果不使用 LDAP,可以跳过此过程。
从 Solaris 10 5/08 发行版开始,如果您位于 Solaris Trusted Extensions (CDE) 工作区,可以使用 txzonemgr 脚本或 Trusted CDE 操作来创建一个 LDAP 客户机。如果您位于 Solaris Trusted Extensions (JDS) 或 Solaris Trusted Extensions (GNOME) 工作区中,必须使用 txzonemgr 脚本。
注 - 如果打算在每个有标签区域中设置一个名称服务器,则您要负责建立与每个有标签区域的 LDAP 客户机连接。
开始之前
Sun Java System Directory Server(即 LDAP 服务器)必须存在。该服务器必须置备有 Trusted Extensions 数据库,并且此系统必须能够与该服务器联系。因此,要配置的系统必须具有 LDAP 服务器上 tnrhdb 数据库中的一个项,或者此系统必须包括在通配符项中,然后再执行此过程。
如果配置有 Trusted Extensions 的 LDAP 服务器不存在,则必须完成第 5 章中的过程,然后再执行此过程。
LDAP 的标准命名服务转换文件对 Trusted Extensions 具有过多限制。
# cd /etc # cp nsswitch.ldap nsswitch.ldap.orig
正确的项类似如下:
hosts: files dns ldap ipnodes: files dns ldap networks: ldap files protocols: ldap files rpc: ldap files ethers: ldap files netmasks: ldap files bootparams: ldap files publickey: ldap files services: files
请注意,Trusted Extensions 添加了两项:
tnrhtp: files ldap tnrhdb: files ldap
# cp nsswitch.ldap nsswitch.conf
"Create LDAP Client"(创建 LDAP 客户机)菜单项仅配置全局区域。
对话框的标题是 "Labeled Zone Manager"(有标签区域管理器)。
Enter Domain Name: Type the domain name Enter Hostname of LDAP Server: Type the name of the server Enter IP Address of LDAP Server servername: Type the IP address Enter LDAP Proxy Password: Type the password to the server Confirm LDAP Proxy Password: Retype the password to the server Enter LDAP Profile Name: Type the profile name
Proceed to create LDAP Client?
在确认后,txzonemgr 脚本将添加 LDAP 客户机。然后,将在一个窗口中显示命令输出。
此文件夹包含用于设置接口、LDAP 客户机和有标签区域的操作。
应答以下提示:
Domain Name: Type the domain name Hostname of LDAP Server: Type the name of the server IP Address of LDAP Server: Type the IP address LDAP Proxy Password: Type the password to the server Profile Name: Type the profile name
此时将显示以下完成消息:
global zone will be LDAP client of LDAP-server System successfully configured. *** Select Close or Exit from the window menu to close this window ***
# ldapclient -v mod -a enableShadowUpdate=TRUE \ > -a adminDN=cn=admin,ou=profile,dc=domain,dc=suffix System successfully configured
"Create LDAP Client"(创建 LDAP 客户机)操作和 txzonemgr 脚本仅运行 ldapclient init 命令。在 Trusted Extensions 中,还必须修改已初始化的 LDAP 客户机以启用投影更新。
# ldapclient list
输出结果类似如下:
NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=domain-name ... NS_LDAP_BIND_TIME= number
如果发生了错误,请重新创建 LDAP 客户机,并提供正确的值。例如,以下错误可能表示系统没有 LDAP 服务器上的项。
LDAP ERROR (91): Can't connect to the LDAP server. Failed to find defaultSearchBase for domain domain-name
要更正此错误,需要检查 LDAP 服务器。
示例 4-2 在装入 resolv.conf 文件后使用主机名
在此示例中,管理员希望系统可以使用一组特定的 DNS 服务器。管理员从可信网络上的某个服务器上复制一个 resolv.conf 文件。因为 DNS 尚未处于活动状态,所以管理员使用服务器的 IP 地址来定位服务器。
# cd /etc # cp /net/10.1.1.2/export/txsetup/resolv.conf resolv.conf
在复制了 resolv.conf 文件,并且 nsswitch.conf 文件在 hosts 项中包含 dns 之后,管理员便可以使用主机名来定位系统。