WEBデザインをやられている方は日ごろFTP接続でサーバーに接続をして、データをアップロードすることでサイトを公開していると思いますが、今回はそのFTP接続に関する、セキュリティや暗号化などについてと、名前が似ていてSFTPとの違いなどについても紹介します。
FTPS (FTP over SSL/TLS)
FTPS(File Transfer Protocol Secure)は、FTPにSSL(Secure Sockets Layer)またはTLS(Transport Layer Security)を追加して、データ転送を暗号化するプロトコルです。
これにより、データの機密性と完全性が確保され、セキュアな通信が実現します。
SSLとTLSとは
SSL(Secure Sockets Layer)
SSLは、インターネット上でデータを暗号化して安全に通信するためのプロトコルです。
データの送受信時に暗号化を行い、第三者によるデータの傍受や改ざんを防ぎます。
後にTLSに進化しましたが、現在でも「SSL」という用語は広く使われています。
TLS(Transport Layer Security)
TLSは、SSLの後継プロトコルであり、より強力な暗号化とセキュリティ機能を提供します。
SSLと同様にデータの暗号化を行い、通信の機密性と完全性を確保します。
現在、TLS 1.2および1.3が広く使用されています。
FTPSの特徴
- データ暗号化: SSL/TLSを使用してデータを暗号化し、セキュアな通信を提供。
- 認証: SSL/TLS証明書を使用してサーバーとクライアントの認証を行う。
- 互換性: 既存のFTPインフラストラクチャと互換性があるため、既存のシステムに簡単に導入可能。
使用例
# FTPSを使用したファイル転送例
ftp-ssl -p -v -z ssl ftps://example.com
SFTP (SSH File Transfer Protocol)
SFTP(SSH File Transfer Protocol)は、SSH(Secure Shell)を使用してファイルを転送するプロトコルです。
SSHのセキュリティ機能を利用するため、非常に高いセキュリティが提供されます。
FTPのような別のデータチャネルを持たず、すべての通信が単一の暗号化されたチャネルを介して行われます。
SSHとは
SSH(Secure Shell)
SSHは、安全なリモートログインやその他のネットワークサービスを提供するためのプロトコルです。
データの暗号化と認証を行い、セキュアな通信を実現します。
主にリモートシェルアクセスやファイル転送に使用されます。
SFTPの特徴
- 単一チャネル: データ転送とコントロール情報が同じチャネルでやり取りされるため、ファイアウォールの設定が容易。
- 高度なセキュリティ: SSHを使用してデータを暗号化し、強力な認証機能を提供。
- ファイル管理機能: ファイルの転送だけでなく、ファイルの削除、名前変更、ディレクトリの作成などの操作も可能。
使用例
# SFTPを使用したファイル転送例
sftp user@example.com
SSL、TLS、SSHの役割と機能
SSL/TLSの役割
- 暗号化: データを暗号化して、第三者による盗聴を防止。
- 認証: サーバーとクライアントの認証を行い、信頼性を確保。
- データの完全性: データが送信中に改ざんされていないことを確認。
SSHの役割
- セキュアなリモートアクセス: リモートシェルアクセスを暗号化して提供。
- ファイル転送: SFTPやSCP(Secure Copy Protocol)を使用して、安全にファイルを転送。
- ポートフォワーディング: ネットワークトラフィックを安全にトンネリング。
まとめ
FTPSとSFTPは、それぞれ異なるプロトコルを使用してデータをセキュアに転送するための方法です。FTPSはSSL/TLSを使用してFTP通信を暗号化し、SFTPはSSHを使用して高いセキュリティでファイルを転送します。
どちらのプロトコルも、データの機密性と完全性を確保するために重要な役割を果たします。
名前は似ていますが、FTPSは主にFTP接続で行っている作業のセキュリティを強化する際に使われたりするので、ウェブデザインをされている方はなじみがあると思いますが、SFTPに関しては開発をしている方がサーバーにリモート接続する際などに使われるので、システムなどに携わっていたりサーバー関係のエンジニアを経験していないとあまりなじみがないものになってしまうかと思います。
しっかり役割を理解しておくことで検定や案件の管理などにもつながってくる内容になると思います。