始める前に
Network IPsec Management 権利プロファイルが割り当てられている管理者になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。
リモートで管理する場合は、セキュアなリモートログイン手順について、使用例 27およびOracle Solaris 11.3 での Secure Shell アクセスの管理 の Secure 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=Example2Co\, Inc., OU=US-Example2m, CN=Example2m" \ > -A "DN=C=US, O=Example2Co\, Inc., OU=US-Example2m" 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=Example1Co\, Inc., OU=JA-Example1x, CN=Example1x" \ > -A "DN=C=JA, O=Example1Co\, Inc., OU=JA-Example1x" 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.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。リモートで管理する場合は、セキュアなリモートログイン手順について、使用例 27およびOracle Solaris 11.3 での Secure Shell アクセスの管理 の Secure 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 の証明書の識別名 (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 14 auth_alg sha384 encr_alg aes} p2_pfs 14 { label "US-host2 to JA-host1 - Example CA" local_id_type dn local_id "C=US, O=Example2Co, OU=US-Example2m, CN=Example2m" remote_id "C=JA, O=Example1Co, OU=JA-Example1x, CN=Example1x" 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} }
特に、host1 ike/config ファイルは次を行う必要があります。
cert_root には同じ値を使用する。
ローカルパラメータには host1 値を使用する。
リモートパラメータには host2 値を使用する。
labelキーワードには一意の値を作成する。この値は、リモートシステムの label 値とは異なる値でなくてはなりません。
... cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example, CN=Example CA" ... { label "JA-host1 to US-host2 - Example CA" local_id_type dn local_id "C=JA, O=Example1Co, OU=JA-Example1x, CN=Example1x" remote_id "C=US, O=Example2Co, OU=US-Example2m, CN=Example2m" local_addr 192.168.116.16 remote_addr 192.168.13.213 ...
適切なオプションを選択します。
公開鍵証明書には OCSP サーバーに到達するための URI が記述されているものの、使用しているシステムがインターネットに接続できない場合は、キーワード ignore_ocsp を ike/config ファイルに追加します。
# Trusted root cert ... cert_root "C=US, O=ExampleCA\, Inc., OU=CA-Example,... ignore_ocsp ...
ignore_ocsp キーワードは、証明書が有効であると仮定するように IKEv1 に伝えます。
CA が CRL の信頼できるソースを提供しない場合、または使用しているシステムがインターネットに接続して 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 データベースに追加する必要があります。
その証明書をリモートシステムの管理者に送信します。
証明書は、電子メールのメッセージに貼り付けることもできます。
たとえば、host2 の管理者が次のメッセージを送信します。
To: admin@host1.ja.example.com From: admin@host2.us.example.com Message: -----BEGIN X509 CERTIFICATE----- MII... ----END X509 CERTIFICATE-----
host1 の管理者が次のメッセージを送信します。
To: admin@host2.us.example.com From: admin@host1.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 ファイルの auth_method に rsa_encrypt を指定する場合には、ピアの証明書を publickeys データベースに追加する必要があります。この結果、publickeys データベースには、通信するシステムペアごとに 3 つ以上の証明書が存在することになります。
ユーザーの公開鍵証明書
CA の証明書チェーン
ピアの公開鍵証明書
トラブルシューティング – IKEv1 ペイロードには 3 つ以上の証明書が含まれており、rsa_encrypt で暗号化するには大きくなりすぎることがあります。「authorization failed (承認に失敗しました)」や「malformed payload (ペイロードが不正です)」などのエラーは、rsa_encrypt メソッドがペイロード全体を暗号化できないことを示します。証明書を 2 つしか必要としない rsa_sig などのメソッドを使用して、ペイロードのサイズを減らします。
次のステップ
IPsec ポリシーの設定がまだ完了していない場合、IPsec の手順に戻って IPsec ポリシーを有効にするかリフレッシュしてください。VPN を保護する IPsec ポリシーの例については、IPsec による VPN の保護を参照してください。IPsec ポリシーのその他の例については、IPsec によって 2 つのサーバー間でネットワークトラフィックをセキュリティー保護する方法を参照してください。