N1 Grid Service Provisioning System 5.0 インストールガイド

SSH の概要と使用条件

SSH は、リモートコンピュータに安全にアクセスするための UNIX ベースのコマンド群/プロトコルです。SSH は、電子証明書とパスワードの暗号化を利用して、接続の両端で認証を行うことにより、ネットワーク上のクライアントとサーバーの通信を保護します。また、RSA 公開鍵暗号を使用して接続と認証を管理します。SSH は、Telnet やほかのシェルベース通信方式よりも安全性が高く、Web サーバーなどのリモートサーバーの管理に使用されます。

ほかの接続タイプと異なり、2 つの N1 Grid Service Provisioning System 5.0 アプリケーション間に SSH 接続を設定した場合、ダウンストリームのアプリケーションは手動で起動する必要がありません。ダウンストリームのアプリケーションは、必要な場合にアップストリームのアプリケーションによって自動的に起動されます。ダウンストリームのアプリケーションは、使用されている間は継続して動作しますが、一定の時間 (この時間は設定可能) 使用されないと自動的に停止します。

SSH 接続では、ダウンストリームのアプリケーションの手動起動は行わないでください。たとえば、SSH を使用して Remote Agent に接続するように Local Distributor を設定した場合、Remote Agent を手動では起動しないでください。Local Distributor は、必要時に Remote Agent を自動的に起動します。Remote Agent は、使用されている間は継続して作動します。Remote Agent が一定時間使用されなかった場合、Local Distributor は自動的に Remote Agent を停止します。

ssh-agent または空のパスワード鍵

SSH は構成時に、ssh-agent を使用するか、空のパスワード鍵を使用するかを選択できます。空のパスワード鍵を使用すると、生成された SSH 非公開鍵は空のパスワード付きで格納されます。この結果、この非公開鍵はパスワードなしでアクセスできます。公開鍵を信頼するほかのマシンとの通信に SSH を使用する場合、パスワードの入力は求められません。ssh-agent を使用する場合は、生成される非公開鍵はセキュリティ保護されたパスワードと共に格納され、安全なメディアに格納されます。ほかのマシンと通信を行うときは、ssh-agent を起動し、安全なメディアから非公開鍵をアップロードし、パスワードを入力します。非公開鍵はファイルシステムには格納されず、ssh-agent プロセスのメモリー内に格納されます。

ssh-agent を使用する場合、非公開鍵は Master Server 上でしか実行されない ssh-agent によって格納されます。ネットワーク上のほかのマシンには公開鍵が配布されます。認証が必要な SSH アプリケーションは、ssh-agent を使用して認証を行います。認証のために Master Server で実行されている ssh-agent に対して Local Distributor からプロキシ設定が行えるように中間的な SSH 接続を確立するには、ssh-agent の転送機能を有効にする必要があります。Local Distributor は、ssh-agent の転送機能を使用してダウンストリームの Local Distributor と Remote Agent に認証情報を渡します。この方法は、前述の方法よりも安全です。また、N1 Grid Service Provisioning System 5.0 で ssh-agent を使用するように構成した方が、空のパスワードを設定するよりも簡単です。

空のパスワードを使用すると、非公開鍵はパスワードなしでマシンのファイルシステム上に格納されます。非公開鍵は、SSH 通信を開始するすべてのマシン上に置く必要があります。N1 Grid Service Provisioning System 5.0 の場合、SSH を使用してダウンストリームのアプリケーションに接続している Master Server とLocal Distributor はすべて、非公開鍵を持っていなければなりません。この方法は安全性に劣ります。

SSH の要件

N1 Grid Service Provisioning System 5.0 には、次の SSH 機能が必要です。

ssh-agent を使用する場合は、次の SSH 機能が必要です。

SSH 接続を行うようにマシンを構成する場合は、次の機能が役に立ちます。ただし、これらは必須機能ではありません。

次のチェックリストを使用し、SSH の実装が N1 Grid Service Provisioning System 5.0 の要件を満たしているか確認してください。

その他の SSH セキュリティ

SSH を使用してRemote Agent を起動する場合、Remote Agent は jexec ラッパーを使用して Java 仮想マシンを起動します。このラッパーはスーパーユーザー (root) が所有するネイティブの実行可能ファイルであり、setuid ビットセットを持っています。このファイルは Remote Agent のインストールに使用したユーザーと同じグループ ID を持ち、このグループに実行許可を与えます。このファイルは、Remote Agent のインストールに使用したユーザーアカウントが所有する protect というディレクトリに保存されます。このファイルの実行許可が与えられるのは、Remote Agent を所有するユーザーだけです。ほかのユーザーは jexec ラッパーを実行できません。

どのような場合でも jexecprotect のファイルアクセス許可が誤って変更されることがないように対策を施してください。

jexec のセキュリティは、次の変更を加えることによって強化できます。

詳細については、sshd(1M) のマニュアルページを参照してください。