web-dev-qa-db-ja.com

どちらが良いですか? SFTPまたはFTPS

いくつかの情報源から、FTPSよりもSFTPの方が望ましいと聞いています。もしそうなら、なぜ正確に疑問に思います。

6
Jegschemesch

私は主にサーバー上にFTPサーバーをセットアップするのに余分な労力がかかるため、FTPSよりもSFTPを好みます。ほとんどの場合、サーバーにはリモートで管理するためにSSHがすでにインストールされているので、すでにインストールされているものを利用してみませんか? SFTPを使用するには、実行するために余分な労力なしが必要です。

ほとんどのFTPクライアントにはSFTPのサポートが組み込まれているため、クライアントのサポートは主に重要なポイントです。

8
Josh Hunt

かなり説明的な SSH-SFTPブログの記事 があり、SFTPとFTPSの違いを詳しく説明し、それぞれがより適しているシナリオの概要を示しています。

上記の記事によると、各プロトコルには「長所」と「短所」があるため、特定のシナリオによっては、一方のプロトコルがもう一方のプロトコルよりも効果的である場合があります。

以下に、私の謙虚な意見では、最も重要な点を要約します。

SFTPは常に安全ですが、FTPSはそうではない場合があります:SFTPはSSHプロトコルのサブシステムであるため、常に暗号化/保護されたチャネルで実行されます。サーバーがSSL/TLSをサポートしていない場合、FTPSは代わりにプレーンな(暗号化されていない)FTPフォールバック戦略を備えている場合があります。

FTPSはSFTPよりも高速である可能性があります:まったく同じネットワーク条件では、FTPSは制御チャネルとデータチャネルを実行するため、おそらくSFTPよりも高速である可能性があります個別に(SFTPが単一のチャネルで実行され、データフロー内の制御パケットをインターリーブしている間)

SFTPはファイアウォールに対応していますが、FTP(S)は対応していません:SFTPはSSH内で実行されるため、サーバー上の1つのポートのみを使用します(デフォルト:22) ; FTP(S)は、代わりに、サーバーがクライアントに接続し直す可能性(アクティブ)、またはサーバーが着信データ接続を受け入れるためのファイアウォール上の多数の開いているポート(パッシブ)のいずれかを必要とします。

FTPSは信頼を委任できますが、SFTPはできません:FTP(S)は、によって発行できるX.509証明書に基づくSSL/TLS固有のセキュリティを活用します。認証局は両方の当事者によって信頼されていますが、SSHサーバーキーはサーバー部分によってのみ発行される可能性があり、クライアント部分によって信頼される必要があります。

6
FjodrSo

This CodeGuruのページには、それぞれの長所と短所の概要があります。

いつものように、答えはあなたの目標と要件が何であるかによって異なります。一般に、SFTPはFTPSよりも技術的に優れています。もちろん、両方のプロトコルのサポートを実装することをお勧めしますが、概念、サポートされているコマンド、およびその他の多くの点で異なります。

個人用デバイス(スマートフォン、PDAなど)から、またはFTPをサポートしているがSSH/SFTPクライアントを備えていない特定のオペレーティングシステムからアクセスする必要があるサーバーがある場合は、FTPSを使用することをお勧めします。カスタムセキュリティソリューションを構築している場合は、SFTPの方がおそらく優れたオプションです。

クライアント側の場合、要件は接続する予定のサーバーによって定義されます。インターネットサーバーに接続する場合、SFTPはデフォルトでLinuxおよびUNIXサーバーでサポートされているため、より一般的です。

プライベートホスト間転送の場合、SFTPとFTPSの両方を使用できます。 FTPSの場合、無料のFTPSクライアントおよびサーバーソフトウェアを検索するか、商用ソフトウェアのライセンスを購入する必要があります。 SFTPをサポートするために、無料のクライアントおよびサーバーソフトウェアを提供するOpenSSHパッケージをインストールできます。

3
jergason

SFTPにはポートマッピングに問題がないため、 [〜#〜] nat [〜#〜] ルーター/ファイアウォールに問題はありません。 (そして、多くの家庭用DSLおよびケーブルモデムは実際にはNATルーターであり、スタンドアロンのワイヤレスアクセスポイントを接続すると「ダブルNAT」が導入される可能性もあります。)

FTP、したがってFTPSでは、 複数の接続 が必要です。クライアントとサーバーは、いわゆる「アプリケーションレベル」の通信で使用されるIPアドレスとポートについて合意します。ただし、NATルーターまたはファイアウォール(「トランスポートレベル」の問題のみを考慮する)は、これらの詳細を知る必要があるため、実際のデータを検査する必要があります。これにより、 多くの問題 、SFTPには存在しません。

3
Arjan

私は一方が他方よりも好ましいとは思いません。それは本当にあなたのインフラストラクチャに依存します。 このスレッド CodeGuruから、SFTPとFTPSの長所と短所について説明しています。

FTPSの利点の1つは、データチャネルです。データチャネルは、サーバーからサーバーにファイルを転送するようにリダイレクトできます。この機能はよく理解されていません。そのため、多くの人がFTPデータチャネルは不要だと言うでしょう。

ファイルを安全に送信することに興味がある場合は、FTPSを使用する必要があると思います。すでにSSHインフラストラクチャがある場合は、SFTPが役立つ場合があります。

0
Andrew Keith