昔ながらの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つの接続をデータの送受信に使用します。
この接続は、次の2つの方法で確立できます。
- アクティブモード :アクティブFTP接続では、クライアントがポートを開いてリッスンし、サーバーがポートにアクティブに接続します。アクティブなFTPサーバーは通常、データポートとしてポート20を使用します。
- パッシブモード :パッシブFTP接続では、サーバーがポートを開いて(パッシブに)リッスンし、クライアントがポートに接続します。
ほとんどのFTPクライアントプログラムは、サーバー管理者が安全対策としてパッシブ接続モードを好むため、デフォルトでパッシブ接続モードを選択します。さらに、ファイアウォールは通常、外部から開始された接続をブロックします。
当時のFTPは素晴らしいものでしたが、ユーザー名やパスワード、またはプロトコルを通過するその他のデータを暗号化するためのセキュリティ対策が欠けていました。
FTPSやSFTPとは異なり、FTPを使用する場合、コマンドチャネルとデータチャネルの両方が暗号化されません。その結果、これらのチャネルを介して送信されたデータはすべて傍受され、読み取られる可能性があります。
FTPSとは
インターネットセキュリティへの懸念は1990年代に高まりました。これに応えて、1994年に、Netscapeは、ネットワークを介した通信を保護するために、SecureSocketsLayerまたはSSLと呼ばれるアプリケーション層ラッパーをリリースしました。 FTPSを作成するためにSSLがFTPに適用されました。
FTPSはFileTransferProtocolSecureの略です。 これは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に似ているように聞こえますが、Secure Shell(SSH)と呼ばれるまったく異なるプロトコルを使用しています。 SFTPは、セキュリティで保護されたチャネルを介してファイルを転送するためのSSH拡張機能として作成されました。
SFTPを使用すると、データ転送中にSSHを使用してデータが暗号化され、プレーンテキストで情報が送信されることはありません。 SFTPはユーザーとサーバーの両方を認証し、ポート22を使用します。
FTPやFTPSとは異なり、SFTPは個別のコマンド接続とデータ接続を使用しません。代わりに、データとコマンドの両方が、単一の接続を介して特別にフォーマットされたパケットで転送されます。これにより、SFTPを使用したファイルとデータの転送が他のFTP接続よりも高速になります。
SFTPでは、ユーザーIDとパスワードを使用できます。 SFTPで使用できる他の認証方法はSSHキーです。
SFTPはデフォルトのポート22を他のSSHサービスと共有するため、通常、任意のLinuxマシンに組み込まれているSSHサーバーの実装にバンドルされています。
FTP vs. FTPS vs. 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が2つの間の勝者であると考えています。
さまざまなプロトコルについて学ぶのは気が遠くなるように思えるかもしれません。どのプロトコルが使用に最適かを明確にするのに役立つ違いの候補リストをまとめました。
結論
最近では、暗号化と信頼性が必要な場合、FTPSまたはSFTPのいずれかを間違えることは困難です。したがって、大文字の「S」でセキュリティを気にする場合は、FTPについても「S」を付ける必要があります。
うまくいけば、この記事はFTP対FTPS対SFTPの周りのことを明らかにします。上記のトピックに関する詳細情報を共有したい場合は、コメントをお寄せください。