假设此过程具有以下设置:
两个系统的名称为 enigma 和 partym。
每个系统都有两个地址,一个 IPv4 地址和一个 IPv6 地址。
每个系统都需要采用 AES 算法的 ESP 加密(此算法需要 128 位的密钥)和采用 SHA1 消息摘要的 ESP 验证(此消息摘要需要 160 位的密钥)。
每个系统都使用共享安全关联。
如果使用共享 SA,则仅需要一对 SA 来保护两个系统。
必须位于全局区域中才能为系统或共享 IP 区域配置 IPsec 策略。对于专用 IP 区域,请在非全局区域中配置 IPsec 策略。
在系统控制台上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
远程登录会使安全关键型通信易于遭到窃听。即使以某种方式保护远程登录,系统的安全性也会降至远程登录会话的安全性。请使用 ssh 命令进行安全的远程登录。有关示例,请参见示例 20–1。
在当前发行版中,将主机项添加到 /etc/inet/hosts 文件。
在运行 Solaris 10 7/07 之前的发行版的系统上,将 IPv4 和 IPv6 项添加到 /etc/inet/ipnodes 文件中。一个系统的项在文件中必须是连续的。有关系统配置文件的更多信息,请参见TCP/IP 配置文件和第 11 章。
如果您仅连接具有 IPv4 地址的系统,则需要修改 /etc/inet/hosts 文件。在此示例中,连接的系统运行的是早期的 Solaris 发行版并且使用的是 IPv6 地址。
该文件名为 /etc/inet/ipsecinit.conf。有关示例,请参见 /etc/inet/ipsecinit.sample 文件。
将 IPsec 策略项添加到 ipsecinit.conf 文件。
在 enigma 系统上添加以下策略:
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
在 partym 系统上添加相同的策略:
{laddr partym raddr enigma} ipsec {encr_algs aes encr_auth_algs sha1 sa shared} |
有关 IPsec 策略项的语法,请参见 ipsecconf(1M) 手册页。
您可以配置 Internet 密钥交换 (Internet Key Exchange, IKE) 来自动创建 SA,也可以手动添加 SA。
您应该使用 IKE,除非您有充分的理由手动生成和维护密钥。IKE 密钥管理比手动密钥管理更为安全。
按照配置 IKE(任务列表)中的配置过程之一来配置 IKE。有关 IKE 配置文件的语法,请参见 ike.config(4) 手册页。
要手动添加 SA,请参见如何手动创建 IPsec 安全关联。
启用 IPsec 策略。
如果您运行的是 Solaris 10 4/09 发行版之前的发行版,请重新引导系统。
# init 6 |
然后,转至如何检验包是否受 IPsec 保护。
从 Solaris 10 4/09 发行版开始,请刷新 IPsec 服务并启用密钥管理服务。
# ipsecconf -c -f /etc/inet/ipsecinit.conf |
修复任何错误、检验文件的语法,然后继续。
# svcadm refresh svc:/network/ipsec/policy:default |
IPsec 策略缺省情况下处于启用状态,因此要对其进行刷新。如果您已禁用了 IPsec 策略,请将其启用。
# svcadm enable svc:/network/ipsec/policy:default |
激活 IPsec 的密钥。
验证是否对包进行了保护。
有关过程,请参见如何检验包是否受 IPsec 保护。
在此示例中,管理员作为超级用户通过使用 ssh 命令访问第二个系统,在两个系统上配置 IPsc 策略和密钥。有关更多信息,请参见 ssh(1) 手册页。
接着,在不同的终端窗口中,管理员使用 ssh 命令登录到第二个系统。
local-system # ssh other-system other-system # |
然后,管理员结束 ssh 会话。
other-system # exit local-system # |
最后,管理员通过完成步骤 6 在第一个系统上启用 IPsec 策略。
下次这两个系统进行通信(包括使用 ssh 连接)时,此通信将会受 IPsec 保护。
以下示例适用于运行 Solaris 10 4/09 发行版之前的发行版的情况。即,在您的发行版中,不将 IPsec 作为服务来管理。此示例介绍了如何在测试环境中实现 IPsec。在生产环境中,重新引导比运行 ipsecconf 命令更为安全。有关安全注意事项,请参见此示例的结尾。
选择以下选项之一,而不是在步骤 6 进行重新引导:
如果您已使用 IKE 创建加密材料,请停止 in.iked 守护进程,然后重新启动它。
# pkill in.iked # /usr/lib/inet/in.iked |
如果您手动添加了密钥,请使用 ipseckey 命令将 SA 添加到数据库中。
# ipseckey -c -f /etc/inet/secret/ipseckeys |
然后使用 ipsecconf 命令激活 IPsec 策略。
# ipsecconf -a /etc/inet/ipsecinit.conf |
安全注意事项-请在执行 ipsecconf 命令时阅读警告。已锁定的套接字(即已使用的套接字)提供了通向系统的不安全的后门。有关更广泛的讨论,请参见ipsecinit.conf 和 ipsecconf 的安全注意事项。