SSH ポートフォワード専用のユーザーを作成する


SSH サーバーをポートフォワードにしか利用しないなら,コマンドが実行を制限したポートフォワード専用のユーザーを (以下,専用ユーザー) 作成すれば安全性が向上します。手順は以下のようになります。

  1. シェルが /bin/rbash な専用ユーザーを作成する。
  2. 環境変数 PATH を設定する。
  3. (オプション) 許可するコマンドを設定する。

rbash はシェルの 1 つで, restricted な bash です。存在しない場合は rbash という名前のシンボリックリンクを bash に対して作成すれば良いそうです。

rbash はもともとコマンドが制限されていますが, PATH をなくしてしまえば使えるコマンドがさらに制限されます。 rbash は bash ですので, .bash_profile を最初に参照します。そこで PATH を設定すれば良いです。

cd /home/portforward_user/
rm .bash*
echo 'export PATH=$HOME/bin' > .bash_profile
chown root:root .bash_profile
#[2009-11-11 17:00] 修正。
# chmod 755 .bash_profile
chmod 644 .bash_profile

これでほとんどのコマンドが実行できなくなります。必要なコマンドだけ専用ユーザーのホームディレクトリ以下にある bin ディレクトリにシンボリックリンクを作成すれば良いです。ちなみに, echo や exit などは普通に実行できます。