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 件のコメント:
コメントを投稿