IPsec と IKE の管理

IPsec セキュリティアソシエーションを手動で生成する方法

IPsec セキュリティアソシエーション (SA) は手動でも管理できますが、セキュリティ上の理由からお勧めしません。 2 つのシステム間のトラフィックを保護する方法 に加えて、次の手順を実行します。まず、ipseckey コマンドで SA を作成します。次に、キー情報を ipseckeys ファイルに追加します。

  1. SA のキー情報を生成します。

    16 進のアウトバウンドトラフィックと、同じく 16 進のインバウンドトラフィックには、それぞれ 3 種類の乱数が必要です。つまり、1 台のシステムで次の数値を生成する必要があります。

    • spi キーワードの値として、2 つの 16 進数の乱数。1 つはアウトバウンドトラフィック用。もう 1 つはインバウンドトラフィック用。それぞれの乱数の最大桁数は 8 桁

    • AH の MD5 アルゴリズム用として、2 つの 16 進数の乱数。各乱数は 32 桁でなければならない。1 つは dst enigma 用。もう 1 つは dst partym

    • ESP の 3DES アルゴリズム用として、2 つの 16 進数の乱数。192 ビットキーの場合、各乱数は48 桁でなければならない。1 つは dst enigma 用。もう 1 つは dst partym

    乱数発生関数がすでにある場合は、それを使用してください。ない場合は、od コマンドを使用できます。この手順については、乱数を生成する方法を参照してください。

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


    注 –

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


  3. 次のコマンドを入力して ipseckey コマンドモードを有効にします。


    # ipseckey
    
    >

    > プロンプトは、ipseckey コマンドモードになったことを示します。

  4. 既存の SA を置き換える場合、現在の SA をフラッシュします。


    > flush
    > 

    悪意のあるユーザーによる SA の破壊を防ぐには、キー情報を置き換える必要があります。


    注 –

    管理者は、通信システム上のキーの置き換えを調整する必要があります。あるシステムの SA を置き換える場合は、それと通信しているリモートシステムの SA も置き換える必要があります。


  5. SA を作成するには、次のコマンドを実行します。

    次の構文で、フラッシュした SA を置き換えることもできます。


    > add protocol spi random-hex-string \
    src addr dst addr2 \
    protocol-prefix_alg protocol-algorithm  \
    protocol-prefixkey random-hex-string-of-algorithm-specified-length
    
    random-hex-string

    16 進数形式の最大 8 桁の乱数を指定する。0x が前置される。セキュリティパラメータインデックス (SPI) が受け取る以上の桁数を入力すると、超過部分は無視される。SPI が受け取るより少ない桁数を入力すると、パディングが行われる

    protocol

    esp または ah を指定する

    addr

    システムの IP アドレスを指定する

    addr2

    addr のピアシステムの IP アドレスを指定する

    protocol-prefix

    encr または auth を指定する。encr 接頭辞は esp プロトコルとともに 使用される。auth 接頭辞は ah プロトコルとともに使用される。encr_auth_alg オプションは esp プロトコルとともに使用される

    protocol-algorithm

    ESP または AH のアルゴリズムを指定する。それぞれのアルゴリズムには、特定の長さのキーが必要

    認証アルゴリズムには MD5 と SHA がある。暗号化アルゴリズムには 3DES と AES がある

    random-hex-string-of-algorithm-specified-length

    アルゴリズムによって必要とされる長さをもつ 16 進数の乱数を指定。たとえば、MD5 アルゴリズムでは、128 ビットキーのため 32 桁の乱数が必要。3DES アルゴリズムでは、192 ビットキーのため 48 桁の乱数が必要

    1. たとえば、enigma システムで、次のコマンドを入力してアウトバウンドパケットを保護します。手順 1 で生成した乱数を使用します。


      > add esp spi 0x8bcd1407 \
      src 192.168.116.16 dst 192.168.13.213 \
      encr_alg 3DES \
      encrkey d41fb74470271826a8e7a80d343cc5aae9e2a7f05f13730d
      
      > add ah spi 0x18907dae \
      src 192.168.116.16 dst 192.168.13.213 \
      auth_alg MD5 \
      authkey e896f8df7f78d6cab36c94ccf293f031
      
      >

      注 –

      ピアシステムでは、同じキー情報を使用する必要があります。


    2. 引き続き ipseckey コマンドモードを使って、enigma システムで、次のコマンドを入力してインバウンドパケットを保護します。


      > add esp spi 0x122a43e4 \
      src 192.168.13.213 dst 192.168.116.16 \
      encr_alg 3des \
      encrkey dd325c5c137fb4739a55c9b3a1747baa06359826a5e4358e
      
      > add ah spi 0x91825a77 \
      src 192.168.13.213 dst 192.168.116.16 \
      auth_alg md5 \
      authkey ad9ced7ad5f255c9a8605fba5eb4d2fd
      
      >

      注 –

      これらのキーと SPI は、SA ごとに変更できます。SA ごとに異なるキーと異なる SPI を割り当てるべきです


  6. ipseckey コマンドモードを終了するには、Control-D キーを押すか、quit と入力します。

  7. リブート時に IPsec がキー情報を使用できるように、/etc/inet/secret/ipseckeys ファイルにキー情報を追加します。

    /etc/inet/secret/ipseckeys ファイルの行とコマンド行の言語が同じになるようにします。

    1. たとえば、enigma システム上の /etc/inet/secret/ipseckeys ファイルは次のようになります。


      # ipseckeys - This file takes the file format documented in 
      #   ipseckey(1m).
      #   Note that naming services might not be available when this file
      #   loads, just like ipsecinit.conf.
      #
      # for outbound packets on enigma
      add esp spi 0x8bcd1407 \
         src 192.168.116.16 dst 192.168.13.213  \
         encr_alg 3DES \
         encrkey  d41fb74470271826a8e7a80d343cc5aae9e2a7f05f13730d
      #
      add ah spi  0x18907dae \
         src 192.168.116.16 dst 192.168.13.213 \
         auth_alg MD5  \
         authkey  e896f8df7f78d6cab36c94ccf293f031
      #
      # for inbound packets
      add esp spi 0x122a43e4 \
         src 192.168.13.213 dst 192.168.116.16 \
         encr_alg 3DES \
         encrkey dd325c5c137fb4739a55c9b3a1747baa06359826a5e4358e
      #
      add ah spi  0x91825a77 \
         src 192.168.13.213 dst 192.168.116.16 \
         auth_alg MD5  \
         authkey  ad9ced7ad5f255c9a8605fba5eb4d2fd
    2. 読み取り専用ファイルを保護します。


      # chmod 400 /etc/inet/secret/ipseckeys
      
  8. partym システム上で手順 2 から 手順 7 を繰り返します。enigma システムの場合と同じキー情報を使用します。

    両システムのキー情報は同じでなければなりません。次の例のように、ipseckeys ファイル内のコメントだけが異なります。コメントが異なるのは、dst enigmaenigma システム上ではインバウンド、partym システム上ではアウトバウンドになるからです。


    # partym ipseckeys file
    #
    #for inbound packets
    add esp spi 0x8bcd1407 \
       src 192.168.116.16 dst 192.168.13.213  \
       encr_alg 3DES \
       encrkey  d41fb74470271826a8e7a80d343cc5aae9e2a7f05f13730d
    #
    add ah spi  0x18907dae \
       src 192.168.116.16 dst 192.168.13.213 \
       auth_alg MD5  \
       authkey  e896f8df7f78d6cab36c94ccf293f031
    #
    # for outbound packets
    add esp spi 0x122a43e4 \
       src 192.168.13.213 dst 192.168.116.16 \
       encr_alg 3DES \
       encrkey dd325c5c137fb4739a55c9b3a1747baa06359826a5e4358e
    #
    add ah spi  0x91825a77 \
       src 192.168.13.213 dst 192.168.116.16 \
       auth_alg MD5  \
       authkey  ad9ced7ad5f255c9a8605fba5eb4d2fd