SFTP、FTPSはFTPの拡張版と言われています。用途はFTPと同じくクライアント・サーバー間で通信を行うものですが、通信方式は全く異なります。本記事ではそんなSFTP、FTPSについて特徴などをご説明します。
SFTPとは?
SFTP(SSH・ファイル・トランスファ・プロトコル )とは、SSH(セキュアシェル)による暗号化・認証化を行い、安全にリモートネットワーク上の端末と、暗号化された通信経路を通して、ファイルの送受信などの通信が行えるプロトコルです。そのため、SSHが使用できる環境ならSFTPのサービスも利用可能です。
ポート番号はSSHと同じく22番ポートを使用します。
SFTPは、Windows用のSFTP用クライアントソフトである「WinSCP」などを使用すれば、簡単にSFTPを利用してファイルの更新やダウンロードが行えます。
Unix/Linuxなどの場合は、sftpのコマンドを使用してサーバー間との通信を行います。
書式:sftp [オプション] [ログイン名]@[サーバーのホスト名]
また、SFTPと似た通信形式でSCP(セキュア・コピー)があります。SCPはSFTPと同じくSSHによる認証を行いますので、セキュリティが確保されます。
SFTPとの違いはファイルの転送が再開できないことや、SFTPより通信が高速であると言われています。また、フォルダの転送はできませんが、フォルダをzipやtar形式で圧縮して転送することは可能です。
FTPSとは?
FTPS(ファイル・トランスファ・プロトコル over SSL/TLS)とは、SSL(セキュア・ソケット・レイヤー)/TLS(トランスポート・レイヤー・セキュリティ)による暗号化・認証化を行い、通信を暗号化することで、データのやり取りを安全に行うことができます。
FTPSで使用するポート番号は、FTP転送/制御ポートである(989/990)を使用します。
また、FTPSには2つの実行モードが存在し、接続実行後にAUTHコマンドによる暗号化通信を実行する「Explicitモード」と、サーバーに接続後に暗号化通信を実行する「Implicitモード」があります。
FTPSのメリットとして、アスキー/バイナリモードの転送がサポートされていることが挙げられます。そのため転送先で、ファイルの改行コードによる文字化けのリスクを減らせます。
(WindowsやUnix/LinuxなどのOS間で、標準の改行コードが異なり、WindowsからUnix/Linuxのサーバーにファイルを転送すると、改行コードが変更され、文字化けする可能性があります。バイナリモードは、改行コードを統一できるメリットがあります)
ブラウザとウェブサーバー間で通信を行うHTTPSも、SSL/TLSの技術を利用して通信を行います。
FTPSは、Windows用のFTPクライアントソフトである「FFFTP」や、SFTP同様「WinSCP」などを使用してサーバーと通信を行うことが可能です。
FTPは危険?
FTPは、インターネットの技術が生まれた当初から存在する、もっとも古い転送プロトコルの1つで、誕生したのが1971年と言われています。
クライアントとサーバー間でファイルの送受信を行う点では、SFTP・FTPSと同様ですが、セキュリティ面ではSFTP・FTPSに劣ります。
具体的にFTPは、SSHやSSL/TLSによる暗号化・認証化を行わないため、通信内容が暗号化されません。そのため、第三者による盗聴・侵入が行われる危険性があります。そんなFTPの欠陥や、問題点による脆弱性を解決するために、SFTP・FTPSの技術が生まれました。
SFTP、FTPSの違いとは?
SFTP・FTPSは、通信方式こそ違いがありますが、セキュリティ面での要件を満たしており、安心・安全な通信が可能となる手段として、確立されました。
セキュアな情報のやり取りには、暗号化・認証化など、セキュリティが保護された技術を使用することが不可欠です。
SFTP、FTPSともに「共通鍵による認証」「公開鍵による暗号方式」を組み合わせた「ハイブリッド暗号方式」という方式が採用されているため、より安全な通信を行うことが可能です。
・SFTP:SSHによる暗号化・認証化
・FTPS:SSL/TLSによる暗号化・認証化
SFTP、FTPSの特徴や使い方をご説明しました。通信方式はそれぞれ全く異なりますが、FTPに比べてもはるかに安全にファイルの送受信などが可能であることから、実際の運用でも浸透している技術と言えるでしょう。