IPsec と IKE の管理

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

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


    注 –

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


  2. ikecert certlocal -ks コマンドを使用して、自己署名付き証明書を ike.privatekeys データベースに追加します。


    # ikecert certlocal -ks -m keysize -t keytype \
    -D dname -A altname[ ... ] [-f output]
    

    -ks

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

    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 (共通名)。有効なタグは、COOUCN

    altname

    証明書の代替名。altname の形式は tag=value でなければならない。有効なタグは、IPDNSEMAILURIDNRID

    output

    エンコーディング出力の形式。指定できる値は pem (PEM Base64) と ber (ASN.1 BER)。-f を指定しないと、 pem が使用される

    たとえば、次のように指定します。


    # ikecert certlocal -ks -m 1024 -t rsa-md5 \
    > -D "C=US, O=ExampleCompany, OU=US-Example, CN=Example" \
    > -A IP=192.168.116.16
    Generating, please wait...
    Certificate: 
    Certificate generated.
    Certificate added to database.
    -----BEGIN X509 CERTIFICATE-----
    MIICLTCCAZagAwIBAgIBATANBgkqhkiG9w0BAQQFADBNMQswCQYDVQQGEwJVUzEX
    …
    6sKTxpg4GP3GkQGcd0r1rhW/3yaWBkDwOdFCqEUyffzU
    -----END X509 CERTIFICATE-----
  3. その証明書を、通信するシステムの管理者に送信します。

    その証明書は、次のようにして電子メールにカット&ペーストできます。


    To: root@us.example.com
    From: root@un.example.com
    Message: -----BEGIN X509 CERTIFICATE-----
    MIICLTCCAZagAwIBAgIBATANBgkqhkiG9w0BAQQFADBNMQswCQYDVQQGEwJVUzEX
    …
    6sKTxpg4GP3GkQGcd0r1rhW/3yaWBkDwOdFCqEUyffzU
    -----END X509 CERTIFICATE-----
  4. 送信側のシステムで、/etc/inet/ike/config ファイルを編集して、通信するシステムからの公開鍵を認識します。たとえば、次のように指定します。


    # Explicitly trust the following self-signed certs
    # Use the Subject Alternate Name to identify the cert
    
    cert_trust "192.168.116.16"
    cert_trust "192.168.13.213"
    
    ## 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 "UN-Example to US-Example"
     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.116.16
     remote_addr 192.168.13.213
    
     p1_xform
      { auth_method rsa_encrypt oakley_group 2 auth_alg md5 encr_alg 3des }
    }
  5. 次の手順を実行して、通信するシステムの公開鍵を追加します。

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

    2. 次のように ikecert certdb -a コマンドと <Return> を入力します。

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


      # ikecert certdb -a <Return キーを押す>
      
    3. 公開鍵を貼り付けます。次に <Return> を入力します。


      -----BEGIN X509 CERTIFICATE-----
      MIICL…
      …
      KgDid/nxWPlWQU5vMAiwJXfa0sw/A12w448JVkVmEWaf
      -----END X509 CERTIFICATE-----<Return キーを押す>
      
    4. <Control-D> を入力して入力を終了します。


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

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

    1. たとえば、enigmaikecert certdb -l コマンドを実行します。


      enigma # ikecert certdb -l
              Certificate Slot Name: 0   Type: if-modn
              Subject Name: <C=US, O=ExampleCo, OU=UN-Example, CN=Example>
              Key Size: 1024
              Public key hash: 2239A6A127F88EE0CB40F7C24A65B818
    2. partymikecert certlocal -l コマンドを実行します。


      partym # ikecert certlocal -l
      Local ID Slot Name: 1   Type: if-modn
              Key Size: 1024
              Public key hash: 2239A6A127F88EE0CB40F7C24A65B818

    注 –

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