WindowsネイティブFTPがネットワークアプリ経由でFTPサーバーにアクセスできないのはなぜですか

これはWindowsのftpクライアントのftp.exeがパッシブモードに対応していないため、パッシブコマンドが含まれていないためです。パッシブコマンド(PASV)は、'literal'または'quote'コマンドを使用して発行できますが、これはサーバーをパッシブモードにするだけです。一方、Windows クライアントは引き続きアクティブモードのままになります。

詳細につきましては、FTPアクティブモードとパッシブモードの基本的な違いを理解する必要があります。

 

FTPアクティブモード

2つの接続モードのうち、アクティブモードは古い方です。アクティブFTPは、メインフレームが一般的で、情報セキュリティに対する攻撃もそれほど多くなかったコンピュータの黎明期に導入されたものです。

アクティブモード接続の方法を2ステップにまとめて簡単に説明します。なお、説明の簡略化のため、関連する手順(例えば、ACK返信など)は省略します。

 

  1. ユーザは、ファイル転送クライアントのランダムポートからサーバーのFTP ポート21 に接続します。PORTコマンドを送信し、サーバーが接続するクライアント側ポートを指定します。このポートは、後でデータチャネルに使用され、この段階でコマンドチャネルに使用されるポートとは異なります。
  2.  サーバーは、ポート20からデータチャネルに指定されたクライアントポートに接続します。データ接続が確立されると、これらのクライアントポートとサーバーポートを介してファイル転送が行われます。



FTPパッシブモード

パッシブモードでは、クライアントは引き続きサーバーへのコマンドチャネル(制御接続) を開始します。ただし、PORTコマンドを送信する代わりに、PASVコマンドを送信します。これは基本的に、データ転送のために接続するサーバーポートを要求するものです。FTPサーバーは、このコマンドに応答して、データ転送のためにどのデータポート番号を開放したかを表示します。

次にパッシブモードがどのように機能するかを簡単に説明します。

 

  1. クライアントはランダムなポートからサーバーのポート21 に接続し、PASV コマンドを発行します。サーバーは、データ転送のためにどの(ランダムな)ポートを開いたかを示す応答を返します。
  2. クライアントは、別のランダムポートから、サーバーの応答で指定されたランダムポートに接続します。接続が確立されると、これらのクライアントおよびサーバーポートを介してデータ転送が行われます。 

上記の説明に基づいて説明すると、FTP アクティブモードは、FTP サーバーとSafous Agent インストーラを持つクライアントとデバイス間接続を行うことができないことがわかります。

これは、SafousのAgentベースのZTNAの性質上、従来のVPN(トラフィックの初期化は両方から可能)と異なり、クライアント側でも認知されていない信頼できないトラフィックは、認めない構造になっているからです。