IPsec と IKE の管理

自己署名付き公開鍵証明書による IKE の設定方法

  1. システムコンソールから、スーパーユーザーになるか、同等の役割を引き受けます。


    注 –

    リモートログインすると、セキュリティ上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティがリモートログインセッションレベルに低下します。


  2. 自己署名付き証明書を ike.privatekeys データベースに追加します。


    # ikecert certlocal -ks|-kc -m keysize -t keytype \
    -D dname -A altname
    
    -ks

    自己署名付き証明書を作成する

    -kc

    証明書要求を作成する。手順は CA からの署名付き証明書による IKE の設定方法を参照

    keysize

    キーのサイズ。 keysize は、512、1024、2048、3072、4096 のいずれか

    keytype

    使用するアルゴリズムのタイプ。keytypersa-sha1rsa-md5dsa-sha1 のいずれか

    dname

    証明書主体の X.509 識別名。dname の一般的な形式は次のとおり : C = country (国)、O = organization (組織)、OU = organizational unit (組織単位)、CN = common name (共通名)。有効なタグは、COOUCN

    altname

    証明書の代替名。altname の形式は tag=value。有効なタグは、IPDNSEMAILURIDNRID

    1. たとえば、partym システムでは、コマンドは次のようになります。


      # ikecert certlocal -ks -m 1024 -t rsa-md5 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -A IP=192.168.13.213
      Creating software private keys.
        Writing private key to file /etc/inet/secret/ike.privatekeys/0.
      Enabling external key providers - done.
      Acquiring private keys for signing - done.
      Certificate: 
       Proceeding with the signing operation.
       Certificate generated successfully (…/publickeys/0)
      Finished successfully.
      Certificate added to database.
      -----BEGIN X509 CERTIFICATE-----
      MIICLTCCAZagAwIBAgIBATANBgkqhkiG9w0BAQQFADBNMQswCQYDVQQGEwJVUzEX
      …
      6sKTxpg4GP3GkQGcd0r1rhW/3yaWBkDwOdFCqEUyffzU
      -----END X509 CERTIFICATE-----
    2. enigma システムでは、コマンドは次のようになります。


      # ikecert certlocal -ks -m 1024 -t rsa-md5 \
      > -D "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax" \
      > -A IP=192.168.116.16
      Creating software private keys.
        …
      Certificate added to database.
      -----BEGIN X509 CERTIFICATE-----
      MIICKDCCAZGgAwIBAgIBATANBgkqhkiG9w0BAQQFADBJMQswCQYDVQQGEwJVUzEV
      …
      jpxfLM98xyFVyLCbkr3dZ3Tvxvi732BXePKF2A==
      -----END X509 CERTIFICATE-----
  3. 証明書を保存し、リモートシステムに送信します。

    証明書は、電子メールに貼り付けることもできます。

    1. たとえば、次の partym 証明書を enigma の管理者に送信します。


      To: admin@ja.enigmaexample.com
      From: admin@us.partyexample.com
      Message: -----BEGIN X509 CERTIFICATE-----
      MIICLTCCAZagAwIBAgIBATANBgkqhkiG9w0BAQQFADBNMQswCQYDVQQGEwJVUzEX
      …
      6sKTxpg4GP3GkQGcd0r1rhW/3yaWBkDwOdFCqEUyffzU
      -----END X509 CERTIFICATE-----
    2. enigma の管理者は、次の enigma 証明書を送信してきます。


      To: admin@us.partyexample.com
      From: admin@ja.enigmaexample.com
      Message: -----BEGIN X509 CERTIFICATE-----
      MIICKDCCAZGgAwIBAgIBATANBgkqhkiG9w0BAQQFADBJMQswCQYDVQQGEwJVUzEV
      …
      jpxfLM98xyFVyLCbkr3dZ3Tvxvi732BXePKF2A==
      -----END X509 CERTIFICATE-----
  4. システムごとに、証明書が認識されるように /etc/inet/ike/config ファイルを編集します。

    リモートシステムの管理者は、 cert_trustremote_addr、および remote_id パラメータの値を提供します。

    1. たとえば、partym システム上の ike/config ファイルは次のようになります。


      # Explicitly trust the following self-signed certs
      # Use the Subject Alternate Name to identify the cert
      
      cert_trust "192.168.13.213"
      cert_trust "192.168.116.16"
      
      ## Parameters that may also show up in rules.
      
      p1_xform 
        { auth_method preshared oakley_group 5 auth_alg sha encr_alg des }
      p2_pfs 5
      
      {
       label "US-partym to JA-enigmax"
       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_encrypt oakley_group 2 auth_alg md5 encr_alg 3des}
      }
    2. enigma システムで、ike/config ファイルにローカルパラメータの enigma 値を追加します。

      リモートパラメータには、partym 値を使用します。キーワード label の値が一意であることを確認します。この値は、リモートシステムの label 値とは異なる値でなければなりません。


      …
      {
       label "JA-enigmax to US-partym"
       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
      …
  5. システムごとに、受け取った証明書を追加します。

    1. 管理者の電子メールから公開鍵をコピーします。

    2. ikecert certdb –a コマンドを入力後、Return キーを押します。

      Return キーを押してもプロンプトは表示されません。


      # ikecert certdb -a
      Return キーを押す
      
    3. 公開鍵を貼り付けます。続いて Return キーを押します。Control-D キーを押して入力を終了します。


      -----BEGIN X509 CERTIFICATE-----
      MIIC…
      …
      ----END X509 CERTIFICATE-----
      Return キーを押す
      <Control>-D
      
  6. 通信するシステムの管理者と一緒にキーが改ざんされていないことを確認します。

    たとえば、その管理者に電話で連絡して公開鍵ハッシュの値を比較できます。共有の証明書の公開鍵ハッシュは、両システムで同一でなければなりません。

    1. たとえば、partym システムで、格納されている証明書を一覧表示します。


      partym # ikecert certdb -l
      Certificate Slot Name: 0   Type: rsa-md5
          Subject Name: <C=US, O=PartyCompany, OU=US-Partym, CN=Partym>
          Key Size: 1024
          Public key hash: B2BD13FCE95FD27ECE6D2DCD0DE760E2
      
      Certificate Slot Name: 1   Type: rsa-md5
          (Private key in certlocal slot 0)
          Subject Name: <C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax>
          Key Size: 1024
          Public key hash: 2239A6A127F88EE0CB40F7C24A65B818
    2. enigma システムで、格納されている証明書を一覧表示します。


      enigma # ikecert certdb -l
      Certificate Slot Name: 4   Type: rsa-md5
          Subject Name: <C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax>
          Key Size: 1024
          Public key hash: DF3F108F6AC669C88C6BD026B0FCE3A0
      
      Certificate Slot Name: 5   Type: rsa-md5
          (Private key in certlocal slot 4)
          Subject Name: <C=US, O=PartyCompany, OU=US-Partym, CN=Partym>
          Key Size: 1024
          Public key hash: 2239A6A127F88EE0CB40F7C24A65B818

    注 –

    この例の公開鍵ハッシュは、使用しているシステムで生成される公開鍵ハッシュとは異なります。