Sun N1 Grid Engine 6.1 インストールガイド

第 4 章 拡張セキュリティー機能のインストール

システムの設定をより安全に行いたい場合は、この章の手順に従ってください。次で、Certificate Security Protocol (CSP) ベースの暗号化を利用してシステムを設定する場合に役立つ情報を提供します。

拡張セキュリティー機能をインストールする利点

このセキュリティー保護されたシステムのメッセージは、クリアテキストではなく、秘密鍵で暗号化された状態で転送されます。秘密鍵は、公開/非公開鍵プロトコルで交換されます。ユーザーは、Grid Engine システム経由で証明書を提示することにより、自身の身分を証明します。また、ユーザーは、自身が正しいシステムと通信していることを確認する証明書を受け取ります。この最初の通知段階を経て、通信は暗号化形式で透過的に続行されます。セッションには有効期限が設けられており、期限を超過したセッションは再通知する必要があります。

必要な追加設定

Certificate Security Protocol 拡張版の Grid Engine システムの設定手順も、標準の設定手順とほぼ同じです。通常は、「インストールの計画」「配布ファイルをワークステーションに読み込む方法」「マスターホストをインストールする方法」「実行ホストをインストールする方法」、および 「管理ホストの登録」の手順に従って作業を行います。

ただし、次の追加作業が必要です。

ProcedureCSP のセキュリティー保護されたシステムをインストールする方法

「インストールの実行」の手順に従って Grid Engine ソフトウェアをインストールします。ただし、複数のインストールスクリプトを呼び出すときは -csp フラグを追加してください。

  1. CSP のセキュリティー保護されたシステムをインストールするには、次のコマンドを入力し、インストールスクリプトからのプロンプトに応答して、マスターホストのインストール手順を変更します。


    # ./install_qmaster -csp
    
  2. CSP 証明書および鍵を生成するには、次の情報を入力する必要があります。

    • 2 文字の国コード (例: US = アメリカ合衆国)

    • 州名

    • 場所 (都市名など)

    • 組織名

    • 組織単位

    • CA 電子メールアドレス

    認証局 (CA) は、インストールの途中で作成されます。マスターホスト上に、Grid Engine システム固有の CA が作成されます。セキュリティー関連の情報は、次のディレクトリに格納されます。

    • sge-root/cell/common/sgeCA ディレクトリ。共通にアクセス可能な CA およびデーモン証明書が格納されます。

    • /var/sgeCA/ {sge_service | port SGE_QMASTER_PORT}/cell/private ディレクトリ。対応する非公開鍵が格納されます。

    • /var/sgeCA/{sge_service | portSGE_QMASTER_PORT}/ cell/userkeys/$USER ディレクトリ。ユーザー鍵および証明書が格納されます。

  3. スクリプトにより、サイト情報を求めるプロンプトが表示されます。

  4. 入力した情報に間違いがないことを確認します。

  5. マスターホスト sge_qmaster のセキュリティー関連の設定が完了した段階で、スクリプトにより、インストール手順の続きを実行するかどうか確認するメッセージが表示されます。次の例を参照してください。


    SGE startup script
    --------------------
    
    Your system wide SGE startup script is installed as:
    
         "/scratch2/eddy/sge_sec/default/common/sgemaster"
    
    
    Hit Return to continue >>
  6. 共有ファイルシステムが安全で、CSP セキュリティー情報を格納しても問題がないかどうかを確認します。

    • 共有ファイルシステムが安全であると判断した場合は、「実行ホストをインストールする方法」の説明に従って基本インストール手順を続行します。


      注 –

      実行ホストをインストールするために ./install_execd スクリプトを呼び出す場合、-csp フラグを忘れずに追加してください。


      root ユーザーが、Grid Engine ソフトウェアをインストールするすべてのマシン上の sge-root ディレクトリに対して書き込み権を持っていない場合は、このディレクトリの所有者としてソフトウェアをインストールするかどうかを確認するメッセージが表示されます。yes と応答した場合は、次の例のように、セキュリティー関連のファイルをそのユーザーの $HOME/.sge ディレクトリにインストールする必要があります。次の例では、インストールディレクトリの所有者は sgeadmin です。


      % su - sgeadmin
      % source sge-root/default/common/settings.csh
      % sge-root/util/sgeCA/sge_ca -copy
      % logout

      残りのインストール手順が完了したら、「ユーザー用の証明書および非公開鍵を生成する方法」の手順を参照してください。

    • 共有ファイルの安全性に問題があり、実行デーモンからアクセスできる場所に CSP セキュリティー情報を格納すると危険であると判断した場合は、デーモンの非公開鍵およびランダムファイルを含むディレクトリを実行ホストに転送する必要があります。

      1. 非公開鍵を実行ホストとして設定するマシンへコピーする準備作業を行います。マスターホスト上の root ユーザーとして、次のコマンドを実行してください。


        # umask 077
        # cd /
        # tar cvpf /var/sgeCA/port536.tar /var/sgeCA/port536/default
        
      2. ファイルを安全にコピーします。各実行ホスト上の root ユーザーとして、次のコマンドを実行してください。


        # umask 077
        # cd /
        # scp masterhost:/var/sgeCA/port536.tar . 
        # umask 022
        # tar xvpf /port536.tar
        # rm /port536.tar
        

        注 –

        Windows 実行ホストでは、tar ユーティリティーで所有権とアクセス権を復元できません。その場合は、Administrator が手動で所有権とアクセス権を設定する必要があります。


      3. 次のコマンドを実行して、ファイルアクセス権を確認します。


        # ls -lR /var/sgeCA/port536/
        

        次に、このコマンドの出力例を示します。


        /var/sgeCA/port536/:
        total 2
        drwxr-xr-x   4 eddy     other        512 Mar  6 10:52 default
        /var/sgeCA/port536/default:
        total 4
        drwx------   2 eddy     staff        512 Mar  6 10:53 private
        drwxr-xr-x   4 eddy     staff        512 Mar  6 10:54 userkeys
        /var/sgeCA/port536/default/private:
        total 8
        -rw-------   1 eddy     staff        887 Mar  6 10:53 cakey.pem
        -rw-------   1 eddy     staff        887 Mar  6 10:53 key.pem
        -rw-------   1 eddy     staff       1024 Mar  6 10:54 rand.seed
        -rw-------   1 eddy     staff        761 Mar  6 10:53 req.pem
        /var/sgeCA/port536/default/userkeys:
        total 4
        dr-x------   2 eddy     staff        512 Mar  6 10:54 eddy
        dr-x------   2 root     staff        512 Mar  6 10:54 root
        /var/sgeCA/port536/default/userkeys/eddy:
        total 16
        -r--------   1 eddy     staff       3811 Mar  6 10:54 cert.pem
        -r--------   1 eddy     staff        887 Mar  6 10:54 key.pem
        -r--------   1 eddy     staff       2048 Mar  6 10:54 rand.seed
        -r--------   1 eddy     staff        769 Mar  6 10:54 req.pem
        /var/sgeCA/port536/default/userkeys/root:
        total 16
        -r--------   1 root     staff       3805 Mar  6 10:54 cert.pem
        -r--------   1 root     staff        887 Mar  6 10:54 key.pem
        -r--------   1 root     staff       2048 Mar  6 10:53 rand.seed
        -r--------   1 root     staff        769 Mar  6 10:54 req.pem
      4. 管理ユーザーの $HOME/.sge ディレクトリにセキュリティー関連のファイルをインストールします。

        root ユーザーが、Grid Engine ソフトウェアをインストールするすべてのマシン上の sge-root ディレクトリに対して書き込み権を持っていない場合は、このディレクトリの所有者としてソフトウェアをインストールするかどうかを確認するメッセージが表示されます。yes と応答した場合は、次の例のように、セキュリティー関連のファイルをそのユーザーの $HOME/.sge ディレクトリにインストールする必要があります。次の例では、インストールディレクトリの所有者は sgeadmin です。


        % su - sgeadmin
        % source sge-root/default/common/settings.csh
        % sge-root/util/sgeCA/sge_ca -copy
        % logout
      5. 次のコマンドを入力して、実行ホスト上で Grid Engine ソフトウェアのインストールを続行します。


        注 –

        マスターホストを使用してジョブを実行することもできます。そうする場合は、マスターマシンに実行ホストをインストールする必要があります。ただし、マスターホストに指定するマシンの処理速度が非常に遅い場合や、クラスタのサイズがかなり大きい場合は、マスターホストを実行ホストとして使用してはいけません。



        # cd sge-root
        # ./install_execd -csp
        
      6. インストールスクリプトからのプロンプトに応答します。

        実行ホストインストール手順により、sge_execd が使用する適切なディレクトリ階層が作成され、実行ホスト上で sge_execd デーモンが起動します。

      7. Grid Engine ソフトウェアで使用する環境変数を作成します。


        注 –

        インストール時にセル名が指定されていない場合、cell の値は default になります。


        • C シェルを使用している場合、次のコマンドを入力します。


          % source sge_root/cell/common/settings.csh
          
        • Bourne シェルまたは Korn シェルを使用している場合、次のコマンドを入力します。


          $ . sge_root/cell/common/settings.sh
          
  7. 次のタスク、「ユーザー用の証明書および非公開鍵を生成する方法」に進みます。

Procedureユーザー用の証明書および非公開鍵を生成する方法

CSP のセキュリティー保護されたシステムを使用する場合、ユーザーは、固有の証明書および非公開鍵にアクセスできなければいけません。一番便利なアクセス方法は、ユーザーを識別するテキストファイルを作成する方法です。

  1. マスターホスト上で、ユーザーを識別するテキストファイルを作成し、保存します。

    次の例の myusers.txt ファイルの形式を使用してください。ファイルのフィールドは UNIX_username:Gecos_field:email_address になります。


    eddy:Eddy Smith:eddy@my.org
    sarah:Sarah Miller:sarah@my.org
    leo:Leo Lion:leo@my.org
  2. マスターホスト上の root として、次のコマンドを入力します。


    # sge-root/util/sgeCA/sge_ca -usercert myusers.txt
    
  3. 次のコマンドを入力して、ディレクトリの内容を確認します。


    # ls -l /var/sgeCA/port536/default/userkeys
    

    次のような結果が出力されます。


    dr-x------  2 eddy  staff       512 Mar  5 16:13 eddy
    dr-x------  2 sarah staff        512 Mar  5 16:13 sarah
    dr-x------  2 leo   staff        512 Mar 5 16:13 leo
  4. ファイル (この例では myusers.txt) 内に記載されている各ユーザーに、セキュリティー関連のファイルを $HOME/.sge ディレクトリにインストールするように指示します。次のコマンドを使用します。


    % source sge-root/default/common/settings.csh
    % sge-root/util/sgeCA/sge_ca -copy
    

    画面に、次の確認情報が表示されます (ユーザー eddy の場合)。


    Certificate and private key for user
    eddy have been installed

    Grid Engine ソフトウェアのインストールでは、常に、対応する SGE_QMASTER_PORT 番号のサブディレクトリがインストールされます。次に、myusers.txt ファイルを使用した場合の例を示します。


    % ls -lR $HOME/.sge
    
    /home/eddy/.sge:
    total 2
    drwxr-xr-x  3 eddy staff        512 Mar  5 16:20 port536
    
    /home/eddy/.sge/port536:
    total 2
    drwxr-xr-x  4 eddy staff        512 Mar  5 16:20 default
    
    /home/eddy/.sge/port536/default:
    total 4
    drwxr-xr-x  2 eddy staff        512 Mar  5 16:20 certs
    drwx------  2 eddy staff        512 Mar 5 16:20 private
    
    /home/eddy/.sge/port536/default/certs:
    total 8
    -r--r--r--  1 eddy staff       3859 Mar  5 16:20 cert.pem
    
    /home/eddy/.sge/port536/default/private:
    total 6
    -r--------  1 eddy staff        887 Mar  5 16:20 key.pem
    -r--------  1 eddy staff       2048 Mar 5 16:20 rand.seed

Procedure証明書を更新する方法

  1. $SGE_ROOT に移動し、root でマスターホストにログインします ($SGE_CELL がデフォルトであると仮定)。


    # tcsh
    # source $SGE_ROOT/default/settings.csh
  2. $SGE_ROOT/util/sgeCA/renew_all_certs.csh を編集し、証明書の有効日数を変更します。


     # CA 証明書の有効期間を延長
      set CADAYS = 365
      # デーモンの証明書の有効期間を延長
      set DAEMONDAYS = 365
      # ユーザーの証明書の有効期間を延長
      set USERDAYS = 365
  3. 変更したスクリプトを実行します。延長期間のデフォルトは、すべてスクリプトを実行した日から 365 日です。


    # util/sgeCA/renew_all_certs.csh
  4. すべてのホストのローカルディレクトリにインストールされている古い証明書を新しいものと置き換えます (/var/sgeCA/... の下。実行デーモンのインストールを参照)。

  5. ユーザーが証明書と鍵を $HOME/.sge にコピーしている場合は、更新した証明書にアクセスするために $SGE_ROOT/util/sgeCA/sge_ca -copy を繰り返す必要があります。

証明書のチェック

次で、証明書関連のコマンドの実行例を紹介します。arch は現在のシステムアーキテクチャーです (例: sol-sparc64)。目的に応じて、次のコマンドのうち 1 つまたは複数を入力します。

証明書の表示

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -in ~/.sge/port536/default/certs/cert.pem -text

発行者のチェック

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -issuer -in ~/.sge/port536/default/certs/cert.pem -noout

被認証者のチェック

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -subject -in ~/.sge/port536/default/certs/cert.pem 
-noout

証明書の電子メールの表示

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -email -in ~/.sge/default/port536/certs/cert.pem -noout

有効性の表示

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -dates -in ~/.sge/default/port536/certs/cert.pem -noout

フィンガープリントの表示

次のコマンドを 1 行で入力します。コマンドが長すぎるので、このマニュアルでは 2 行に分けていますが、実際には 1 行で入力してください。-in~/.sge の間には空白文字を 1 つ入力します。


% sge-root/utilbin/arch/openssl
x509 -fingerprint -in ~/.sge/port536/default/certs/cert.pem -noout