データを転送する際、特に ETL(抽出、変換、格納)のコンテクストでは、プロトコルの選択が重要になります。SFTP と FTP はどちらもソリューションを提供しますが、その本質的な違いは、セキュリティと機能性の面で結果に大きく影響します。そこで本記事では、ETL における SFTP と FTP について知っておくべきことについてお話します。
SFTP と FTP には、主に以下のような違いがあります:
- FTP は従来のもので、FTP クライアントと Web サーバー間でデータを移動し、対する SFTP はこの転送に安全なチャネルを使う。
- FTP が TCP/IP(伝送制御プロトコル/インターネットプロトコル)のネットワークに依存しているのに対し、SFTP は SSH ファイル転送プロトコルを利用している。
- SFTP では転送中のデータは暗号化されることから、悪意のあるエンティティによるデータ傍受のリスクが大幅に下がる。
- ファイル転送に2つのチャネルを使う FTP とは異なり、SFTP は1つのチャネルで動く。
- SFTP だと、SSH キーまたはユーザー名とパスワードの組み合わせによる認証が提供されることことによって、セキュリティの信頼性が上がる。
本記事では、SFTP と FTP の違いを解明し、その運用上の複雑さと ETL プロセスへの影響に重点を置きます。
ファイル転送プロトコルの重要性
情報のシームレスな流れは、相互接続された世界のバックボーンを形成しています。多国籍企業が大陸を越えてデータを共有する場合でも、個人が友人に個人的なファイルを送信する場合でも、効率的で安全なデータ転送は極めて重要であり、FTP や SFTP のようなファイル転送プロトコルは、このプロセスにおける縁の下の力持ちです。FTP や SFTP のようなファイル転送プロトコルで、データがあるポイントから別のポイントに転送されることが保証されるだけでなく、転送のスピードや効率、安全性が決まります。例えば医療記録や金融取引などの機密データが関係する環境では、プロトコルの選択が大きな影響を及ぼす可能性があり、それは、「安全な取引」と「潜在的なデータ漏洩」くらい違ってくるということになり得ます。なので、適切なプロトコルを理解して賢く選択することの不可欠です。
FTP とは
1971年に発明された FTP (ファイル転送プロトコルの略)は、、インターネット上のネットワーク機器を接続する通信プロトコルである TCP/IP を介して、あるコンピューターから別のコンピューターにファイルを転送します。プロセスは比較的簡単で、あるコンピュータのユーザーが、別のコンピュータのユーザーに FTP サーバー (または「ホスト」) からファイルを受信するためのアクセスを許可し、それで受信者は、共有されたファイルをすぐに受け取ります。
注:FTP と FTPS(セキュア FTP または FTP/SSL)を混同しないようにしてください。FTPS(File Transfer Protocol Secure)は、FTP にセキュリティのレイヤーを追加したものです。データをプレーンテキストで転送する通常の FTP とは異なり、FTPS は SSL/TLS プロトコルを使って転送中のデータを暗号化し、この暗号化により、FTPS は FTP と SFTP の中間的な存在となっています。SFTP と FTPS はどちらも暗号化された転送を行いますが、使う方法やプロトコルは異なります。SFTP は SSH に依存していますが、FTPS は従来の FTP の下に SSL/TLS レイヤーを使って、データチャネルを暗号化します。(通常の FTP ではこれらのいずれも実行されません。)セキュリティを考える上で、FTPS が暗号化を追加することで FTP を強化するのに対して、SFTP は最初からセキュリティを念頭に置いて設計されたまったく別のプロトコルであることを理解することが重要です。
おすすめ記事(英語):FTPS ETL to Your Warehouse(ウェアハウスへの FTPS の ETL)
SFTP とは
90年代後半に導入された SFTP(セキュアファイル転送プロトコルの略)は、従来の FTP プロトコルに代わるものを提供します。SFTP は FTP のように TCP/IP を使わず、クライアントサーバーベースのネットワークプロトコルである SSH を介して、あるコンピューターから別のコンピューターへファイルを転送します。
ファイルを他のコンピュータに送信するコンピュータユーザーは、SSH で、受信者のデバイスをローカルコンピュータのように操作することができるようになります。その際、受信者のデバイス(「クライアント」という)は SSH サーバーに接続しないといけません。また、SSH プロセスは SSL(セキュアソケットレイヤー)のようなものですが、データ接続の実行にはコマンドを使います。
おすすめ記事(英語):SFTP ETL to Your Warehouse(ウェアハウスへの SFTP の ETL)
FTP と SFTP の主な特徴
FTP の特徴:
- データ転送に TCP/IP 通信プロトコルを使う。
- 3つのデータ表現に対応している:8バイナリデータ、ASCII(7ビット)、EBCDIC(8ビット)。
- 3つの転送モードでファイルを転送する: ブロック、ストリーム、圧縮
- FTP サーバーとの間でファイルのアップロードとダウンロードができる。
- データ転送に2つのチャンネルを利用する
SFTP の特徴:
- データ転送に SSH ネットワークプロトコルを使う。
- 転送中のデータを暗号化することから、より高度なセキュリティが確保される。
- データ伝送用の単一チャンネルで動作する。
- ユーザー名/パスワード認証と公開鍵認証の両方に対応している。
- ファイルのアップロードとダウンロードのためのコマンド実行と拡張機能ができる。
FTP と SFTP の長所と短所
FTP と SFTP の長所
FTP:
- 早くてシンプルなファイル転送
- 複数のディレクトリを同時に転送できる。
- 長年の歴史により、実績があり、広く理解されている。
SFTP:
- 転送中のデータ暗号化によりセキュリティが強化される。
- 単一のチャネルを使うため、潜在的なセキュリティの脆弱性が軽減される。
- 暗号化 SSH キーまたはユーザー名/パスワードを使った認証方法がある。
- ファイアウォールに優しいため、多くのネットワーク構成と互換性がある。
- プラットフォームにとらわれない - Windows、Mac、その他の OS(オペレーティングシステム)と互換性がある。
FTP と SFTP の短所
FTP:
- 強固なセキュリティ対策が欠如しているため、GDPR(EU一般データ保護規則)や CCPA(カリフォルニア州消費者プライバシー法)のような枠組みへの準拠が難しく、データ転送が安全でない場合、データガバナンスのコンプライアンス違反として罰則を受けるリスクがある。
- 2つのチャネルを使うことでセキュリティの脆弱性が生じ、ハッカーに機密データにアクセスされるリスクが上がる。
- 多くの最新のセキュリティ基準や規制に準拠していない。
SFTP:
- SSH キーの管理と SFTP クライアントのセットアップが最初は難しいと感じるユーザーもいる。
- 暗号化によるオーバーヘッドにより、転送速度に若干影響が出る可能性がある。
まとめ
データ転送における FTP と SFTP の論争では、主に「セキュリティ」と「コンプライアンス」という2つの側面が際立っています。SFTP は、Secure Shell による強固なセキュリティ機能により、優れた選択肢として浮上しており、その暗号化によってデータは確実に保護され、それで SSL などのプロトコルが提供する安全性が反映されます。そしてこの強化されたセキュリティは、ウェアハウスに転送されたデータが潜在的なハッカーから保護され続けるということであることから、データガバナンスのフレームワークに関連する政府からの高額な罰則のリスクが下がります。
FTP にもメリットはありますが、SFTP の総合的なメリットは見逃せません。FTP とは異なり、SFTP は転送中にデータを暗号化することから、不正アクセスが最小限に抑えられます。これは、FTP のデュアルチャネルとは対照的に、SFTP が転送にシングルチャネルを使うことを考えると特に重要であり、セキュリティのさらなる強化になります。さらに SFTP には、秘密鍵や従来のユーザー名とパスワードなどの多様な認証方法があります。つまるところ、一貫してセキュアな接続を優先するのであれば、SFTP がベストな選択です。
Integrate.io がお手伝いできること
データ転送に SFTP プロトコルを採り入れることで、ETL プロセスのセキュリティと効率性が上がります。SFTP プロトコルでのファイル転送を決めたら、Integrate.io のような ETL ソリューションが便利です。Integrate.io は包括的な ETL ソリューションとして、SFTP を使った取り組みをサポートするだけでなく、より際立たせます。また、当社のプラットフォームは、ETL プロセスをシームレスに実行するように調整されていることから、送信元から送信先への安全なデータ転送を保証します。
Integrate.io は、単なるサポートだけでなく、SFTP による ETL ワークフローの強化も行います。データウェアハウスへのファイル転送やアルゴリズムツールとのインターフェース、分析プラットフォームとのコラボレーションのいずれにおいても、当社のプラットフォームだと、直感的でコード不要のソリューションが得られ、それによって、複雑なプログラミングに不慣れな方でも、最適化された安全で効率的なデータ転送の恩恵を確実に受けることができます。
ただ、上記を鵜呑みにするのではなく、14日間の無料トライアルでプラットフォームを実際にご覧になって、当社の機能をぜひお試しください。より実践的なアプローチをご希望の場合は、当社の専門家による無料デモからお問い合わせ下さい。そこで質問をしたり、インサイトを得たり、Integrate.io がデータ駆動型プロジェクトの基礎となる方法を視覚化したり絶好の機会になります。
Integrate.io が SFTP を使った ETL にどのようなメリットをもたらすか、詳しくはこちらをご覧ください。