ファイル転送プロトコル(FTP、FTPS、SFTP、SCP)は、インターネットを通じてファイルをサーバーや他のデバイスに送信するためのさまざまな手段です。
とはいっても未経験エンジニアの私にはさまざまな記事を読んでもなかなか吞み込めず毎度調べなおしていたので記事にしてアウトプットして覚えていきたいナ。
※内容に誤りがあればご教授いただきたいです。
1. FTP (File Transfer Protocol)
概要
FTPは、最も古いファイル転送プロトコルの1つです。TCP/IPネットワーク(例えばインターネット)を使ってファイルをサーバー間で転送します。ただし、データと認証情報(ユーザー名とパスワード)が暗号化されないため、セキュリティに不安があります。
使用場面
- ファイルが公開されているため、セキュリティが特に問題でないとき。
- ローカルネットワーク内でのファイル転送。
メリット
- シンプルで設定が容易。
- 多くのツールが対応している。
デメリット
- 暗号化されていないため、セキュリティが弱い。
例
FTPは、普通郵便で封をせずに手紙を送るかんじです。簡単で安価ですが、他の人に手紙の内容を覗かれる可能性があります。
2. FTPS (FTP Secure)
概要
FTPSは、FTPにSSL/TLS暗号化を追加したものです。暗号化された通信チャネルを使用して、認証情報やファイルが安全に送信されます。
使用場面
- 安全性が求められるファイル転送(例えば、機密情報の送受信)。
- FTPの使用が義務付けられているが、暗号化が必要な場合。
メリット
- 暗号化によりセキュリティが向上。
- 標準的なFTPの仕組みを維持しながらセキュリティを強化できる。
デメリット
- ファイアウォールやネットワークの設定が複雑になることがある。
- FTPSをサポートしていないクライアントが存在する場合がある。
例
FTPSは、普通郵便で封緘して手紙を送るかんじです。内容は暗号化されているので、盗まれても中身が読めません。
3. SFTP (SSH File Transfer Protocol)
概要
SFTPは、SSH(Secure Shell)を基盤としたファイル転送プロトコルです。SSHを使用して、データと認証情報のすべてが暗号化されます。FTPとは異なり、SFTPはファイル転送のための完全なプロトコルで、単にセキュアな「FTP」ではありません。
使用場面
- 安全なファイル転送が必要な場合。
- リモートサーバーへのセキュアなアクセスを頻繁に行うプロジェクト。
メリット
- 完全に暗号化されており、高いセキュリティを提供。
- 1つのポート(通常22番ポート)を使用するため、ファイアウォールの設定がシンプル。
デメリット
- 通常のFTPよりも設定がやや複雑。
- 転送速度がFTPSやSCPに比べて遅い場合がある。
例
SFTPは、セキュリティガード付きの金庫の中に手紙をいれて送るようなものです。誰もその中身を見ることができませんし、金庫がしっかりと守られています。
4. SCP (Secure Copy)
概要
SCPは、SSHを利用してファイルを転送するプロトコルで、単純かつ高速です。ファイルの転送に特化しており、ファイルの権限やタイムスタンプも保持できます。
使用場面
- 高速なファイル転送が必要で、セキュリティが重要な場合。
- 単純なファイル転送のためのツールとして利用する場合。
メリット
- SFTPよりも高速にファイルを転送できる。
- ファイルのメタデータ(タイムスタンプ、権限)も転送可能。
デメリット
- ファイル管理(削除、リスト表示など)はできない。
- SFTPほど多機能ではない。
例
SCPは、速達便を使って鍵付きの金庫で手紙を送るようなものです。セキュリティが強固であり、素早く届きますが、管理は最低限の機能しかありません。
6. まとめ表
プロトコル | 暗号化 | ポート番号 | 使用場面 | メリット | デメリット |
---|---|---|---|---|---|
FTP | なし | 21 | セキュリティが不要なローカルファイル転送 | シンプル、広く対応 | セキュリティが弱い |
FTPS | あり | 21/990 | 暗号化されたFTPが必要な場合 | 暗号化でセキュリティ強化 | 設定が複雑 |
SFTP | あり | 22 | セキュリティが重要なファイル転送 | 完全に暗号化、高いセキュリティ | 転送速度がやや遅い |
SCP | あり | 22 | 高速なファイル転送が必要でセキュリティも重要 | 高速かつ安全 | ファイル管理機能が不足 |