Solaris のシステム管理 (第 3 巻)

2 つのシステム間のトラフィックの保護

この手順を行う前に、任意のアルゴリズムで AH 保護をすでに呼び出しているものとします。また、セキュリティアソシエーションを共有し (すなわち、2 システムの保護を必要とするのは 1 組の SA だけである)、各システムには IP アドレスが 1 つしかないという前提です。

  1. システムコンソールからスーパーユーザーになります。


    注 -

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


  2. システムごとに、他のシステムのアドレスとホスト名を /etc/hosts ファイルに追加します。次のコマンドを使用します。

    1. システム 1 では次のようになります。


      # echo "system2_addr system2_name" >> /etc/hosts
      
    2. システム 2 では次のようになります。


      # echo "system1_addr system1_name" >> /etc/hosts
      

    これで、起動スクリプトでは、存在しないネーミングサービスに依存するようなことなくシステム名を使用できます。

  3. 各システムごとに、次の行を追加して /etc/inet/ipsecinit.conf ファイルを編集します。

    1. システム 1 では次のようになります。


      {saddr system1_name daddr system2_name} apply {auth_algs any sa shared}
      {saddr system2_name daddr system1_name} permit {auth_algs any}
    2. システム 2 では次のようになります。


      {saddr system2_name daddr system1_name} apply {auth_algs any sa shared}
      {saddr system1_name daddr system2_name} permit {auth_algs any}
  4. 次の操作でセキュリティアソシエーションを追加します。

    1. たとえば MyKeyfile のように、選択したファイル名で、システムごとに読み取り専用 (600 のアクセス権) keyfile を作成し、このファイルに次の行を入力します。


      add ah spi random-number dst system1_name authalg algorithm_name ¥
      	    authkey random-hex-string-of-algorithm-specified-length
      add ah spi random-number dst system2_name authalg algorithm_name ¥
      	    authkey random-hex-string-of-algorithm-specified-length
      
    2. 次のコマンドを入力して、システムごとにセキュリティアソシエーションを有効にします。


      # ipseckey -f keyfile
      
  5. システムごとに次のどれかの操作をします。

    1. 次のコマンドを入力して、ipsecinit.conf ファイルを呼び出します。


      # ipsecconf -a /etc/inet/ipsecinit.conf
      
    2. または両方のシステムをリブートします。

      両方のシステムをリブートする場合、起動スクリプトにまず次のコマンド (手順 4 で使用) を入力します。


      ipseckey -f keyfile
      

      そのためには、次の操作をします。

    3. 次のコマンドを入力して keyfile 名を ipseckey に変更します。


      # cp keyfile /etc/inet/ipseckey
      
    4. 次のコマンドを入力して ipseckey ファイルを読み取り専用にします。


      # chmod 600 /etc/inet/ipseckey
      
    5. 次のコードを組み込んだ起動スクリプト /etc/rc3.d/s99ipsec_setup を作成します。


      if [ -f /etc/inet/ipseckeys -a -f /etc/inet/ipsecinit.conf ]; then
           /usr/sbin/ipseckey -f /etc/inet/ipseckeys
      fi

      以後のリブートでは、起動プロセスの終了前に、/etc/inet/ipseckeys ファイルが読み取られます。キーを変更する場合は、両方のシステムでファイルが変更されていることを確認してください。