如果在 IPsec 和 IKE 正在运行时添加 IPsec 策略项,则必须将新的策略和 IKE 规则读入内核。从 Solaris 10 4/09 发行版开始,添加新密钥后,要重新启动 policy 服务并刷新 ike 服务。
要在 Solaris 10 4/09 发行版之前的发行版中执行此过程,请参见示例 23–3。
此过程将假定以下内容:
按如何使用预先共享的密钥配置 IKE所述设置了 enigma 系统。
enigma 系统将要用新系统 ada 保护其流量。
in.iked 守护进程正在这两个系统上运行。
在这两个系统的 /etc/hosts 文件中,均会将这些系统的接口作为项列出。以下项是一个示例。
192.168.15.7 ada 192.168.116.16 enigma |
此过程也适用于 /etc/inet/ipnodes 文件中的 IPv6 地址。 从 Solaris 10 6/07 发行版开始,IPv6 项会放置在 /etc/hosts 文件中。
已经在这两个系统上将新的策略项添加到 /etc/inet/ipsecinit.conf 文件。这些项的显示与以下信息类似:
# ipsecinit.conf file for enigma {laddr enigma raddr ada} ipsec {auth_algs any encr_algs any sa shared} |
# ipsecinit.conf file for ada {laddr ada raddr enigma} ipsec {auth_algs any encr_algs any sa shared} |
在当前发行版中,您已经使用以下命令在两个系统中检验了 /etc/inet/ipsecinit.conf 文件的语法。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
在系统控制台上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。
在此系统中,生成随机数,并构造一个 64 位到 448 位的密钥。
有关详细信息,请参见如何在 Solaris 系统上生成随机数。如果要为 Solaris 系统生成预先共享的密钥,而且此系统与需要 ASCII 的操作系统通信,请参见示例 23–1。
以某种方法将密钥发送给远程系统的管理员。
需要同时添加相同的预先共享密钥。密钥的安全性仅与传输机制的安全性相同。带外机制(如已注册的邮件或受保护的传真机)是最佳的。您也可以使用 ssh 会话管理这两个系统。
为 IKE 创建一个规则以管理 enigma 和 ada 的密钥。
在 enigma 系统上,将以下规则添加到 /etc/inet/ike/config 文件:
### ike/config file on enigma, 192.168.116.16 ## The rule to communicate with ada {label "enigma-to-ada" local_addr 192.168.116.16 remote_addr 192.168.15.7 p1_xform {auth_method preshared oakley_group 5 auth_alg sha1 encr_alg blowfish} p2_pfs 5 } |
在 ada 系统上,添加以下规则:
### ike/config file on ada, 192.168.15.7 ## The rule to communicate with enigma {label "ada-to-enigma" local_addr 192.168.15.7 remote_addr 192.168.116.16 p1_xform {auth_method preshared oakley_group 5 auth_alg sha1 encr_alg blowfish} p2_pfs 5 } |
确保 IKE 预先共享密钥在重新引导时是可用的。
在 enigma 系统上,将以下信息添加到 /etc/inet/secret/ike.preshared 文件:
# ike.preshared on enigma for the ada interface # { localidtype IP localid 192.168.116.16 remoteidtype IP remoteid 192.168.15.7 # enigma and ada's shared key in hex (32 - 448 bits required) key 8d1fb4ee500e2bea071deb2e781cb48374411af5a9671714672bb1749ad9364d } |
在 ada 系统上,将以下信息添加到 ike.preshared 文件:
# ike.preshared on ada for the enigma interface # { localidtype IP localid 192.168.15.7 remoteidtype IP remoteid 192.168.116.16 # ada and enigma's shared key in hex (32 - 448 bits required) key 8d1fb4ee500e2bea071deb2e781cb48374411af5a9671714672bb1749ad9364d } |
在每个系统上,重新启动 IPsec 策略服务以保证所添加的接口的安全。
# svcadm restart policy |
在每个系统上,刷新 ike 服务。
# svcadm refresh ike |
检验系统是否可以进行通信。
在以下示例中,管理员要将预先共享密钥添加到运行的不是当前 Solaris 发行版的 Solaris 系统。管理员遵循前面的过程来修改 ike/config 和 ike.preshared 文件,然后生成密钥并联系远程系统。管理员使用不同的命令将新的 IPsec 策略和 IKE 规则读入内核。
在生成新密钥之前,管理员将 in.iked 守护进程的权限级别设置为 2。
# pkill in.iked # /usr/lib/inet/in.iked -p 2 Setting privilege level to 2 |
将密钥发送给另一个系统并将新密钥添加到系统后,管理员降低了权限级别。
# ikeadm set priv base |
然后,管理员将新的 IPsec 策略读入内核。
# ipsecconf -a /etc/inet/ipsecinit.conf |
最后,管理员将新的 IKE 规则读入内核。
# ikeadm read rules |