この記事では、ファイル転送に広く使用されている 2 つのプロトコル、つまり SFTP と FTPS について説明します。
それらの基本的な違いについて学びます。主な目的は、さまざまな状況でどのプロトコルを使用する必要があるかを知ることです。
これら 2 つのプロトコル (コンピューターなどの電子デバイス間でデータを送信するための一連のルールまたは手順) は、似た名前を持っています。各頭字語の S の位置は、これらのプロトコルの動作に影響します。どちらのプロトコルでもデータは正常に送信されますが、大きく異なります。
SFTP と FTPS: どちらのプロトコルを使用するか?
FTP、FTPS、SFTP は、現在でもファイル転送に使用されている 3 つの広く使用されているプロトコルです。似たような頭文字であっても、これらのプロトコルは、データの転送方法、提供されるセキュリティのレベル、ファイアウォールへの懸念など、大きく異なります。
セキュア ファイル転送プロトコル (FTPS) とシェル ファイル転送プロトコル (SFTP) により、さまざまな通信チャネルを介した高速ファイル転送が可能になります。
セキュア シェル ファイル転送プロトコル (SFTP)
セーフ シェル ファイル転送プロトコル (SFTP とも呼ばれる) と呼ばれるネットワーク プロトコルにより、2 つの通信チャネルを介した安全なファイル転送が可能になります。
SFTP は SSH プロトコルの一部であり、FTP のようなコマンドを SCP に相当するものにオーバーレイして、FTP ユーザーの作業を容易にします。
ファイル データ転送の送受信において、高レベルのセキュリティを備えた信頼性の高いデータの管理とアクセスが可能になります。 SFTP はユーザーとサーバー間の両方の機能を提供するため、データに簡単にアクセスできます。 SFTP を使用して、サーバーへのログオン、ファイルのダウンロードとアップロードなどを行うことができます。
SFTP を使用すると、マシンは公開キーと秘密キーを使用して接続できます。接続が確認されると、両方のデバイスが安全に通信できるようになります。 SFTP は接続を 1 つだけ使用します。つまり、サーバー上でアクティブにする必要があるポートは 1 つだけであり、サーバーの選択されたポート上でパブリックにアクセスできるようにするだけでよいため、セキュリティの保護が容易になります。
セキュアなファイル転送プロトコル (FTPS)
ファイル転送プロトコル セキュア (FTPS) は、トランスポート層セキュリティ (TLS) に追加機能を追加することでセキュリティを強化し、企業が取引先、ユーザー、顧客と安全に接続できるようにします。
FTPS は単なる FTP-over-TLS です。制御接続とデータ接続は通常の FTP と同じですが、TLS で暗号化されます (HTTPS と同様に証明書が必要です)。これは SFTP とはまったく関係ありません。送信されたファイルは FTPS 経由で交換され、FTPS 対応アプリケーションによって認証されます。
基本的に、コンピュータ ネットワーク上でファイルを転送するための制御チャネルとデータ チャネルがあります。これによりセキュリティ層と暗号化層が追加され、ほとんどの FTP クライアントはファイルを同期する機能を提供するため、場所に関係なくすべてのファイルが最新の状態になります。
FTPS 経由でファイルを送受信するために多くのツールが利用できるため、多くのファイル転送状況においてこれが論理的な選択肢となります。
主な違いを理解する
SFTP はファイル転送時のセキュリティを強化しますが、FTPS は暗号化層を追加してデータの安全性を高めます。
SFTP は安全なネットワーク通信のために設計されました。主に、請求データ、資金、データ回復ファイルを転送するために安全に接続することを望んでいます。
一方、FTPS は、ファイル転送プロトコルを使用したネットワーク接続されたコンピューター間のファイル転送をサポートするために作成されました。また、アルゴリズムを実装することで暗号化のサポートを追加するように設計されています。 SFTP とは異なり、FTPS では人間が通信を理解して読み取ることができます。
ファイアウォールのサポートには FTPS よりも SFTP が推奨されます
SFTP では、クライアントとサーバーの間で接続が 1 つだけ確立されます。別の場所にあるコンピュータに接続するための特定のポートを備えています。したがって、多数のポートを開く必要はありません。ちなみに、ポートが少ないということは、特定の種類のマルウェアがセキュリティを悪用する機会が少なくなることを意味します。
クライアントとサーバーは単一のネットワークを介してサーバーに接続されます。ファイアウォールは接続間のインターフェイスとして機能し、発生する可能性のあるさまざまな異常や、疑わしい兆候や脅威の兆候をチェックします。
ただし、SFTP と比較して、FTPS にはバックアップ データ接続が必要です。データ送信ごとに新しいポートが作成され、多数のポートを同時に開くことができます。
問題は、FTPS が自然に暗号化されていないことです。外部暗号化のため、ファイアウォール ソフトウェアはどのポートがどのような目的で使用されているかを判断できません。 FTPS とファイアウォールを同時に使用しようとすると、接続はすぐに失敗します。
通常、SFTP は FTPS よりもファイルの転送が遅くなります。
SFTP 接続は、ほとんどの場合、FTPS 接続よりも著しく遅くなります。 SFTP を実行するこのプロトコルでは、パケットの配信と暗号化により、高い追加コストが発生します。
SFTP は、その中核で伝送制御プロトコル (TCP) アーキテクチャを使用します。信頼性を維持するために、TCP はデータの分析、確認応答、メッセージ配信の同期など、いくつかのエラー チェック手法を採用しています。
FTPS は主に高速ファイル転送を目的として作成されたもので、他のプロトコルに比べて無駄がなく、単純なプロトコルです。
FTPS は ASCII もサポートしますが、SFTP はバイナリ データの送信のみをサポートします。
SFTP には ASCII (American Standard Code for Information Interchange) モードはありません。すべての情報はバイナリ形式で送信され、サーバーはクライアントが送信したものと同じデータを受信します (またはその逆)。
送信側のオペレーティング システムから受信側のオペレーティング システムに文字列を変換する ASCII モードはありません。このため、SFTP ログは非常に扱いにくいです。デフォルトの SFTP 設定を使用すると、ログの作成と維持がほぼ困難になるため、企業はこの問題を回避するためにマネージド ファイル転送 (MFT) テクノロジを利用することがよくあります。
FTPS は FTP の新しいバージョンであるため、ASCII 転送もサポートされています。これは、IT 管理者が発生しているネットワーク プロトコル アクティビティを理解し、ボトルネックを特定するのが簡単になるため、ログ記録に非常に役立ちます。
SFTP は .NET Framework と互換性がありませんが、FTPS は互換性があります。
Microsoft 独自の .NET ソフトウェア フレームワークを使用すると、プログラマは Windows オペレーティング システム上で動作するアプリケーションを作成できます。ユーザーフレンドリーでクロスプラットフォーム互換性があることで知られています。
.NET は、デフォルトでは SFTP プロトコルをサポートしません。このプロトコルに依存する開発者は、このプロトコルをファイル転送や管理に使用することはできません。対照的に、.NET は FTPS をサポートしているため、いくつかのコマンドを実行できます。
SFTP は帯域外認証を使用しますが、FTPS は許可を署名された証明書に依存します。
SFTP プロトコルは、検証用の署名付き証明書を提供しません。まず、平文で利用できるデータはなく、すべての情報は事前に暗号化されます。また、帯域外認証にも依存します( 二要素認証の一種)。
この場合、ID とパスワードは同じチャネルで送信されます。ただし、ユーザー ID をさらに認証するには、別のセカンダリ チャネルが使用されます。
対照的に、FTPS は FTP サーバーを使用し、サーバーは公開キー認証を提供する必要があります (暗号化と復号化は別のキーを使用して行われます)。 FTPS ゲートウェイをシームレスに使用するために、企業は公開キー メカニズムをサポートし、デジタル証明書がインストールされたサーバーを購入できます。
FTPS コマンドと比較して、SFTP コマンドはより詳細な制御を提供します。
ほとんどの一般的なオペレーティング システムには CLI (コマンド ライン インターフェイス) ソフトウェアがプリインストールされており、CLI インターフェイスを使用して SFTP および FTPS を利用できます。その結果、どちらの通信プロトコルもオープンであり、幅広いプラットフォームからアクセスできます。
それに比べて、FTPS コマンドは非常に単純で、機能が少なくなっています。ユーザーは、リモート接続経由でホストされているファイルまたはディレクトリを編集できません。アクセスして取得することしかできません。たとえば、SFTP と FTPS では異なるコア プロトコル システム (つまり、SFTP の場合は SSH、FTPS の場合は FTP) が使用されるため、FTPS コマンドを使用してもファイル所有権のアクセス許可を変更したり変更したりすることはできません。
SFTP はより優れた互換性と採用を実現します
FTPS の使用量は減少しています。データが公開されており、機密性が低い場合、一部の企業、マネージド ファイル転送 (MFT) ソリューション、および独立系 Web 開発者は、依然として簡単なファイル転送方法として FTPS を採用しています。
FTPS と比較すると、SFTP はより新しいものです。最新バージョン (バージョン 6、ドラフト 13) は 2006 年に作成されました。一般的なブラウザはすべて SFTP をサポートしており、多数のエンタープライズ グレードの SFTP ソリューションが信頼できるプロバイダーから入手できます。
たとえば、SFTP ファイル転送プロトコルは、IBM サーバーや Microsoft Azure クラウド バケットと連携するように設定できます。
どのような条件でSFTPとFTPSのうちどのプロトコルを選択すればよいのでしょうか?
SFTP と FTPS は、パブリック ネットワークおよびプライベート ネットワーク上でデータを転送するために広く使用されているプロトコルです。どちらにも長所と短所があります。ニーズを満たすプロトコルを選択する前に、組織は次の点に留意する必要があります。
- SFTP はデフォルトで完全に安全ですが、FTPS は SSL または TLS を使用して暗号化層を追加します。
- SFTP はファイアウォールと互換性がありますが、送信するバイナリ データのためログ記録には適していません。
- FTPS ファイル送信は、SFTP よりもはるかに高速に処理されます。 SFTP は .NET フレームワークでは機能しませんが、より広く使用されており、互換性があります。
- 認証手順とコマンド セットは 2 つのプロトコルで異なります。
その結果、ほとんどの企業はこの 2 つを組み合わせて、利点を活かしながら欠点に対処しています。
SFTP を使用する場合
SFTP は遅いですが、セッション全体が終了することなくすぐに終了します。公開 SSH キーを共有することで簡単に使用できます。彼らはサーバー上の情報をすぐに入力し、それをあなたのアカウントにリンクすることができます。
接続が確立されると、クライアント ソフトウェアは検証のために公開キーをサーバーに送信します。これらの公開鍵が一致し、ユーザーが必要なパスワードを入力すると、認証が完了します。
SFTP はデータ転送に別のポートを使用します (デフォルトではポート 22)。 SFTP はポートが少ないため、盗聴 (プライベート通信の不正なリアルタイム傍受) の危険にさらされるポイントの数を制限し、中間者攻撃を防ぎます。
大きくてかさばるファイルを一度に転送できます。データは迅速かつ効率的に送信されます。
FTPS を使用する場合
ファイルを安全に転送するための最良のオプションは FTPS です。取引パートナーが要求する場合、または接続を認証するために証明書を使用したい場合。
FTPS は TLS と SSL を使用してサーバー接続を暗号化します。これらには、発行者の名前、対象者の名前、対象者の公開重要情報、署名などの識別詳細が含まれます。
証明書を使用する場合、取引パートナーによって自己署名されているか、または認定された認証局 (CA) によって署名されている場合、その証明書は信頼されます。自己署名資格情報を検証するには、信頼できる Vital ストアに取引パートナーの公開証明書のコピーが必要です。
ファイルを安全に転送するための最良のオプションは FTPS です。 FTPS は暗黙的および明示的な接続タイプに多数のポート番号を使用するため、新しいポートが開きます。
結論
SFTP はデフォルトの安全な SSH に単純なファイル転送機能を提供する SSH の改良版ですが、FTPS はセキュリティ フレームワークを追加する FTP の拡張版として開発されました。 FTPS は 2 つのチャネルを使用しますが、SFTP は制御通信とデータ転送を可能にするために 1 つのチャネルのみを使用します。
SFTP はデータをバイナリ形式で送信します。 FTPS は、人間が読める形式でデータを送信します。組織に FTPS を選択する場合は、高セキュリティのファイアウォールを介した接続が困難になる可能性があることに留意してください。
FTPS は暗黙的および明示的な接続タイプに複数のポート番号を使用するため、ファイル転送またはディレクトリのリストの要求が行われるたびに、別のポートが開かれます。用心深く注意を払わないと、ネットワークが危険にさらされ、脆弱性にさらされる可能性があります。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)





