投稿日:2006年05月20日 作成鷹の巣

No.20541 FTPを安全にする方法



FTPを安全にする方法

No.20541 投稿時間:2006年05月20日(Sat) 13:23 投稿者名:冷しLinuxはじめました URL:

いつも見させてもらっています。CentOSというLinuxを使っているサーバー初心者です。
vsftpというソフトを使っているのですが、FTPはIDやパスが平文で流れるため安全でないと
知り、ある程度セキュアにする様々な手法がある事を知りました。

そこで、SSHで認証の部分のみ暗号化して通信をしてみたいと考えています。
SSHのデーモンはすでに立ててあります。Telnetのかわりにリモートから使ってます。

SSH ポートフォワーディング FTPとかで検索しても確かに、
概念的な事やクライアント側の設定方法などを解説したページはいくつか
見つかるのですが、大学などの学内で運営しているところもあって、具体的な
サーバー側やルータ側の設定方法については書かれておらず、質問メールを出しても
残念ながらお返事がいただけない状況です。

どなたかご存知でしたら教えていただきたいのですが、
まずルーター(通常のBBルータです。BuffaloBBR-4HG)の設定なんですが、
現在は必要なポートしか開けていません。80とか20,21,22,53のみです。

それから、具体的なサーバー側の設定についても教えていただきたいのですが、
vsftpdのconfファイルのどの部分を修正すれば、FTPログインをSSHに対応させる
事が出来るのでしょうか?出来れば、FTPログインをSSH経由以外じゃないとログイン
させない、みたいな設定にしたいのですが・・・

長くなって申し訳ありませんが、お分かりになる方いらっしゃいましたら
よろしくお願いいたします。


Re: FTPを安全にする方法

No.20542 投稿時間:2006年05月20日(Sat) 14:28 投稿者名:wal URL:

> いつも見させてもらっています。CentOSというLinuxを使っているサーバー初心者です。
> vsftpというソフトを使っているのですが、FTPはIDやパスが平文で流れるため安全でないと
> 知り、ある程度セキュアにする様々な手法がある事を知りました。
> > そこで、SSHで認証の部分のみ暗号化して通信をしてみたいと考えています。
> SSHのデーモンはすでに立ててあります。Telnetのかわりにリモートから使ってます。
> > SSH ポートフォワーディング FTPとかで検索しても確かに、
> 概念的な事やクライアント側の設定方法などを解説したページはいくつか
> 見つかるのですが、大学などの学内で運営しているところもあって、具体的な
> サーバー側やルータ側の設定方法については書かれておらず、質問メールを出しても
> 残念ながらお返事がいただけない状況です。
> > どなたかご存知でしたら教えていただきたいのですが、
> まずルーター(通常のBBルータです。BuffaloBBR-4HG)の設定なんですが、
> 現在は必要なポートしか開けていません。80とか20,21,22,53のみです。
> > それから、具体的なサーバー側の設定についても教えていただきたいのですが、
> vsftpdのconfファイルのどの部分を修正すれば、FTPログインをSSHに対応させる
> 事が出来るのでしょうか?出来れば、FTPログインをSSH経由以外じゃないとログイン
> させない、みたいな設定にしたいのですが・・・
> > 長くなって申し訳ありませんが、お分かりになる方いらっしゃいましたら
> よろしくお願いいたします。

opensshではsftp-serverが働くのでvsftpdを起動する必要はない
linuxから
CUIでの接続ではscp、sftpで接続できます
GUIでの接続ではgftpをssh接続として使えます(速度が遅い)
Windowsから
Winscp

portは22だけ開ければ良い
コマンドの使いかたはnetで検索して下さい


Re^2: FTPを安全にする方法

No.20543 投稿時間:2006年05月20日(Sat) 17:26 投稿者名:冷しLinuxはじめました URL:

walさん、いつもレスありがとうございます。
scpも一度ためしてみました。ただ、scpはデータそのものまでも
暗号化されてしまいますよね。
あくまで個人的に運営しているサーバーで比較的大容量の動画ファイルなど
を扱っていたりもしているので、せっかくの光回線のメリットを活かせないと
判断。そこで、IDとパスワードのみを暗号化、FTPに制御を渡したら
データは暗号化せずに通信したいと考えてます。
よって、暗号化したいのは認証部分のみなんです。説明が足りなくて
ごめんなさい。以下のサイトなどを参考にしてみてはいるものの、
ルータに対して、あと、サーバー側のconfファイルに対しての記述が
ないので、分かる人がいらっしゃいましたら、よろしくお願いします。

http://www.club.kyutech.ac.jp/support/manual/ffftp+ssh.html

http://www.hc.keio.ac.jp/itc/manual/port_forwarding/

上のサイトからのコピペが以下※です。私の環境ならば、これで十分なくらいですが、
如何せん、ルータ側・鯖側設定方法が分かりません。ただ1234とかのポート開けるだけでいいもの
なのでしょうか?ポートフォワード転送の意味や仕組みも実は生半可な理解です。

※注意:この方法はユーザ名やパスワードなどの情報を暗号化するもので、ダウンロこめード・アップロードするデータは
いっさい暗号化されません。以前、データも暗号化されるような記述をしており、誤解を与えたことをお詫びします。
また、データを暗号化したい場合は、SCPやSFTPを使用してください。

クライアントソフトには、FFFTP@windowsとPutty@Windowsを使うつもりでいます。


Re^3: FTPを安全にする方法

No.20544 投稿時間:2006年05月20日(Sat) 18:05 投稿者名:wal URL:

> walさん、いつもレスありがとうございます。
> scpも一度ためしてみました。ただ、scpはデータそのものまでも
> 暗号化されてしまいますよね。
> あくまで個人的に運営しているサーバーで比較的大容量の動画ファイルなど
> を扱っていたりもしているので、せっかくの光回線のメリットを活かせないと
> 判断。そこで、IDとパスワードのみを暗号化、FTPに制御を渡したら
> データは暗号化せずに通信したいと考えてます。
> よって、暗号化したいのは認証部分のみなんです。説明が足りなくて
> ごめんなさい。以下のサイトなどを参考にしてみてはいるものの、
> ルータに対して、あと、サーバー側のconfファイルに対しての記述が
> ないので、分かる人がいらっしゃいましたら、よろしくお願いします。
> > http://www.club.kyutech.ac.jp/support/manual/ffftp+ssh.html
> > http://www.hc.keio.ac.jp/itc/manual/port_forwarding/

通常のFTPのPASV接続ができること
通常のSSHの接続ができること
それができているなら 上記のサイトのように試してみる
少なくとも接続に成功しているのだから
それができないならそのように質問したほうが良いです


パスワード/IDの暗号化ならFTPのSSL化(ftps)のほうが簡単?

No.20545 投稿時間:2006年05月20日(Sat) 21:10 投稿者名:おやじ URL:

ここで書かれているやりたいことの基本的な話は、下記の前段に書いてあるあるとおりです。

http://www.aconus.com/~oyaji/ssh/ssh_ftp.htm

ルータがBuffaloBBR-4HGということなので、普通のFTPなら勝手にPASV対応してくれているはずなので意識せずにPASVが使えているはずです。
これが理解しにくくしているかもしれません。
FTPの制御コネックションをSSHトンネルする場合は、条件があります。

1. ルータではなくサーバでPASV対応すること。(これによりPASV対応ルータの場合は、単純なFTPのPASVはできなくなる)つまり下記でクライアントに通知するルータのWAN側アドレスとデータコネクションで使用するポートの範囲を決めること。

pasv_enable=YES (デフォルト:YES)
pasv_address=ルータのWAN側のIPアドレス (デフォルト:なし サーバのNICアドレス)
pasv_min_port=最小ポート番号 (デフォルト:0 任意のポートを使用)
pasv_max_port=最大ポート番号 (デフォルト:0 任意のポートを使用)

2. データコネクションで使用するポートの範囲をルータでサーバにポートフォワーディングすること。
SSHトンネルでない場合は、ルータ(BBR-4HGなら)が21番ポートにアクセスがあると、サーバが返すPASVの応答コマンドを監視していて、勝手にFTPサーバのアドレスをルータのWAN側のIPアドレスに変換してクライアントに通知してくれ、同時にその中で通知されるデータコネクションのポートも勝手にサーバにフォワーディングしてくれる。
しかし、SSHトンネルするとルータはこのやり取りをモニタできないので、サーバが使用するポートを無条件にポートフォワードしてあげないとデータコネクションが張れない。

と書いたのですが、pasv_addressが動的IPの場合はvsftpdは厄介です。そういう意味ではproftpdのほうが簡単。
更に言えば、パスワード/IDの暗号化ならFTPのSSL化(ftps)のほうが更に簡単。sshトンネルのほうが鍵認証を使えるのでより安全かもしれませんが・・・。


目次掲示板過去ログ目次▲頁先頭