FTPでのデータ転送について(IIS-FTP,etc..)
前回のエントリのコメントでIIS−FTPではレジストリでPORTコマンドを制御できると
教えて頂いたので、IIS−FTPを少しいじってみました。
-環境-
Server:10.0.0.100/24 (Window7 IIS7.5-FTP7.5)
HostA :10.0.0.10/24
HostB :10.0.1.10/24
PORTコマンドに対する、デフォルトの設定でのIIS-FTPの動作(HostA→Server)
PORT 10,0,0,10,0,80 //10.0.0.10:80
501 Server cannot accept argument.PORT 10,0,0,10,3,255 //10.0.0.10:1023
501 Server cannot accept argument.PORT 10,0,0,10,4,0 //10.0.0.10:1024
200 PORT command successful.PORT 10,0,0,10,255,255 //10.0.0.10:65535
200 PORT command successful.
PORT 10,0,1,10,0,80 //10.0.1.10:80
501 Server cannot accept argument.PORT 10,0,1,10,3,255 //10.0.1.10:1023
501 Server cannot accept argument.PORT 10,0,1,10,4,0 //10.0.1.10:1024
501 Server cannot accept argument.PORT 10,0,1,10,255,255 //10.0.1.10:65535
501 Server cannot accept argument.
どうやら
・転送先にウェルノウンポートを指定
・制御コネクションを張っているIPアドレスとは違うIPアドレスを指定
の場合、弾いているようです。
試しにこのページ(IIS を使用してサーバー間の FTP 転送を行う方法)のIIS6.0の
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters\EnableDataConnTo3rdIP=1
を追加しても動作に変化はなく、IIS7.5-FTP7.5の設定を探しても見つからず・・(普通は必要なさそうですが)
ちなみに手元に環境があった、ALFTP(5.30.0.1)、3CDaemon(2.0 rev10) でも試してみましたが、
こっちは両方とも上記の8パターンが全部成功するので、PORTコマンドを制限してなさそう。
逆に制限する設定項目が見当たらず・・
vsftpdでも試してみます。
下記のサイトを見ると恐らく"port_promiscuous=[YES|NO] (Default:YES)"あたりっぽそうな感じ。