皆さんは「FTP」って使ったことがありますか?
FTPとは、サーバーなどにファイルを送信したり、逆にサーバーなどからファイルを受信したりすることのできるファイル転送の仕組みです。
このFTPは、どういったもので、どんな仕組みになっているのでしょうか。
また、どのような方法で使うことができるのでしょうか。
今回はFTPについてさまざまな疑問にお答えします。
FTPとは
まずFTPとはどういったものなのでしょうか。
FTPの仕組みや、ファイル転送の2つのモードを紹介し、それぞれの違いについて解説します。
FTPの仕組み
FTPは、File Transfer Protocol(ファイル転送プロトコル)の略で、ネットワークを介してファイルを送受信するための仕組みです。
FTPでファイルを転送するためには、以下の2つの要素が必要となります。
送受信を受け付ける側(サーバー:Webサーバーなど)
ファイルを送受信する側(クライアント:普通のパソコンなど)
「FTPクライアントからFTPサーバーに接続してファイルのやりとりをする」という流れになります。通信の実際の流れの概要は以下のようになっています。
- クライアント→サーバーへの接続とユーザー認証
- サーバーのファイル一覧を取得
- 送信(PUT)もしくは受信(GET)
FTPは、こういった流れでファイルのやり取りが行われています。
バイナリーモードとアスキーモード
FTPでファイルをやり取りする場合の転送モードには「バイナリーモード」と「アスキーモード」があります。
一般的には、プログラムなどの実行ファイルはバイナリーモード、テキストファイルなどはアスキーモードと使い分けることが多くなっています。
では、実際にはこれら2つのモードはどのように違うのでしょうか?
転送の際にデータの修正などは行わない
改行コードを自動で修正して転送する
このように、FTPも転送データの修正の有無で2つのモードがあります。
FTPの使い方
実際にFTPを使うにはどのようにすれば良いのでしょうか。
ここでは、FTPクライアントソフトの紹介や、ファイル転送の方法を解説します。
よく使われるFTPクライアントソフトとは
FTPを使う場合、コマンドラインから使う方法とFTPクライアントソフトを使う方法の2通りがあります。
しかし、コマンドラインから利用する方法は初心者にとってはハードルが高いので、今回はFTPクライアントソフトについて、よく使われるものを紹介します。
<Windows>
Windows版のFTPクライアントソフトには以下のようなものがあります。
・FFFTP
https://ja.osdn.net/projects/ffftp/
対応OS:Windows 2000/XP/Vista/7/8/8.1/10
セキュリティ:FTPSのみ対応
長い歴史がある人気のFTPクライアントソフト。
2017年に開発終了との発表もあったが、2018年に有志が引き継ぎ、現在も開発を継続中。
https://www.itmedia.co.jp/news/articles/1804/05/news088.html
・WinSCP
https://ja.osdn.net/projects/winscp/
対応OS:Windows XP/Vista/7/8/8.1/10、Windows Server 2003/2008/2012/2016
セキュリティ:SFTP/SCP/FTPSに対応
こちらもWindowsで利用できるFTPクライアントソフト。根強い人気を誇ります。
<Mac>
Mac版のFTPクライアントソフトには以下のようなものがあります。
・Cyberduck
対応OS:Windows/Mac OS
セキュリティ:SFTPに対応
Mac向けのFTPクライアントソフトとして定番ソフトといえば「Cyberduck(サイバーダック)」です。
シンプルで操作しやすいことが特徴です。Windowsにも対応しています。
・FileZilla
https://filezilla-project.org/
対応OS:複数のOSで利用可能(Windows / Mac OS / Linux)
セキュリティ:SFTP/FTPSに対応
初心者向けとして人気の「FileZilla(ファイルジラ)」。Macでも利用可能です。
FTPでのダウンロードとアップロード
紹介したようにFTPクライアントソフトにはいろいろなものがありますが、いずれのソフトにおいても基本的な使い方は以下の通りです。
- ソフトを起動する
- 接続先のサーバー名もしくはIPアドレスを設定する
- 接続するとユーザ名、パスワードを聞かれるので入力する
- 接続
このように接続を行うと、ファイルのダウンロードやアップロードが自由に行えます。
なお、接続の際の認証方法にはパスワードの他に、暗号鍵を使う方法などもあります。
FTPとセキュリティ
「FTPはセキュリティに問題がある」というイメージを持っている方もいるかもしれません。
最後に、FTPとセキュリティについて取り上げます。
FTPの持つ課題
まず、FTPがどういった問題を抱えているか考えてみましょう。
FTPが持つ課題とは、以下のようなものです。
・通信が暗号化されていない
・ゲスト接続が可能な場合がある
など
これらは、すべてセキュリティ上の問題です。
こうした問題を抱えるために、「FTPは利用すべきでない」といったことが言われるのです。
セキュリティを向上させたFTP
FTPの持つセキュリティ上の問題を解決するために、作られたのがSCPやSFTPといった仕組みです。
SSH(Secure Shell)を用いた暗号化通信です。
転送の中断や再開はできないが高速なのが特徴です。
SSH(Secure Shell)を用いた暗号化通信です。
SCPと違い、転送の中断や再開ができるが、その分SCPより遅い。
これらは、いずれもSSHと呼ばれる通信情報を暗号化するプロトコルを使っており、安全性の高いものとなっています。以下のように、SSHを利用しないものもあります。
FTPの脆弱性をカバーするために、転送される情報を「SSL/TLS」を用いた暗号化通信です。
公開鍵暗号と共通鍵暗号という暗号化技術の組み合わせで、暗号化された安全な通信を確保する仕組みです。
サーバーへのファイルの転送を行う場合は、可能な限りFTPではなく、こうした安全性の高い方法を使いましょう。
まとめ
Webサイトの制作などでは、サーバーへのファイルの送受信を行うことがよくあります。
こうしたときに使われるのがFTPです。
FTPは非常に便利で長く使われてきた仕組みですが、実は暗号化できていないなどの問題も抱えています。
こうしたセキュリティ上の問題を解消したファイル転送の仕組みとして利用が広がっているのがSCPやSFTP、FTPSといったものです。
これからWeb制作などでファイル転送を行う場合には、こうしたセキュリティの高い仕組みが用いられたFTPクライアントソフトの利用をおすすめします。
コメント