簡単に言えば、3つのプロトコルすべてをサポートするFTPサーバーを使用することです。セキュリティを主要な懸念事項として挙げたため、FTPの許可は避けたいと思いますが、SSH2ファイル転送プロトコル(SFTP)とFTP over TLS / SSL(FTPS)はどちらも安全なファイル転送プロトコルと見なされています。
SFTPは、堅牢なセキュリティモデルと従来のFTPおよびFTPSよりもセットアップが簡単なため、今日では間違いなく人気があります。また、SFTPは、接続を確立してファイル操作を実行するために1つのポートのみを必要とするため、FTPよりもファイアウォールフレンドリーです。
FTPおよびFTPSでは、SFTPが1つのポートで実行できるのと同じことを実行するために、複数のポート(コマンドを発行する1つのポートと、すべてのディレクトリリストまたはファイル転送ごとに個別のポート)が必要です。多数のポートの転送をセットアップする要件は、多くの環境で問題になる可能性があり、問題のトラブルシューティングを非常に困難にする可能性があります。ただし、FTPとFTPSはSFTPよりもずっと古く、FTPSのみをサポートするデバイスやクライアントはまだたくさんあります。
セキュリティに関しては、SFTPプロトコルとFTPSプロトコルの両方が安全であると見なされます。FTPSで複数のポートを開く要件は、セキュリティ上の懸念と見なすことができますが、FTPSプロトコルよりもSFTPプロトコルの方が本質的に安全なものはありません。
SFTPを介してFTPSを提供する唯一の真の利点は、パフォーマンスです。SFTPはFTPSよりもはるかに堅牢で汎用的なプロトコルで実行され、その堅牢性はパフォーマンスに大きな影響を与えます。SFTPはSSH2プロトコル上で実行されているため、およびSFTPは独自のハンドシェイクメカニズムを実装しているため、SFTPに伴うオーバーヘッドは単純に大きくなります。最高の転送速度が必要な場合は、FTPSが必要です。
これをすべてまとめると、3をすべてサポートするようにしてください。最近のほとんどのFTPサーバーは、FTP、FTPS、およびSFTPをすでにサポートしています。