本节包含有关向安全模板中添加主机的链接或示例。对于间断的 IP 地址,请参见如何将主机添加到安全模板。对于一系列主机,请参见如何将一系列主机添加到安全模板。
本节中的示例说明了以下远程主机标签指定情况:
可信远程网关处理 PUBLIC 通信流量。请参见Example 16–4。
不可信远程主机充当单标签路由器-Example 16–5
可信远程主机将通信流量限定于较窄标签范围内。请参见Example 16–6。
为可信远程主机指定一组有限标签。请参见Example 16–7。
为可信远程主机指定与网络其余部分不相交的标签。请参见Example 16–8。
可信 netif 主机为来自 adaptive 系统的包添加标签。请参见Example 16–9。
不可信 adaptive 主机将包发送到 netif 主机。请参见Example 16–10。
可信同构网络在特定标签处添加多播地址。请参见Example 16–11。
从安全模板中删除一个主机。请参见Example 16–12。
为不可信远程主机和网络指定标签。请参见Example 16–15。
开始之前
必须满足以下几项:
IP 地址必须存在于 /etc/hosts 文件中,或可由 DNS 进行解析。
有关 hosts 文件,请参见如何向系统的已知网络添加主机。
有关 DNS 的信息,请参见使用 Oracle Solaris 11.2 目录和命名服务:DNS 和 NIS 中的第 3 章 管理域名系统。
标签端点必须匹配。有关规则,请参见关于 Trusted Extensions 中的路由。
您必须具有全局区域中的 "Security Administrator"(安全管理员)角色。
在此示例中,验证是否可以访问 192.168.1.2。
# arp 192.168.1.2 gateway-2.example.com (192.168.1.2) at 0:0:0:1:ad:cd
arp 命令检验主机是否已在系统的 /etc/hosts 文件中定义或者是否可由 DNS 进行解析。
在本示例中,添加 192.168.1.2 IP 地址。
# tncfg -t cipso tncfg:cipso> add host=192.168.1.2
如果要添加之前已添加到其他模板中的主机,系统会通知您将替换该主机的安全模板指定。有关信息性消息,请参见Example 16–3。
例如,以下示例显示了已添加到 cipso 模板的 192.168.1.2 地址:
tncfg:cipso> info ... host=192.168.1.2/32
前缀长度 /32 指示该地址是确切的。
tncfg:cipso> commit tncfg:cipso> exit
要删除主机项,请参见Example 16–12。
此示例说明了在向已经指定模板的主机指定安全模板时显示的信息性消息。
# tncfg -t cipso tncfg:cipso> add host=192.168.1.2 192.168.1.2 previously matched the admin_low template tncfg:cipso> info ... host=192.168.1.2/32 tncfg:cipso> exit示例 16-4 创建在一个标签下处理包的网关
在Example 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-5 创建无标签路由器来路由有标签包任何 IP 路由器都可以通过 CALIPSO 或 CIPSO 标签转发消息,即使该路由器不显式支持标签也是如此。此类无标签路由器需要一个缺省标签来定义必须在哪一个级别上处理与该路由器的连接(或许是用于路由器管理)。在此示例中,安全管理员创建一个可以任何标签转发通信的路由器,但与该路由器的所有直接通信都是以缺省标签 PUBLIC(公共)处理的。
首先,安全管理员从头创建模板。
# tncfg -t unl_public_router tncfg:unl_public_router> set host_type=unlabeled tncfg:unl_public_router> set doi=1 tncfg:unl_public_router> set def_label="PUBLIC" tncfg:unl_public_router> set min_label=ADMIN_LOW tncfg:unl_public_router> set max_label=ADMIN_HIGH tncfg:unl_public_router> exit
然后,管理员将路由器添加到安全模板中。
# tncfg -t unl_public_router tncfg:unl_public_router> add host=192.168.131.82 tncfg:unl_public_router> exit
系统可以通过 router-1(192.168.131.82 地址的主机名)立即收发所有标签下的包。
示例 16-6 创建具有有限标签范围的网关在此示例中,安全管理员创建一个将包限定于较窄标签范围的模板,并将此网关添加到该模板。
# arp 192.168.131.78 gateway-ir.example.com (192.168.131.78) at 0:0:0:3:ab:cd
# 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
系统可以通过 gateway-ir 立即收发标签为 internal 和 restricted 的包。
示例 16-7 在独立标签下创建主机在此示例中,安全管理员创建一个仅识别两个标签(confidential : internal use only 和 confidential : restricted)的安全模板。所有其他通信都会被拒绝。
首先,安全管理员确保可以解析每台主机的 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
然后,管理员需要仔细准确地键入标签。软件按大小写字母和短名称识别标签,但不识别空格间距不准确的标签。例如,标签 cnf :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
然后,管理员通过使用前缀长度将 IP 地址的范围指定给安全模板。
# tncfg -t cipso_int_rstrct tncfg:cipso_int_rstrct> set host=192.168.132.0/24示例 16-8 为开发者创建有标签主机
在此示例中,安全管理员创建一个 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> 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-9 为 netif 主机创建安全模板在此示例中,安全管理员创建一个 netif 安全模板。此模板将指定给托管 IP 地址 10.121.10.3 的有标签网络接口。通过此指定,Trusted Extensions IP 模块会将缺省标签 PUBLIC 添加到来自 adaptive 主机的所有传入包。
# tncfg -t netif_public tncfg:netif_public> set host_type=netif tncfg:netif_public> set doi=1 tncfg:netif_public> set def_label="PUBLIC" tncfg:netif_public> add host=10.121.10.3 tncfg:netif_public> commit tncfg:netif_public> exit示例 16-10 为自适应主机创建安全模板
在此示例中,安全管理员提前进行计划。管理员为分别保留公共信息的网络和保留内部信息的网络创建不同的子网。管理员随后定义两个 adaptive 主机。为公共子网中的系统指定了 PUBLIC 标签。为内部网络中的系统指定了 IUO 标签。由于对此网络提前进行了计划,因此每个网络使用特定标签保留并传输信息。另一个优点是,当未在预期接口上传送包时,可以轻松调试网络。
# tncfg -t adpub_192_168_10 tncfg:adapt_public> set host_type=adapt tncfg:adapt_public> set doi=1 tncfg:adapt_public> set min_label="public" tncfg:adapt_public> set max_label="public" tncfg:adapt_public> add host=192.168.10.0 tncfg:adapt_public> commit tncfg:adapt_public> exit
# tncfg -t adiuo_192_168_20 tncfg:adapt_public> set host_type=adapt tncfg:adapt_public> set doi=1 tncfg:adapt_public> set min_label="iuo" tncfg:adapt_public> set max_label="iuo" tncfg:adapt_public> add host=192.168.20.0 tncfg:adapt_public> commit tncfg:adapt_public> exit示例 16-11 发送有标签多播消息
在此示例中,在有标签的同构 LAN 中,安全管理员选择可通过其使用标签 PUBLIC 发送包的可用多播地址。
# tncfg -t cipso_public tncfg:cipso_public> add host=224.4.4.4 tncfg:cipso_public> exit示例 16-12 从安全模板中删除若干主机
在此示例中,安全管理员从 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 #
开始之前
有关要求,请参见如何将主机添加到安全模板。
在此示例中,将两个 IPv4 子网添加到 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
在以下示例中,/25 前缀长度涵盖的连续 IPv4 地址为 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
在以下示例中,/56 前缀长度涵盖的连续 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
如果要添加之前已添加到其他模板中的主机,系统会通知您将替换该主机的安全模板指定。有关信息性消息,请参见Example 16–13。
对于拼错的项也会显示信息性消息,如Example 16–14 所示。
此示例说明了在向已经指定模板的一系列主机指定安全模板时显示的信息性消息。
# 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-14 处理安全模板中拼错的 IP 地址对于拼错的项会显示一条信息性消息。下面添加的主机在地址中忽略了 :200:
# tncfg -t cipso tncfg:cipso> add host=2001:a08:3903::0/56 Invalid host: 2001:a08:3903::0/56示例 16-15 在标签 PUBLIC 下创建无标签子网
在Example 16–2 中,安全管理员创建了可为不可信主机指定标签 PUBLIC 的安全模板。在此示例中,安全管理员将一个子网指定给 PUBLIC 标签。指定系统上的用户可以将来自此子网的主机中的文件系统挂载到 PUBLIC 区域。
# tncfg -t public tncfg:public> add host=10.10.0.0/16 tncfg:public> exit
可以在标签 PUBLIC 下立即访问此子网。