[Security]意外と難しいファイル転送

要件は「ファイル転送したい」だけなんだけど、

  • 暗号化は必須
  • ユーザの特定も必須
  • 必要最低限の操作権限だけ与えて、操作を行うこと。

という難関の制限がついた場合、安く仕上げるにはどーすりゃいいんだ?
ちょっとまとめて見る。

FTP

これは暗号化できないからNG

SCP

暗号化しているからよし
でも、SCPできるってことはSSHでログインできるわ、ホームディレクトリはあるわで、余計な権限を与えているからNG。

WebDAV + HTTPS + Basic認証

いけるんだけど、Windowsクライアントのバグなのか仕様なのかわからんけど、ファイルコピーしてるのに、移動になってるときがあって、ファイルがを無くしちゃうケースがあったりするからやりたくないとの要望。

SFTP

WinSCPにSCPとの比較が書いてあった。これならよさげか?
http://www.tab2.jp/~winscp/protocols.html
でもサーバ側はポート番号22なんだよね。PAMの設定とか使ってSSHによるログインを不可にするしかないのかな?
あと、chrootしてjail構造にもしないとなぁ。でも調べると、パッチ適用が必要って言うし・・・あ。 scponlyとrsshなんてあるんだ。

scponly

http://www.kunitake.org/xoops/modules/xfsection/article.php?page=1&articleid=51
http://www.sublimation.org/scponly/
これなら出来るかも。しかもrsyncの同期も可能っていうならなおうれしいし。

rssh

http://sourceforge.net/projects/rssh
http://www.sdri.co.jp/rssh/index.html.ja

現在のところ、(殆んどの) *BSD システムと MAC OS X では動作しない。 rssh がコマンドライン引数を展開するのに利用している wordexp() 関数が無いためである。 この関数(POSIX.2 で定義されている)を持つようになるか、動かない部分の代替を書くのに十分なぐらいに私が退屈になるまでは、rssh は BSD なマシンでは動作しない。

これはチェックしないと。。。

VPN + FTP

これだと、VPNの認証をどうするか考えないと。

このあたりかなぁ。