FTPS、SFTPの違いって?
- FTPS : FTPの通信をSSL/TLSで暗号化 → FTPの拡張
- SFTP : SSHの通信を使って、FTPを行う → SSHで動作するアプリケーション
FTPについておさらい
ファイルを転送するための通信プロトコル
FileTransferProtocol
コマンドの送受信と、ファイルの送受信で使用するポートが異なる
- 20 : FTPデータ転送ポート
- 21 : FTP制御ポート
セキュリティの問題
- ユーザ名やパスワードが暗号化されていない
- 通信内容も暗号化されていない
- 他にも色々セキュリティ的な不具合が多い
なので、通信を暗号化するために出来たのが、FTPSと、SFTP
FTPS
FTPで送受信するデータをSSLまたはTLSで暗号化するプロトコル
File Transfer Protocol over SSL/TLS
SSL/TSLセッションで通信を行う
HTTPSのFTP版とでも言うべき?
RFC
- RFC 2228 - FTP Security Extensions
- RFC 4217 - Securing FTP with TLS
使用ポート
- 989 : FTPデータ転送ポート
- 990 : FTP制御ポート
SFTP
SSHを介してファイル転送を行うプロトコル
SSH File Transfer Protocol
SSHログインをした後に、FTP風のコマンドでファイルの受け渡しを行う
なので内部的には、最初にSSHで接続を行っている
SSH で接続するので、別途 FTP サーバを建てる必要はなく
OpenSSH ならば、sshd_config に設定を追加するだけで、SFTPサーバとすることができる
RFCは無いの?
SFTPと違ってプロトコルではなく、SSH上で動くアプリケーションにすぎないので、無いらしい
RFC for Sftp?
使用ポート
22(SSH と同じ)
参考
SSL/TSL、SSH については、以下を参照
→ 公開鍵暗号について理解が足りていなかったのでメモ - かせいさんとこ