SSH を使用してリモートエージェントを起動する場合、リモートエージェントは jexec ラッパーを使用して Java 仮想マシンを起動します。このラッパーはスーパーユーザー (root) が所有するネイティブの実行可能ファイルであり、setuid ビットセットを持っています。このファイルはリモートエージェントのインストールに使用したユーザーと同じグループ ID を持ち、このグループに実行許可を与えます。このファイルは、リモートエージェントのインストールに使用したユーザーアカウントが所有する protect というディレクトリに保存されます。このファイルの実行許可が与えられるのは、リモートエージェントを所有するユーザーだけです。ほかのユーザーは jexec ラッパーを実行できません。
どのような場合でも jexec と protect のファイルアクセス権が誤って変更されることがないように対策を施す必要があります。
jexec のセキュリティーは、次の変更を加えることによって強化できます。
JVM 実行ファイル (通常、シェルスクリプト) はアプリケーションを所有するスーパーユーザー (root) またはユーザーによって所有されるようにし、ほかのユーザーやグループには書き込み許可を与えないないようにします。N1 Service Provisioning System 5.1 で JRE をインストールする場合は、N1SPS5.1-home /common/jre 内の全ファイルがアプリケーションを所有するユーザーによって所有されるようにし、ほかのどんなユーザーやグループにも書き込みアクセス権を与えないようにします。
アプリケーションを所有するユーザーのユーザー ID は、SSH を使用したログインにだけ許可します。SSH を使用してログインする場合は、公開鍵認証だけを許可します。ほかのどんなユーザーまたはグループにも、/N1SPS5.1-home /.ssh ディレクトリに対するいかなるアクセス権も付与しません。
etc/sshd_config ファイルにパスワード認証を無効にする次の行を含めることにより、公開鍵認証だけを許可するように SSH サーバーを構成します。
PasswordAuthentication no |
etc/sshd_config ファイルに、RhostsRSAAuthentication を含む行が存在しないようにします (デフォルトではこの認証が許可されていないため)。さらに、RSAAuthentication という語が存在する場合は、この値を yes (デフォルト) に設定する必要があります。
リモートエージェントのセキュリティーをさらに強化する場合は、/N1SPS5.1-home/.ssh/authorized_keys2 ファイルを編集し、マスターサーバーの公開鍵が含まれる行の前に次のテキストを追加します。
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty |
詳細については、sshd(1M) のマニュアルページを参照してください。