开始之前
您必须成为分配有 "Network IPsec Management"(网络 IPsec 管理)权限配置文件的管理员。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
如果执行远程管理,请参见Example 7–1 和在 Oracle Solaris 11.2 中管理安全 Shell 访问 中的如何使用安全 Shell 远程管理 ZFS,了解进行安全远程登录的说明。
有关该命令参数的说明,请参见如何使用自签名公钥证书配置 IKEv1 中的Step 1。
# ikecert certlocal -kc -m keysize -t keytype \ -D dname -A altname
# ikecert certlocal -kc -m 2048 -t rsa-sha384 \ > -D "C=US, O=PartyCompany\, Inc., OU=US-Partym, CN=Partym" \ > -A "DN=C=US, O=PartyCompany\, Inc., OU=US-Partym" Creating software private keys. Writing private key to file /etc/inet/secret/ike.privatekeys/2. Enabling external key providers - done. Certificate Request: Proceeding with the signing operation. Certificate request generated successfully (…/publickeys/0) Finished successfully. -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w … lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X -----END CERTIFICATE REQUEST-----
# ikecert certlocal -kc -m 2048 -t rsa-sha384 \ > -D "C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax, CN=Enigmax" \ > -A "DN=C=JA, O=EnigmaCo\, Inc., OU=JA-Enigmax" Creating software private keys. … Finished successfully. -----BEGIN CERTIFICATE REQUEST----- MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu … 8qlqdjaStLGfhDOO -----END CERTIFICATE REQUEST-----
CA 可能会告诉您如何提交 CSR。大多数组织具有包含提交表单的 Web 站点。该表单要求证明提交是合法的。通常,您需要将 CSR 粘贴到表单中。组织检查您的请求后,将向您颁发已签名证书。有关更多信息,请参见在 IKE 中使用公钥证书。
ikecert certdb -a 的 –a 选项将已粘贴的对象添加到系统上的适当证书数据库。有关更多信息,请参见IKE,使用公钥证书。
有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。如果执行远程管理,请参见Example 7–1 和在 Oracle Solaris 11.2 中管理安全 Shell 访问 中的如何使用安全 Shell 远程管理 ZFS,了解进行安全远程登录的说明。
# ikecert certdb -a < /tmp/PKIcert.eml
您可能还需要添加中间证书。
# ikecert certdb -a < /tmp/PKIca.eml
# ikecert certrldb -a Press the Return key Paste the CRL -----BEGIN CRL----- … -----END CRL---- Press the Return key Press Control-D
使用 CA 证书的标识名 (Distinguished Name, DN)。
# Trusted root cert # This certificate is from Example CA # This is the X.509 distinguished name for the CA's cert cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example, CN=Example CA" ## Parameters that may also show up in rules. p1_xform { auth_method rsa_sig oakley_group 1 auth_alg sha384 encr_alg aes} p2_pfs 2 { label "US-partym to JA-enigma - Example CA" local_id_type dn local_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" remote_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax" local_addr 192.168.13.213 remote_addr 192.168.116.16 p1_xform {auth_method rsa_sig oakley_group 2 auth_alg sha256 encr_alg aes} }
具体而言,enigma ike/config 文件必须执行以下操作:
包括相同的 cert_root 值。
对于本地参数,使用 enigma 值。
对于远程参数,使用 partym 值。
为 label 关键字创建唯一值。此值必须与远程系统的 label 值不同。
… cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example, CN=Example CA" … { label "JA-enigma to US-partym - Example CA" local_id_type dn local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax" remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" local_addr 192.168.116.16 remote_addr 192.168.13.213 …
选择适当的选项:
如果公钥证书提供一个访问 OCSP 服务器的 URI,但您的系统无法连接到 Internet,请将关键字 ignore_ocsp 添加到 ike/config 文件。
# Trusted root cert … cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example,… ignore_ocsp …
ignore_ocsp 关键字会要求 IKEv1 假设此证书有效。
如果 CA 没有提供可靠的 CRL 来源,或者您的系统无法连接到 Internet 检索 CRL,请将关键字 ignore_crls 添加到 ike/config 文件。
# Trusted root cert … cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example,… ignore_crls …
如果 CA 为已撤销证书提供了中心分发点,则可以修改 ike/config 文件以使用 URI。
有关示例,请参见如何在 IKEv1 中处理已撤销的证书。
在 ike/config 文件中使用 auth_method rsa_encrypt 时,必须将对等方系统的证书添加到 publickeys 数据库。
将证书发送给远程系统的管理员。
可以将证书粘贴到电子邮件中。
例如,partym 管理员可以发送以下消息:
To: admin@enigma.ja.example.com From: admin@party.us.example.com Message: -----BEGIN X509 CERTIFICATE----- MII… ----END X509 CERTIFICATE-----
enigma 管理员可以发送以下消息:
To: admin@party.us.example.com From: admin@enigma.ja.example.com Message: -----BEGIN X509 CERTIFICATE----- MII … -----END X509 CERTIFICATE-----
在每个系统上,将通过电子邮件发送的证书添加到本地 publickeys 数据库。
# ikecert certdb -a < /tmp/saved.cert.eml
RSA 加密的验证方法可防止窃听者知道 IKE 中的标识。由于 rsa_encrypt 方法会隐藏对等方的身份,这导致 IKEv1 无法检索对等方的证书。因此,rsa_encrypt 方法要求 IKEv1 对等方知道彼此的公钥。
所以,在 /etc/inet/ike/config 文件中使用 rsa_encrypt 的 auth_method 时,必须将对等方的证书添加到 publickeys 数据库。添加证书后,publickeys 数据库至少包含每对通信系统的三个证书:
您的公钥证书
CA 的证书链
对等方的公钥证书
故障排除-IKEv1 有效负荷(至少包括三个证书)可能变得过大而无法由 rsa_encrypt 加密。诸如 "authorization failed"(授权失败)和 "malformed payload"(有效负荷格式错误)之类的错误,可以指明 rsa_encrypt 方法无法对总有效负荷进行加密。使用仅需要两个证书的方法(如 rsa_sig)来减小有效负荷的大小。
接下来的步骤
如果建立 IPsec 策略未完成,请返回到 IPsec 过程以启用或刷新 IPsec 策略。有关保护 VPN 的 IPsec 策略的示例,请参见使用 IPsec 保护 VPN。有关 IPsec 策略的其他示例,请参见如何使用 IPsec 保护两台服务器之间的网络通信。