跳过导航链接 | |
退出打印视图 | |
Trusted Extensions 配置和管理 Oracle Solaris 11 Information Library (简体中文) |
第 1 部分Trusted Extensions 的初始配置
3. 将 Trusted Extensions 功能添加到 Oracle Solaris(任务)
5. 为 Trusted Extensions 配置 LDAP(任务)
8. Trusted Extensions 系统上的安全要求(概述)
9. 执行 Trusted Extensions 中的常见任务(任务)
10. Trusted Extensions 中的用户、权限和角色(概述)
11. 在 Trusted Extensions 中管理用户、权限和角色(任务)
12. Trusted Extensions 中的远程管理(任务)
13. 在 Trusted Extensions 中管理区域(任务)
14. 在 Trusted Extensions 中管理和挂载文件(任务)
16. 在 Trusted Extensions 中管理网络(任务)
如何在多级别 Trusted Extensions 网络中应用 IPsec 保护
17. Trusted Extensions 和 LDAP(概述)
18. Trusted Extensions 中的多级别邮件(概述)
20. Trusted Extensions 中的设备(概述)
21. 管理 Trusted Extensions 的设备(任务)
23. Trusted Extensions 中的软件管理(参考)
由 Trusted Extensions 扩展的 Oracle Solaris 接口
Trusted Extensions 中更为严厉的安全缺省值
按字母顺序排列的 Trusted Extensions 手册页
仅当 Trusted Extensions 系统已定义其他主机的安全属性后,才可以与这些主机联系。因为远程主机可以包含相似的安全属性,所以 Trusted Extensions 提供了安全模板,您可以将主机添加到这些模板中。
以下任务列表介绍了可用来添加到安全模板并将这些模板应用于远程主机的任务。
|
您可以查看安全模板列表以及每个模板的内容。此过程中显示的示例为缺省安全模板。
# tncfg list cipso admin_low
# tncfg -t cipso info name=cipso host_type=cipso doi=1 min_label=ADMIN_LOW max_label=ADMIN_HIGH host=127.0.0.1/32
前面的 cipso 安全模板中的 127.0.0.1/32 项将此系统标识为有标签。当对等方将此系统指定给对等方的远程主机模板(host_type 为 cipso)时,这两个系统可以交换有标签包。
# tncfg -t admin_low info name=admin_low host_type=unlabeled doi=1 def_label=ADMIN_LOW min_label=ADMIN_LOW max_label=ADMIN_HIGH host=0.0.0.0/0
前面的 admin_low 安全模板中的 0.0.0.0/0 项允许未显式指定给安全模板的所有主机与此系统联系。这些主机均被标识为无标签。
此项的优点在于可以找到在引导时此系统需要的所有主机(例如服务器和网关)。
此项的缺点在于此系统网络中的所有主机都可以与此系统联系。要限制哪些主机可与此系统联系,请参见如何限定可能会在可信网络上联系的主机。
开始之前
您必须具有全局区域中的 "Security Administrator"(安全管理员)角色。
按照如何查看安全模板中的说明查看可用的安全模板。
限定某台主机或一组主机的标签范围。
在非 ADMIN_LOW 的标签下创建单标签主机。
需要无标签主机的非 ADMIN_LOW 缺省标签。
创建识别几个独立标签的主机。
使用非 1 的 DOI。
接下来的步骤
要将主机添加到缺省安全模板中,请转至如何将主机添加到安全模板。
否则,继续执行如何创建安全模板中的相关操作。
开始之前
您必须位于全局区域中,并充当可以修改网络安全设置的角色。例如,指定有 "Information Security"(信息安全)或 "Network Security"(网络安全)权限配置文件的角色可以修改安全值。"Security Administrator"(安全管理员)角色拥有这些权限配置文件。
对于 PUBLIC 等标签,可以使用标签字符串或十六进制值 (0x0002-08-08) 作为标签值。tncfg 命令接受这两种格式中的任一格式。
# atohexlabel "confidential : internal use only" 0x0004-08-48
有关更多信息,请参见如何获取标签的十六进制等效值。
出于支持目的,请勿删除缺省安全模板。您可以复制这些模板,然后对其进行修改。此外,您还可以添加和删除指定给这些模板的主机。有关示例,请参见如何限定可能会在可信网络上联系的主机。
tncfg -t 命令提供了三种创建新模板的方法。
在交互式模式下使用 tncfg 命令。info 子命令显示在缺省情况下提供的值。使用 Tab 键完成部分属性和值。
# tncfg -t newunlabeled tncfg:newtemplate> info name=newunlabeled host_type=unlabeled doi=1 def_label=ADMIN_LOW min_label=ADMIN_LOW max_label=ADMIN_HIGH tncfg:newunlabeled> set m<Tab> set max_label=" set min_label=" tncfg:newunlabeled> set ma<Tab> tncfg:newunlabeled> set max_label=ADMIN_LOW ...
您也可以在命令行中提供完整的安全模板属性列表。使用分号分隔 set 子命令。被忽略的属性接收缺省值。
# tncfg -t newunlabeled set host_type=unlabeled;set doi=1; \ set min_label=ADMIN_LOW;set max_label=ADMIN_LOW
# tncfg -t cipso tncfg:cipso> set name=newcipso tncfg:newcipso> info name=newcipso host_type=cipso doi=1 min_label=ADMIN_LOW max_label=ADMIN_HIGH
已指定给现有安全模板的主机不会复制到新模板中。
# tncfg -f unlab_1 -f template-file tncfg: unlab1> set host_type=unlabeled ... # tncfg -f template-file
有关创建源模板以用于导入的示例,请参见 tncfg(1M) 手册页。
示例 16-1 为在一个标签下处理包的网关创建安全模板
在此示例中,安全管理员定义一个只能在标签 PUBLIC 下传递包的网关。
# tncfg -t cipso_public tncfg:cipso_public> set host_type=cipso tncfg:cipso_public> set doi=1 tncfg:cipso_public> set min_label="public" tncfg:cipso_public> set max_label="public" tncfg:cipso_public> commit tncfg:cipso_public> exit
然后,安全管理员将网关主机添加到安全模板中。有关更多信息,请参见示例 16-7。
示例 16-2 为用于路由有标签包的无标签路由器创建安全模板
任何 IP 路由器都可以通过 CIPSO 标签转发消息,即使该路由器不显式支持标签也是如此。此类无标签路由器需要一个缺省标签来定义必须在哪一个级别上处理与该路由器的连接(或许是用于路由器管理)。在此示例中,安全管理员创建一个可以任何标签转发通信的路由器,但与该路由器的所有直接通信都是以缺省标签 PUBLIC 处理的。
安全管理员从头创建模板。
# tncfg -t unl_public tncfg:unl_public> set host_type=unlabeled tncfg:unl_public> set doi=1 tncfg:unl_public> set def_label="PUBLIC" tncfg:unl_public> set min_label=ADMIN_LOW tncfg:unl_public> set max_label=ADMIN_HIGH tncfg:unl_public> exit
然后,安全管理员将路由器添加到安全模板中。有关更多信息,请参见示例 16-8。
示例 16-3 为具有有限标签范围的网关创建安全模板
在此示例中,安全管理员创建一个将包限定于较窄标签范围的网关。管理员将创建一个安全模板,并随后将网关主机指定给该安全模板。
# tncfg -t cipso_iuo_rstrct tncfg:cipso_iuo_rstrct> set host_type=cipso tncfg:cipso_iuo_rstrct> set doi=1 tncfg:cipso_iuo_rstrct> set min_label=0x0004-08-48 tncfg:cipso_iuo_rstrct> set max_label=0x0004-08-78 tncfg:cipso_iuo_rstrct> add host=192.168.131.78 tncfg:cipso_iuo_rstrct> exit
然后,安全管理员将网关主机添加到安全模板中。有关更多信息,请参见示例 16-9。
示例 16-4 创建具有独立标签的安全模板
在此示例中,安全管理员创建一个仅识别两个标签(confidential : internal use only 和 confidential : restricted)的安全模板。所有其他通信都会被拒绝。
首先,管理员需要仔细准确地键入标签。软件按大小写字母和短名称识别标签,但不识别空格间距不准确的标签。例如,标签 confidential :restricted 不是有效标签。
# tncfg -t cipso_int_and_rst tncfg:cipso_int_and_rst> set host_type=cipso tncfg:cipso_int_and_rst> set doi=1 tncfg:cipso_int_and_rst> set min_label="cnf : internal use only" tncfg:cipso_int_and_rst> set max_label="cnf : internal use only" tncfg:cipso_int_and_rst> set aux_label="cnf : restricted" tncfg:cipso_int_and_rst> exit
示例 16-5 在标签 PUBLIC 下创建无标签安全模板
在此示例中,安全管理员为只能在 PUBLIC 标签下收发包的主机创建单标签模板。该模板可能会指定给其文件系统必须由 Trusted Extensions 系统挂载在 PUBLIC 标签的主机。
# tncfg -t public tncfg:public> set host_type=unlabeled tncfg:public> set doi=1 tncfg:public> set def_label="public" tncfg:public> set min_sl="public" tncfg:public> set max_sl="public" tncfg:public> exit
然后,安全管理员将主机添加到安全模板中。有关更多信息,请参见示例 16-13。
示例 16-6 为开发者创建有标签安全模板
在此示例中,安全管理员创建一个 cipso_sandbox 模板。此安全模板会指定给可信软件开发者所使用的系统。开发者测试不会影响其他有标签主机,因为标签 SANDBOX 与网络上的其他标签不相交。
# tncfg -t cipso_sandbox tncfg:cipso_sandbox> set host_type=cipso tncfg:cipso_sandbox> set doi=1 tncfg:cipso_sandbox> set min_sl="SBX" tncfg:cipso_sandbox> set max_sl="SBX" tncfg:cipso_sandbox> exit
将主机和主机组添加到系统的 /etc/hosts 文件之后,系统将能够识别这些主机。只能将已知的主机添加到安全模板中。
开始之前
您是全局区域中的 root 角色。
# vi /etc/hosts ... 192.168.111.121 ahost
# vi /etc/hosts ... 192.168.111.0 111-network
接下来的步骤
继续执行如何将主机添加到安全模板中的相关操作。
开始之前
必须满足以下几项:
安全模板必须存在。有关过程,请参见如何创建安全模板。
IP 地址必须存在于 /etc/hosts 文件中,或可由 DNS 进行解析。
有关 hosts 文件,请参见如何向系统的已知网络添加主机。
有关 DNS 的信息,请参见《Oracle Solaris Administration: Naming and Directory Services》中的第 3 章 "Managing DNS (Tasks)"。
标签端点必须匹配。有关规则,请参见Trusted Extensions 中的路由概述。
您必须具有全局区域中的 "Security Administrator"(安全管理员)角色。
例如,添加 192.168.1.2 IP 地址。
# tncfg -t cipso tncfg:cipso> add host=192.168.1.2
如果要添加之前已添加到其他模板中的主机,系统会通知您将替换该主机的安全模板指定。例如:
# tncfg -t cipso tncfg:cipso> add host=192.168.1.22 192.168.1.2 previously matched the admin_low template tncfg:cipso> info ... host=192.168.1.2/32 tncfg:cipso> exit
例如,下面显示了已添加到 cipso 模板的 192.168.1.2 地址:
tncfg:cipso> info ... host=192.168.1.2/32
前缀长度 /32 指示该地址是确切的。
tncfg:cipso> commit tncfg:cipso> exit
要删除主机项,请参见示例 16-11。
示例 16-7 创建在一个标签下处理包的网关
在示例 16-1 中,管理员创建了一个安全模板,该模板定义了一个只能在标签 PUBLIC 下传递包的网关。在此示例中,安全管理员确保可以解析此网关主机的 IP 地址。
# arp 192.168.131.75 gateway-1.example.com (192.168.131.75) at 0:0:0:1:ab:cd
arp 命令检验主机是否已在系统的 /etc/hosts 文件中定义或者是否可由 DNS 进行解析。
然后,管理员将 gateway-1 主机添加到安全模板中:
# tncfg -t cipso_public tncfg:cipso_public> add host=192.168.131.75 tncfg:cipso_public> exit
系统可以通过 gateway-1 立即收发 public 包。
示例 16-8 创建无标签路由器来路由有标签包
在示例 16-2 中,管理员为路由器创建了安全模板。在此示例中,管理员确保可以解析此路由器的 IP 地址。
# arp 192.168.131.82 router-1.example.com (192.168.131.82) at 0:0:0:2:ab:cd
arp 命令指示主机已在系统的 /etc/hosts 文件中定义或可由 DNS 进行解析。
然后,管理员将路由器添加到安全模板中。
# tncfg -t unl_public tncfg:unl_public> add host=192.168.131.82 tncfg:unl_public> exit
系统可以通过 router-1 立即收发所有标签下的包。
示例 16-9 创建具有有限标签范围的网关
在示例 16-3 中,管理员创建了具有有限标签范围的安全模板。在此示例中,安全管理员确保可以解析此网关主机的 IP 地址。
# arp 192.168.131.78 gateway-ir.example.com (192.168.131.78) at 0:0:0:3:ab:cd
arp 命令指示主机已在系统的 /etc/hosts 文件中定义或可由 DNS 进行解析。
然后,管理员将网关添加到安全模板中。
# tncfg -t cipso_iuo_rstrct tncfg:cipso_iuo_rstrct> add host=192.168.131.78 tncfg:cipso_iuo_rstrct> exit
系统可以通过 gateway-ir 立即收发标签为 internal 和 restricted 的包。
示例 16-10 为开发者创建有标签主机
在示例 16-6 中,管理员创建了 cipso_sandbox 安全模板。在此示例中,安全管理员将两个主机添加到此模板中。
# tncfg -t cipso_sandbox tncfg:cipso_sandbox> add host=196.168.129.102 tncfg:cipso_sandbox> add host=196.168.129.129 tncfg:cipso_sandbox> exit
使用 196.168.129.102 和 196.168.129.129 系统的开发者可以在标签 SANDBOX 下彼此进行通信。
示例 16-11 从安全模板中删除若干主机
在此示例中,安全管理员从 cipso 安全模板中删除若干主机。管理员使用 info 子命令显示主机,然后键入 remove,再复制并粘贴四个 host= 项。
# tncfg -t cipso info name=cipso host_type=cipso doi=1 min_label=ADMIN_LOW max_label=ADMIN_HIGH host=127.0.0.1/32 host=192.168.1.2/32 host=192.168.113.0/24 host=192.168.113.100/25 host=2001:a08:3903:200::0/56
# tncfg -t cipso tncfg:cipso> remove host=192.168.1.2/32 tncfg:cipso> remove host=192.168.113.0/24 tncfg:cipso> remove host=192.168.113.100/25 tncfg:cipso> remove host=2001:a08:3903:200::0/56 tncfg:cipso> info ... max_label=ADMIN_HIGH host=127.0.0.1/32 host=192.168.75.0/24
删除主机后,管理员提交更改并退出安全模板。
tncfg:cipso> commit tncfg:cipso> exit #
开始之前
有关要求,请参见如何将主机添加到安全模板。
例如,将两个子网添加到 cipso 模板中,然后显示安全模板。
# tncfg -t cipso tncfg:cipso> add host=192.168.75.0 tncfg:cipso> add host=192.168.113.0 tncfg:cipso> info ... host=192.168.75.0/24 host=192.168.113.0/24 tncfg:cipso> exit
前缀长度 /24 指示地址(以 .0 结尾)是子网。
注 - 如果要添加之前已添加到其他模板中的一系列主机,系统会通知您将替换这些主机的安全模板指定。
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/25 192.168.113.100/25 previously matched the admin_low template
在以下示例中,前缀长度涵盖的地址范围是 192.168.113.0 到 192.168.113.127。该地址包括 192.168.113.100。
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/25 tncfg:cipso> exit
在以下示例中,前缀长度涵盖的连续 IPv6 地址为 2001:a08:3903:200::0 到 2001:a08:3903:2ff:ffff:ffff:ffff:ffff。该地址包括 2001:a08:3903:201:20e:cff:fe08:58c。
# tncfg -t cipso tncfg:cipso> add host=2001:a08:3903:200::0/56 tncfg:cipso> info ... host=2001:a08:3903:200::0/56 tncfg:cipso> exit
如果项键入错误,将接收到类似于以下内容的消息:
# tncfg -t cipso tncfg:cipso> add host=2001:a08:3903::0/56 Invalid host: 2001:a08:3903::0/56
如果要添加之前已添加到其他模板中的主机,系统会通知您将替换该主机的安全模板指定。例如:
# tncfg -t cipso tncfg:cipso> add host=192.168.113.100/32 192.168.113.100/32 previously matched the admin_low template tncfg:cipso> info ... host=192.168.113.100/32 tncfg:cipso> exit
Trusted Extensions 回退机制可以确保此显式指定会覆盖以前的指定,如可信网络回退机制中所述。
示例 16-12 在独立标签下创建主机
在示例 16-4 中,管理员创建了能够识别两个标签的安全模板。在此示例中,安全管理员确保可以解析每台主机的 IP 地址。
# arp 192.168.132.21 host-auxset1.example.com (192.168.132.21) at 0:0:0:4:ab:cd # arp 192.168.132.22 host-auxset2.example.com (192.168.132.22) at 0:0:0:5:ab:cd # arp 192.168.132.23 host-auxset3.example.com (192.168.132.23) at 0:0:0:6:ab:cd # arp 192.168.132.24 host-auxset4.example.com (192.168.132.24) at 0:0:0:7:ab:cd
arp 命令指示主机已在系统的 /etc/hosts 文件中定义或可由 DNS 进行解析。
然后,管理员通过使用前缀长度将 IP 地址的范围指定给安全模板。
# tncfg -t cipso_int_rstrct tncfg:cipso_int_rstrct> set host=192.168.132.0/24
示例 16-13 在标签 PUBLIC 下创建无标签子网
在示例 16-5 中,管理员创建了定义单标签 PUBLIC 主机的安全模板。在此示例中,安全管理员将一个子网指定给 PUBLIC 标签。可信系统上的用户可以将来自此子网的文件系统挂载到 PUBLIC 标签。
# tncfg -t public tncfg:public> add host=10.10.0.0/16 tncfg:public> exit
可以在标签 PUBLIC 立即访问此子网。
此过程可保护有标签主机免受任意无标签主机的联系。安装 Trusted Extensions 后,admin_low 缺省安装模板会定义网络中的每台主机。使用此过程可枚举特定的无标签主机。
每个系统上的本地可信网络值用于在引导时联系网络。缺省情况下,未随 cipso 模板提供的每台主机由 admin_low 模板定义。此模板将未另行定义的每台远程主机 (0.0.0.0/0) 指定为具有 admin_low 缺省标签的无标签系统。
开始之前
您必须具有全局区域中的 "Security Administrator"(安全管理员)角色。
要在引导时联系的所有主机都必须存在于 /etc/hosts 文件中。
包括在引导时必须联系的每台无标签主机。
包括此系统必须通过其进行通信的、未在运行 Trusted Extensions 的每个链路上路由器。
删除 0.0.0.0/0 指定。
添加在引导时必须联系的每台有标签主机。
包括此系统必须通过其进行通信的、正在运行 Trusted Extensions 的每个链路上路由器。
确保所有网络接口都已指定给模板。
包括广播地址。
包括在引导时必须联系的有标签主机的范围。
有关数据库样例,请参见示例 16-15。
示例 16-14 更改 0.0.0.0/0 IP 地址的标签
在此示例中,安全管理员创建一个公共网关系统。管理员从 admin_low 模板中删除 0.0.0.0/0 主机项,并将 0.0.0.0/0 主机项添加到无标签 public 模板中。然后,系统将未特别指定给其他安全模板的任何主机识别为具有 public 安全模板的安全属性的无标签系统。
# tncfg -t admin_low info tncfg:admin_low> remove host=0.0.0.0Wildcard address tncfg:admin_low> exit
# tncfg -t public tncfg:public> set host_type=unlabeled tncfg:public> set doi=1 tncfg:public> set def_label="public" tncfg:public> set min_sl="public" tncfg:public> set max_sl="public" tncfg:public> add host=0.0.0.0Wildcard address tncfg:public> exit
示例 16-15 枚举在引导时要联系的计算机
在以下示例中,管理员配置具有两个网络接口的 Trusted Extensions 系统的可信网络。此系统与另一个网络以及一些路由器进行通信。将远程主机指定给以下三个模板之一:cipso、admin_low 或 public。对以下命令进行了注释。
# tncfg -t cipso tncfg:admin_low> add host=127.0.0.1Loopback address tncfg:admin_low> add host=192.168.112.111Interface 1 of this host tncfg:admin_low> add host=192.168.113.111Interface 2 of this host tncfg:admin_low> add host=192.168.113.6File server tncfg:admin_low> add host=192.168.112.255Subnet broadcast address tncfg:admin_low> add host=192.168.113.255Subnet broadcast address tncfg:admin_low> add host=192.168.113.1Router tncfg:admin_low> add host=192.168.117.0/24Another Trusted Extensions network tncfg:admin_low> exit
# tncfg -t public tncfg:public> add host=192.168.112.12Specific network router tncfg:public> add host=192.168.113.12Specific network router tncfg:public> add host=224.0.0.2Multicast address tncfg:admin_low> exit
# tncfg -t admin_low tncfg:admin_low> add host=255.255.255.255Broadcast address tncfg:admin_low> exit
指定要在引导时联系的主机后,管理员从 admin_low 模板中删除 0.0.0.0/0 项。
# tncfg -t admin_low tncfg:admin_low> remove host=0.0.0.0 tncfg:admin_low> exit
示例 16-16 使主机地址 0.0.0.0/32 成为有效的初始地址
在此示例中,安全管理员将应用服务器配置为接受来自潜在客户机的初始连接请求。
管理员配置服务器的可信网络。对服务器和客户机项进行了注释。
# tncfg -t cipso info name=cipso host_type=cipso doi=1 min_label=ADMIN_LOW max_label=ADMIN_HIGH host=127.0.0.1/32 host=192.168.128.1/32 Application server address host=192.168.128.0/24 Application's client network Other addresses to be contacted at boot time
# tncfg -t admin_low info name=cipso host_type=cipso doi=1 def_label=ADMIN_LOW min_label=ADMIN_LOW max_label=ADMIN_HIGH host=192.168.128.0/24 Application's client network host=0.0.0.0/0 Wildcard address Other addresses to be contacted at boot time
此阶段测试成功后,管理员通过以下方法锁定配置:删除缺省通配符地址 0.0.0.0/0,提交更改,然后添加特定地址。
# tncfg -t admin_low info tncfg:admin_low> remove host=0.0.0.0 tncfg:admin_low> commit tncfg:admin_low> add host=0.0.0.0/32For initial client contact tncfg:admin_low> exit
最终 admin_low 配置类似于以下内容:
# tncfg -t admin_low name=cipso host_type=cipso doi=1 def_label=ADMIN_LOW min_label=ADMIN_LOW max_label=ADMIN_HIGH 192.168.128.0/24 Application's client network host=0.0.0.0/32 For initial client contact Other addresses to be contacted at boot time
0.0.0.0/32 项仅允许应用程序的客户机访问应用服务器。