システムコンソールから、スーパーユーザーになるか、同等の役割を引き受けます。
リモートログインすると、セキュリティ上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システム全体のセキュリティがリモートログインセッションレベルに低下します。
ikecert certlocal -kc コマンドを実行して証明書要求を作成します。
このコマンドに対する引数は、 ikecert certlocal -ks コマンドで使用する引数と同じでなければなりません。
# ikecert certlocal -kc -m keysize -t keytype \ -D dname -A altname[ ... ] [-f output] |
-kc |
公開鍵と非公開鍵のペアを作成する。さらに、-kc は、生成された公開鍵に基づいて証明書要求を作成する |
keysize |
キーのサイズ。 keysize は、512、1024、2048、3072、4096 のいずれか |
keytype |
使用するアルゴリズムのタイプ。keytype は、rsa-sha1、rsa-md5、dsa-sha1 のいずれか |
dname |
証明書主体の X.509 識別名。dname の一般的な形式は次のとおり : C = country (国)、O = organization (組織)、OU = organizational unit (組織単位)、CN = common name (共通名)。有効なタグは、C、O、OU、CN |
altname |
証明書の代替名。altname の形式は tag=value でなければならない。有効なタグは、IP、DNS、EMAIL、URI、DN、RID |
output |
エンコーディング出力の形式。指定できる値は pem (PEM Base64) と ber (ASN.1 BER)。-f を指定しないと、 pem が使用される |
たとえば、次のコマンドを実行して証明書要求を作成します。
# ikecert certlocal -kc -m 1024 -t rsa-md5 \ > -D "C=US, O=ExampleCompany\, Inc., OU=US-Example, CN=Example" \ > -A "DN=C=US, O=ExampleCompany\, Inc., OU=US-Example" Generating, please wait... Certificate request generated. -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w … lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X -----END CERTIFICATE REQUEST----- |
この証明書要求を、PKI を処理する機関に送信します。
この機関は、外部の認証局や PKI の場合があります。また、会社によっては PKI を独自に運営する場合もあります。証明書要求の送信方法については PKI に問い合わせてください。ほとんどの機関は、Web サイトに送信フォームを掲載しています。フォームの記入に当たっては、その送信が正当なものであることを証明する必要があります。通常は、証明書要求をフォームに貼り付けます。要求を受け取った機関は、それをチェックしてから 2 つまたは 3 つの証明書オブジェクトを発行します。
公開鍵証明書 – この証明書は機関に送信した要求に基づいて作成される。送信した証明書要求も、公開鍵証明書の一部として含まれる。この証明書によって一意に識別される
認証局 – 機関の署名。CA によって公開鍵証明書が正規のものであることが確認される
証明書無効リスト – 機関が無効にした証明書の最新リスト。CRL へのアクセスが公開鍵証明書に組み込まれている場合には、CRL が別個の証明書オブジェクトとして送信されることはない
CRL の URI が公開鍵証明書に組み込まれている場合には、IKE は CRL を自動的に取り出すことができる。同様に、DN エントリが公開鍵証明書に組み込まれている場合には、IKE は、指定された LDAP サーバーから CRL を自動的に取り出すことができる
公開鍵証明書に URI や DN エントリを組み込んだ例については、証明書無効リストにアクセスする方法を参照
各証明書を 3 つの ikecert コマンドのどれかに対する引数として指定します。
これらのコマンドでは -a オプションを使用します。-a オプションを指定すると、貼り付けたオブジェクトが、システム内の適切な証明書データベースに追加されます。詳細は、公開鍵証明書の使用を参照してください。
システムコンソールから、スーパーユーザーになるか、同等の役割を引き受けます。
次のように ikecert certdb -a コマンドと <Return> を入力します。
# ikecert certdb -a <Return キーを押す> |
機関から受け取った公開鍵証明書を貼り付け、<Return> を入力します。
-----BEGIN X509 CERTIFICATE----- … -----END X509 CERTIFICATE----<Return キーを押す> |
<Control-D> を入力して入力を終了します。
<Control-D> |
次のように ikecert certdb -a コマンドと <Return> を入力します。
# ikecert certdb -a <Return キーを押す> |
機関の CA を貼り付けます。<Return> を入力します。次に <Control-D> を入力して入力を終了します。
-----BEGIN X509 CERTIFICATE----- … -----END X509 CERTIFICATE-----<Return キーを押す> <Control-D> |
機関から CRL オブジェクトを受け取っている場合は、ikecert certrldb –a コマンドと <Return> を入力します。
# ikecert certrldb -a <Return キーを押す> |
機関の CRL を貼り付けます。<Return> を入力します。次に <Control-D> を入力して入力を終了します。
/etc/inet/ike/config ファイルを編集して、機関を認識します。
機関から利用するように通知された名前を使用します。たとえば、次のように指定します。
# Trusted root cert # This certificate is from Example PKI # This is the X.509 distinguished name for the CA that it issues. cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI" ## Parameters that may also show up in rules. p1_xform { auth_method rsa_sig oakley_group 1 auth_alg sha1 encr_alg des } p2_pfs 2 { label "US-Example to UN-Example - Example PKI" local_id_type dn local_id "C=US, O=ExampleCompany, OU=US-Example, CN=Example" remote_id "C=US, O=ExampleCompany, OU=UN-Example, CN=Example" local_addr 192.168.116.16 remote_addr 192.168.13.213 p1_xform { auth_method rsa_encrypt oakley_group 2 auth_alg md5 encr_alg 3des } } |
auth_method のすべての引数は同じ行になければなりません。
PKI 機関から CRL を受け取っていない場合は、キーワード ignore_crls を ike/config ファイルに追加します。
ignore_crls を指定すると、IKE は CRL を検索しません。たとえば、次のように指定します。
# Trusted root cert … cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI" ignore_crls … |
PKI 機関から CRL の一元的なディストリビューションポイントを知らされている場合は、ike/config ファイルを変更してこの場所を指定することができます。
例については、証明書無効リストにアクセスする方法 を参照してください。
この例に従うなら、前に行ったように、“…OU=UN-Example…” システムで ikecert コマンドを実行します。“…OU=UN-Example…” システムの /etc/inet/ike/config ファイルでは、そのローカル情報をローカルパラメータとして使用します。さらに、システムでは、システムの情報をリモートパラメータとして使用します。
たとえば、次のように指定します。
# Trusted root cert # This certificate is from Example PKI cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI" ignore_crls ## Parameters that may also show up in rules. p1_xform { auth_method rsa_sig oakley_group 1 auth_alg sha1 encr_alg des } p2_pfs 2 { label "UN-Example to US-Example - Example PKI" local_id_type dn local_id "C=US, O=ExampleCompany, OU=UN-Example, CN=Example" remote_id "C=US, O=ExampleCompany, OU=US-Example, CN=Example" local_addr 192.168.13.213 remote_addr 192.168.116.16 p1_xform { auth_method rsa_encrypt oakley_group 2 auth_alg md5 encr_alg 3des } } |
auth_method は rsa_encrypt であるため、ピアの証明書を公開鍵データベースに追加します。
以下のサブステップは、/etc/inet/ike/config ファイルの p1_xform で rsa_encrypt 認証方式を使用する場合にのみ必要です。
その証明書を、通信するシステムの管理者に送信します。
その証明書は、次のようにして電子メールにカット&ペーストできます。
To: root@un.example.com From: root@us.example.com Message: -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w … lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X -----END CERTIFICATE REQUEST----- |
システムごとに、ピアの証明書をローカルの公開鍵データベースに追加します。
たとえば、un.example.com システムで次のように入力してから、電子メールの内容を貼り付けます。
# ikecert certdb -a <Type the Return key> -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwUzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFEV4YW1wbGVDb21w … lcM+tw0ThRrfuJX9t/Qa1R/KxRlMA3zckO80mO9X -----END CERTIFICATE REQUEST----- |
RSA 暗号化認証方式を使用すると、IKE の ID が盗聴者から保護されます。rsa_encrypt 方式では ID が隠されるため、IKE はピアを知りません。そのため、ピアの証明書を取り出すことはできません。したがって、その方式では、IKE ピアが互いの公開鍵を認識することが必要になります。よって、/etc/inet/ike/config ファイルの auth_method rsa_encrypt を使用する場合には、ピアの証明書を公開鍵データベースに追加する必要があります。この結果、公開鍵データベースには、通信するシステムペアごとに 3 つの証明書が存在することになります。公開鍵データベースには、公開鍵証明書、CA 証明書、およびピアの証明書が存在します。これに対して CRL データベースには、無効化された証明書が格納されています。
IKE デーモンは、次の処理が完了すると、公開鍵と CA を使って自身を認証します。
各システムの /etc/hosts ファイルに、保護されたインタフェースが追加されている
各システムの /etc/inet/ipsecinit.conf ファイルに、保護されたインタフェースが追加されている
両方のシステムがリブートされている