ファイル転送プロトコルとは
ファイル(データ)転送(送る)プロトコル(ルール)クライアントとサーバの間で、ファイルを転送するために必要となる通信プロトコル(規約や手順)のことで、取り決めたルールに従って通信を行います。
インターネットを通じて、データ(ファイル・画像・音声・動画)などを、やり取りする際に用いられ、通信プロトコルには複数の種類があり、代表的なのが「FTP」になりますね!
プロトコル=インターネットを利用する際(通信をする)
情報伝達(データのやりとり)における「通信規約」のこと
要するに、ネットワークを通じて、離れた場所にデータを送る(転送)する為の手段として、パソコンからサーバー上にデータを送る際は、互いに理解できる同じプロトコルを使わないと通信が出来ない。
ですので、データを送りたい時は、お互いに共通の取り決めがなければなりません。
FTPとは
FTP(File Transfer Protocol)ファイル・トランスファー・プロトコル
日本語に訳すと「ファイル転送プロトコル」ということになります!
FTPは、歴史が長く1971年以降から、今も尚、使われている仕様になります。
ただ、FTPは、従来から定着していましたが、通信する際の情報を暗号化せずに転送される!
古くから使用されているプロトコルのためセキュリティに問題があり、「パスワードや認証情報」など、通信に関する一切のデータが平文のままで暗号化されません!
その為、第三者に侵入される危険性があり、「転送されたファイルを盗聴される可能性が高まります。
ですので、現在はリスクが高い「ファイル転送プロトコル」となり利用者は減少してますね!
現在では、「FTPS・SFTP・SCP」の利用が推奨されています。
FTPSとは
FTPS(File Transfer Protocol over SSL/TLS)(FTP over SSL)
FTPで送受信するデータを、「SSL/TLS」で暗号化するプロトコル
暗号化されない「FTP」を解決するために、「FTPS」では、データを暗号化する技術がある「SSL/TLS」を利用してファイルの転送を安全に通信します!
FTPSには、2つの実行モード
- Explicit(明示的)モード(推薦)
接続実行後に、「AUTHコマンド」による暗号化通信を実行する - Implicit(暗黙的)モード(非推薦)
サーバに接続後に暗号化通信を実行する
FTPSは、FTPクライアントソフトの「FFFTP」や「FileZilla」などで、サーバとの通信が可能りなり、簡単に設定ができることから「FTPS」の利用者も多いです。
ただ、サーバ(レンタルサーバー)側で、FTPSのサポートしていることが条件になります。が、一般的なレンタルサーバーでは「FTPS」が対応されてる環境が多いです!
ブラウザとサーバ間で通信を行う(https://)も、「SSL/TLS」の技術を用いて通信を行っています!
SFTPとは
SFTP(SSH File Transfer Protocol)
FTPで送受信するデータを、「SSH」で暗号化するプロトコル
「SFTP」では、データを暗号化する技術がある「SSH」を利用してファイルの転送を安全に通信します!
「鍵認証」と「パスワード認証」
①「鍵認証」
「鍵認証」とは、「秘密鍵と公開鍵」の、鍵ペアを使用する認証方式
要するに、「秘密鍵と公開鍵」を作って(作成)して置いて、サーバー側に「公開鍵」を設定して置く事で、鍵ペアでしか入れない仕組みになる!
PC側に「秘密鍵」、サーバ側に「公開鍵」、互いに一致して初めて接続
②「パスワード認証」
公開鍵と秘密鍵 を使わないで、ユーザIDとパスワードで認証を行います。
パスワード認証方式 | |
メリット | サーバー側で設定したパスワードで認証するので、クライアント側で特別な操作は必要ない |
デメリット | パスワードを解読される可能性がある |
「パスワードが解読される可能性がある」と言われると、ちょっと不安になってしますが、15文字~20文字程度で(記号が使えればなお良い)で、強化のパスワードで設定すれば問題ないのではないでしょうか! | |
鍵認証方式 | |
メリット | ネット上でパスワードが解読される心配が無い |
デメリット | 鍵ペア(公開鍵・秘密鍵)を作成する必要があり、設定する際はある程度の知識が必要 |
秘密鍵を持っているクライアント(パソコン)からしか接続を許可されていないので、他の端末からはログインできないことになる。秘密鍵をバックアップしておくと、別のパソコンでも鍵認証がを行えます。 |
「鍵認証とパスワード認証」は、サーバ側の環境が「SSH」をサポートしていることが条件!
レンサバの仕様によっては、「SSH」の対応がない場合「SFTP」でログインできません。
また、エックスサーバーの様に、「公開鍵認証用鍵ペアの生成」を、サーバーパネルで公開鍵の登録を初心者の方にも簡単にできる場合のありますが、
一般的には、任意で「公開鍵認証用鍵ペアの生成」を行って設定することになるので、手間や知識が必要になる分「FTPS」を利用する方が多くなっているようです!
また、ヘテムルの様に、「パスワード認証」のサポートをしてる場合は、サーバーパネルで、「ON/OFF」の切り替え程度で利用できる場合もありますね!
FTPとFTPSとSFTPの違いについて
従来、データの送受信に、よく使われていたのが「FTP接続」方法ですが、
パスワードや認証情報などが、暗号化されることなくそのままの状態で通信を行っている。
その為、悪意のある攻撃者(第三者)に、
簡単に、転送内容を盗み取られてしまう場合も考えられる!
それに対して、「FTPS」と「SFTP」は、どちらも、セキュリティを備えてるプロトコル(通信規約)となり、ネットワーク上で、安全にファイル転送を実行する事ができる。
FTP接続は危険!
基本的には、ファイル転送する為のプロトコルとなるので、
目的は同じになるのですが、転送する為の手段が、それぞれ異なります。
ですので、「FTPは良くないぞ!」と、よく耳にするのは、
暗号化されない点で、安全に転送が出来ない「危険性」があると言う事になりますね!
もはや、近年は、必ずって言っていいほど、
「FTPS」及び「SFTP」を利用した接続方法が良い!ことになるよね
利用が出来るのか?が問われる!
「SFTP」「FTPS」を利用したい場合は、サーバー側と、FTPクライアント側が、
「FTPS」若しくは「SFTP(SSH)」に、対応(サポート)してなければならない!
レンタルサーバーを利用している場合は、「FTPS」「SFTP(SSH)」の対応を確認
実際に、利用できない共用レンタルサーバーもあると言う事!
「FTPS」と「SFTP」は、どちらも暗号化され仕組みなので、
安全に利用できるのだが、認証方式は全く異なったものとなる
一般的に「SFTP」の場合、「鍵認証」が必要になるので、ちょっと面倒なことから、どちらかと言うと「FTPS」で接続する方が、提供されてるサーバーも多く、簡単に設定できるので、多くのユーザーが利用されている。
FTPクライアントソフトについて?
Webサイトの作成を行う上で、サーバのデータを操作したい場面が出てきます。
当然ながら、わざわざサーバの設置場所まで出向くわけにはいきませんので!
FTPの技術を利用したファイルの転送で、離れた場所からでも操作することができます!
一般的なレンタルサーバーでは、「ファイルマネージャ」が対応されていますので、
ブラウザを使用して、サーバ上のファイルを操作することができるシステムになっていますが
ただ、利便上、多くの方が「FTPクライアントソフト」を利用していて、
また、無料でインストールできるツールになっているので、是非、利用してみてください
- FTPサーバーに接続して、データの操作(設定の変更・確認)ができる!
- サーバ上に、ファイルをアップロード(クライアント⇒サーバ)ができる!
- サーバ上のファイルをダウンロード(サーバ⇒クライアント)ができる!