ウェブサイト検索

FTP vs. FTPS vs. SFTP: それらの違いについて説明


従来のFTPプロトコルがありますが、FTPSとSFTPもあります。それでは、これらはどのように異なるのでしょうか?FTPとFTPSとSFTPの比較です。

FTP、FTPS、およびSFTPは、ネットワーク上でファイルを転送するために使用されるプロトコルです。これらのプロトコルの略語は似ていますが、いくつかの重要な違いがあります。主な違いは、データの交換方法、提供されるセキュリティのレベル、そしてファイアウォールの考慮事項です。

FTP、FTPS、およびSFTPの中から選ぶ際には、それぞれの利点と欠点を考慮することで、ユーザーは利用可能な選択肢をよりよく理解できるようになります。

ここに、各転送プロトコルの利点と制限を概説したFTP、FTPS、SFTPの直接比較があります。

FTPとは何ですか

FTPはファイル転送プロトコルの略です。それは1970年代にコンピュータネットワーク上のクライアントとサーバー間でファイル転送を可能にするために作成されました。

FTPは、コマンドチャネルとデータチャネルという2つの別々のチャネルを使用してデータを交換します。コマンドチャネルは通常、サーバーポート21で動作し、クライアント接続の受け入れやFTPクライアントとサーバー間での簡単なコマンドの交換を処理する役割を担っています。

FTPはファイルやフォルダを転送するためにデータチャネルと呼ばれる別の接続を使用します。

要するに、FTPはコマンド用に1つの接続を使用し、データの送受信用にもう1つの接続を使用します。

この接続は二つの方法で確立できます:

  • アクティブモード: アクティブFTP接続では、クライアントがポートを開き待機し、サーバーがそれに対してアクティブに接続します。アクティブFTPサーバーは一般的にポート20をデータポートとして使用します。
  • パッシブモード:パッシブFTP接続では、サーバーがポートを開いて待機し(受動的に)、クライアントがそれに接続します。

ほとんどのFTPクライアントプログラムは、サーバー管理者が安全対策として好むため、デフォルトでパッシブ接続モードを選択します。また、ファイアウォールは一般的に外部から開始された接続をブロックします。

当時、FTPは素晴らしいものでしたが、ユーザー名やパスワード、その他のデータをプロトコルで暗号化するセキュリティ対策が欠けていました。

FTPSやSFTPとは異なり、FTPを使用する場合、コマンドチャネルとデータチャネルの両方は暗号化されていません。その結果、これらのチャネルを通じて送信されるデータは、傍受されて読み取られる可能性があります。

FTPSとは何ですか

1990年代にインターネットセキュリティに対する懸念が高まりました。それに応じて、1994年にNetscapeは、ネットワーク上の通信を保護するためのアプリケーション層ラッパーであるSSL(Secure Sockets Layer)をリリースしました。SSLはFTPに適用され、FTPSが作成されました。

FTPSはファイル転送プロトコルセキュアの略です。 これはFTPの拡張で、FTPに追加のセキュリティ層を加えたものです。FTPSはFTPの下にSSL/TLS層を使用し、そのデータチャネルを暗号化します。簡単に言うと、FTPSはセキュリティのためにSSLを利用したFTPです。

FTPと同様に、FTPSはクライアント-サーバーモデルで動作し、FTPSクライアントセッション中にFTPコマンドとデータを交換するために制御チャネルとデータチャネルを利用します。

FTPS接続は、ユーザーID、パスワード、証明書を使用して認証されます。FTPSサーバーに接続する際、FTPSクライアントはまずサーバーの証明書の信頼性を確認します。

OpenSSLのようなツールは、キー証明書を要求および作成することを可能にします。

SFTPとは何ですか

SFTPはSSHファイル転送プロトコルを表します。 FTPSとは異なり、FTPの拡張ではなく、ゼロから構築されました。

ですので、FTPやFTPSと似たように聞こえますが、全く異なるプロトコル、すなわちセキュアシェル(SSH)を使用します。SFTPは、セキュアなチャネルを介してファイルを転送するためのSSH拡張機能として作られました。

関連: SFTPコマンドを使用した安全なファイル転送の方法

SFTPを使用すると、データ転送中にSSHを使用してデータが暗号化され、プレーンテキストで情報が送信されることはありません。SFTPはユーザーとサーバーの両方を認証し、ポート22を使用します。

FTPやFTPSとは異なり、SFTPは別々のコマンド接続とデータ接続を使用しません。その代わり、データとコマンドの両方が特別にフォーマットされたパケットで単一の接続を介して転送されます。これにより、SFTPを使用したファイルとデータの転送は、他のFTP接続よりも高速になります。

SFTPでは、ユーザーIDとパスワードを使用できます。SFTPで使用できる別の認証方法はSSHキーです。

SFTPはデフォルトでポート22を他のSSHサービスと共有しているため、通常SSHサーバー実装と一緒にバンドルされており、これは任意のLinuxマシンに組み込まれています。

関連: セキュアなファイル転送のためのFileZillaを使用してSFTPに接続する方法

FTP 対 FTPS 対 SFTP: どのプロトコルを使用すべきか?

何よりも、フラットファイルシステムからデータを転送する際には、FTPSやSFTPなどのオプションがある場合は、それらを使用してください。FTPはこのリストにある他のプロトコルほど安全ではありません。

FTPは暗号化をサポートしないレガシーデバイスで動作しますが、暗号化にアクセスできる場合はFTPSまたはSFTPを使用する方が良いです。

そうなると、FTPSとSFTPの対比になります。どちらも強力な認証オプションを持つ安全なFTPプロトコルですが、全く異なる2つのプロトコルでもあります。

FTPSとSFTPプロトコルの主な区別要素は、基盤となるトランスポートメカニズムです。

データのセキュリティが気になる場合は、SFTPが最適です。なぜなら、これは最も安全でコンプライアンスに準拠したファイル転送方法だからです。

FTPやFTPSと同様に、ユーザー名とパスワードを使用して認証できます。ただし、SFTPではこれらの資格情報が暗号化されているため、より安全です。

さらに、SFTPはデータを転送するためにFTPやFTPSのように2つの接続ではなく、1つの接続のみを使用し、この単一のチャネル上で認証資格情報と転送されるデータの両方を暗号化します。

さらに、FTPSはセカンダリデータチャネルを必要とします; これにより、ファイアウォールの背後での使用が難しくなります。しかし、SFTPはファイアウォールを通過するのがはるかに簡単であるため、私たちはSFTPが二つの中で勝者であると考えています。

異なるプロトコルについて学ぶことは、 daunting に思えるかもしれません。あなたの使用に最適なプロトコルを明確にするのに役立つ違いの短いリストをまとめました。

結論

最近、暗号化と信頼性を求めるなら、FTPSやSFTPのどちらを選んでも間違いはないでしょう。したがって、セキュリティを重視するなら、FTPにも気を配るべきです。

この記事がFTPとFTPSとSFTPの違いを明確にすることを願っています。上記のトピックについてさらに情報を共有したい場合は、ぜひコメントをお寄せください。

関連記事: