2014年10月4日土曜日

パッシブモードのFTPS通信のFWの設定

FTP&FTPS鯖と通信試験を行ったとき、FWで20、21、989、990だけ開けていたら、
・FTP→OK
・FTPS→SSLと制御コネクションはOK、データコネクション失敗
となった。何でだろうと勉強したら、どうもこんな感じらしい。

1 パッシブ通信における鯖からのデータコネクションポート情報の通知はFTPパケットのペイロードに格納される。

2 FTPSはアプリケーションレイヤのペイロードはSSLで暗号化されるので、1の通知も暗号化される。

3 通常、FWはステートフルインスペクション機能により、通信開始以降のパケットはFWが通信の中身を見て、途中で通信ポートが変わるFTPパッシブモードなどでも動的にポートを開けてくれる。

4 ところが、FTPパッシブモードのように接続情報がアプリケーションレイヤのペイロードに格納される通信は、SSLで暗号化されてしまうとFWから見えなくなり、開けて良いポートが分からなくなってしまう。

5 なので、SSLのセッション確立(+FTPコンロトールセッション確立)は成功するが、データコネクションポート通信となるファイル一覧取得でポートが開いていないのでタイムアウトとなった。

なるほどねぇ。
とりあえず今回は特定の鯖だけなので、anyポート通過というおよそIT屋と思えない投げやりな解決をしましたが、どうするのがベターなのだろう。

0 件のコメント:

コメントを投稿