以下过程提供了 IPsec 密钥,以便在不只使用 IKE 进行密钥管理时使用。
使用 ipseckey 命令添加的 IPsec SA 在系统重新引导后不会保留。对于持久性的 IPsec SA,请将项添加到 /etc/inet/secret/ipseckeys 文件。
注意 - 如果必须使用手动加密,请谨慎操作,以确保生成的密钥安全可靠。这些都是用于保证数据安全的实际密钥。 |
开始之前
必须位于全局区域中才能手动管理共享 IP 区域中的加密材料。对于专用 IP 区域,请在此专用 IP 区域中配置加密材料。
您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
这些密钥必须支持 ipsecinit.conf 文件中的特定策略。例如,可以使用如何使用 IPsec 保护两台服务器之间的网络通信 中的策略:
{laddr enigma raddr partym} ipsec {encr_algs aes encr_auth_algs sha512 sa shared}
此策略使用 AES 和 SHA-2 算法。
您需要生成 aes 的密钥、sha512 的密钥以及 SA 的 security parameter index, SPI(安全参数索引):
两个作为 SPI 值的十六进制随机数。一个数字用于外发通信,一个数字用于传入通信。每个数字的长度最大可以为八个字符。
两个用于 SHA-2 验证算法的十六进制随机数。每个数字的长度都必须为 512 个字符。一个数字用于 dst enigma,另一个数字用于 dst partym。
两个用于 AES 加密算法的十六进制随机数。每个数字的长度都必须为 128 个字符。一个数字用于 dst enigma,另一个数字用于 dst partym。
如果您的站点上有随机数生成器,请使用此生成器。
使用 pktool 命令,如在 Oracle Solaris 11.2 中管理加密和证书 中的如何使用 pktool 命令生成对称密钥和该节中的 IPsec 示例所示。
## ipseckeys - This file takes the file format documented in ## ipseckey(1m). # Note that naming services might not be available when this file # loads, just like ipsecinit.conf. # # Backslashes indicate command continuation. # # for outbound packets on enigma add esp spi 0x8bcd1407 \ src 192.168.116.16 dst 192.168.13.213 \ encr_alg aes \ auth_alg sha512 \ encrkey d41fb74470271826a8e7a80d343cc5aa... \ authkey e896f8df7f78d6cab36c94ccf293f031... # # for inbound packets add esp spi 0x122a43e4 \ src 192.168.13.213 dst 192.168.116.16 \ encr_alg aes \ auth_alg sha512 \ encrkey dd325c5c137fb4739a55c9b3a1747baa... \ authkey ad9ced7ad5f255c9a8605fba5eb4d2fd...
# chmod 400 /etc/inet/secret/ipseckeys
如果使用 pfedit -s 命令创建了 ipseckeys 文件,则权限设置正确。有关更多信息,请参见 pfedit(1M) 手册页。
# ipseckey -c /etc/inet/secret/ipseckeys
% svcs manual-key STATE STIME FMRI disabled Apr_10 svc:/network/ipsec/manual-key:default # svcadm enable ipsec/manual-key
# svcadm refresh ipsec/manual-key
接下来的步骤
如果建立 IPsec 策略未完成,请返回到 IPsec 过程以启用或刷新 IPsec 策略。有关保护 VPN 的 IPsec 策略的示例,请参见使用 IPsec 保护 VPN。有关 IPsec 策略的其他示例,请参见如何使用 IPsec 保护两台服务器之间的网络通信。