[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[connect24h:3918] Re: セキュアなFTPについて



霜田と申します。

> > 松山です。
> > SSHポートフォワードを使いたい理由のもう一つとして、今の
> > FTPクライアントがそのまま使える(PASV対応していれば)と
> > いうのもあるんですよね。書き忘れてましたけど。

外していたら申し訳ないですが、こういうことなのでしょうか?
どこか(は問わないでください)に書いたことを再掲しておきます。

---
以下の事例は、サーバ側 ProFTPD、クライアント側 FFFTP にて確認済です。

■サーバ側の準備

SSH を利用可能にする。ポート22を開ける。
ftpd が使う PASVモード用のポートを制限する。
今回の例では、10100〜10109 です。

■クライアント側の準備(Windows と仮定)

ポートフォワーディングは、PortForwarder を使用。
( http://portforwarder.nttsoft.net/JP/ )
PortForwarder の設定ファイルは、こんな感じ。

Host ***
HostName ***.*****.***
User ********
LocalForward 10021 localhost:21
LocalForward 10100 localhost:10100
LocalForward 10101 localhost:10101
LocalForward 10102 localhost:10102
LocalForward 10103 localhost:10103
LocalForward 10104 localhost:10104
LocalForward 10105 localhost:10105
LocalForward 10106 localhost:10106
LocalForward 10107 localhost:10107
LocalForward 10108 localhost:10108
LocalForward 10109 localhost:10109

設定の意味は、
 クライアント側の 10021 を サーバ側の 21 へフォワーディング。
 以下、ポートに関しては同様。

■普通に PASVモードで ftp する。

接続先ホスト: 127.0.0.1(つまり自分)
接続先ポート: 10021

■説明(不要か??)

1)クライアント側が 127.0.0.1 のポート10021 へ接続する
2)ポートフォワーディングにより、サーバ側のポート21 へ転送される
3)これで、制御コネクションが通りました
4)クライアント側は、PASVコマンドを送る
5)サーバ側は、127.0.0.1 の指定ポートに接続するように指示を返す
6)クライアント側は、127.0.0.1 の指定ポートへ接続する
7)ポートフォワーディングにより、サーバ側の指定ポートへ転送される
8)これで、データコネクションが通りました

注)
PortForwarder の設定で、localhost ではなくサーバの FQDN を指定
すると上記ステップ 5)で、サーバは FQDN の指定ポートに接続する
ように指示を返します。(これが普通の姿ですけど・・)
そうなると、SSH を通らずにクライアントの FQDN からサーバのFQDN
へ接続されることになり、「接続元アドレスが違う」ことになるので、
デフォルトでは ftpd に拒否されると思います。

---
K.Shimoda
ateliers@xxxxxxxxxxxxxxx




--[PR]------------------------------------------------------------------
転職┃■ポイント■あなたの都合のいい日時、土曜日もOK!/コンサルタン
情報┃トが経験豊富!/豊富なエンジニアの求人情報!/マル秘求人情報多数
━━┛■情報■最新の求人情報の検索!/良いコンサルタントの違い!/ビジ
ネス人生指南!/なんでも110番!/チェックポイント!/プレゼント 【イムカ】
 http://ad.freeml.com/cgi-bin/ad.cgi?id=aTYrF
------------------------------------------------------------------[PR]--
<GMO GROUP> Global Media Online  www.gmo.jp