FTPとSFTPの違いをご存知ですか?FTPクライアントは、ウェブサイトのサーバーに接続し、ファイルを転送、管理する際に使用します。FTPクライアントには、FTPとSFTPの両方をサポートしているものがあり、どちらを選べばいいかわからない人も多いはず。

FTPとSFTPの違いとは何か。そしてどちらを使用すればいいのでしょうか。

一言でまとめるなら、SFTPはFTPよりも安全です。KinstaではSFTPのみをサポートし、すべてのお客様にSFTPの使用を推奨しています。

この記事では、FTPとSFTPそれぞれの概要と違い、そしてどちらを使用するべきか、詳しく見ていきます。

FTPとSFTPの違い

まずは、FTPとSFTPの共通点について見てみましょう。

どちらのプロトコルも、FileZillaのようなFTPクライアントを使用して、ウェブサイトのサーバーに接続することができます。エンドユーザーにとっては、FTPとSFTPの使い勝手はほぼ同じであり、どちらでも以下の操作が可能です。

  • サーバーへの接続
  • サーバー上のすべてのファイル(隠しファイルを含む)の閲覧
  • ローカルコンピュータからサーバーへのファイルのアップロード
  • サーバーからローカルコンピューターへのファイルのダウンロード

しかし、内部には大きな違いがいくつかあり、この違いを理解しておくことは重要です。

FTPとは

FTPは、File Transfer Protocol(ファイル転送プロトコル)の略です。クライアントサーバーモデルを使用して、FTPクライアントとウェブサーバーの間で、ファイルの転送をサポートします。

FTPでは、コマンドチャネルとデータチャネルという2つの独立したチャネルを使用して情報を転送します。デフォルトでは、どちらのチャネルも暗号化されておらず、悪意のある第三者によって転送しているデータが盗用される恐れがあります。

SFTPとは

SFTPは、SSH File Transfer Protocol(SSHファイル転送プロトコル)の略ですが、Secure File Transfer Protocol(安全なファイル転送プロトコル)とも呼ばれています。

基本的な機能はFTPと同じですが、SSHトンネルを使用してファイル転送を行うため、FTPのクライアントサーバーや直接転送方式とは異なります。

SSHとは

SSHは、Secure Shell(セキュアシェル)の略で、安全でないネットワーク上で、マシン(サーバー)に安全に接続する暗号化プロトコルです。

SFTPは単一のチャネルしか使用せず、ユーザー名とパスワード、またはSSH暗号鍵のいずれかを使用してクライアントを認証します。

FTPとSFTPの違い

FTPとSFTPの最大の違いは、SFTPが安全なチャネルを使用してファイルを転送するのに対し、FTPがそうでないという点です。

SFTPでは接続は常に保護され、FTPクライアントとウェブサーバーの間で転送されるデータが常に暗号化されます。つまり、ハッカーなどにデータを傍受されることはありません。

FTPでは、最初に接続する際にユーザー名とパスワードによる認証が必要になりますが、ウェブサーバーとFTPクライアントの間でやり取りするデータは暗号化されないため、技術的には第三者がデータを盗用することができてしまいます。

これは特に、機密情報を含むファイルを転送する場合には非常に危険です。例えば、WordPressサイトでは、wp-config.phpファイルを転送する場合。このファイルには、データベースの認証情報や重要な設定が含まれています。

悪意のあるユーザーがこのファイルを入手すれば、WordPressサイトを乗っ取られてしまう可能性があります。

どちらのプロトコルを使用しても、クライアントとサーバー間でファイルを転送できますが、SFTPの方がFTPよりはるかに安全です。

FTPとSFTPのどちらを使用するべきか

すでにお分かりかと思いますが、セキュリティを考慮し、常にSFTPを使用するのがベストプラクティスです。サーバーへの接続とデータの転送をより安全に行うことができます。

KinstaではSFTP接続のみをご利用いただけます。

Kinstaのお客様は、SFTPを使用してWordPressサイトに接続する方法もご覧ください。