sshをscp,sftp専用にしたり、rsync専用にするrsshだけれども。最近メンテナンスされていない。
いろいろ調べてみるとそもそもメインの需要であるscpに関してはsshのほうにその機能が統合されている。
詳しくはman sshd_configのForceCommandとChrootDirectoryを参照。
FroceCommandはsshの引数を無視して特定のコマンドを実行するものらしいので、これを利用すればrsyncだけchrootして許可ということもできそうだ。
で、ぐぐってみると。
https://calomel.org/openssh.html
ってのがでてくるけど。
ssh_gatekeeper.shの以下の行は多分セキュリティホールだとおもう。
試してないけどさ。
$SHELL -c "$SSH_ORIGINAL_COMMAND"
真面目にssh_gatekeeperを実装するならば、シェルで特別に解釈される記号(パイプとか``とか)をエスケープするってか、rsyncに渡して良い引数のホワイトリストを作るという調査になるだろうねぇ。
さらにchroot環境にするためにはそこにさらにrsyncが必要とするライブラリを含めてコピーしておく必要があるのね。めどいなぁ。。。
うーん、すなおにjail使うか。管理する環境が増えるのが癪だけど・・・
0 件のコメント:
コメントを投稿