【入門】FTPとは?通信・ソフトについて分かりやすく解説します
FTP(File Transfer Protocol)はサーバーとクライアント間で、ファイルを送受信する通信の決まりごとです。FTPという用語だけで、本来の意味である通信方法以外にも、FTPサーバーやFTPクライアント(ソフト)など、多用な意味を持って語られることが多いのが現状です。
FTPとは
はじめに
そもそもWebサイトを公開するためには、手元にある文章や画像データなどを、Webサーバーに転送(実質的には複製)しなければなりません。これがFTPの基本です。FTPの用語に含まれるPはプロトコル(約束事)の略で、転送作業を実施する決まりごとを示しています。実際の作業はFTPソフトを利用し、FTPサーバーに接続します。するとWebサーバーにあるファイル一式が表示されます。そこで手元にあるファイルを転送して上書きしたり、新規に転送して追加したりまた削除し、Webサーバーの公開データを更新します。
近年WordPressなどのCMSが普及し、FileをTransfer(転送)する作業は少なくなりました。それでもWebサイトの制作や管理の現場では、FTPやそのセキュリティ改良版を重宝しています。もともとFTPは、インターネットの誕生とともに使われ始めた、歴史のある技術です。その後、より安全に、より簡単に使いやすいように改良されて現在に至っています。
繰り返しになりますが、厳密にはFTPという用語には多くの意味と関連技術があるため、全てを理解することは意外と難しいと思います。そこで次項からは、現状のFTPについて概要を整理し、セキュリティなどの問題点とその解決方法をご紹介します。
FTP通信の仕組みとは
概要
FTP自体が目的で完結するわけではなく、あくまで中継や輸送の手段です。要所に位置して、通信全体をつなぐ仕組みです。具体的にはFTPサーバーとFTPクライアントと呼ばれ、両者間でデータがやり取りされています。
FTPサーバーはインターネット側に位置し、Webサーバーとつながっています。そのためFTPサーバーを操作することにより、Webサーバー内のファイルを制御できます。
この制御方法にはいくつかあります。一番わかりやすいのはFTPクライアントという専用ソフトを、手元のPCで利用する方法です。後ほどWindows用とMac用の定番ソフトをご紹介します。このFTPクライアントにFTPサーバーへの接続情報を一度設定すれば、繰り返し操作ができて便利です。
FTPを構成する大切な仕組み
難しい話になりますが、FTPにはサーバー側にもクライアント側にも、PIとDTPという専門的なプログラムが含まれています。普段FTP利用時には、まったく意識しない地味な機能ですが、ファイル転送には不可欠な役割を担っています。
まずPIとはProtocol Interpreter(プロトコル・インタプリタ)の略で、指示内容をプロトコルにインタプリタ(翻訳)することを担当しています。そしてサーバー側とクライアント側双方のPIが、互いに通信し合っています。FTPクライアントによる操作が、直接FTPサーバーに影響するわけではなく、インタプリタ(翻訳)という中継ぎが存在しています。
次にDTPとはData Transfer Process(データトランスファープロセス)の略で、実質的なデータ転送プロセスを示しています。先に説明したPIとこのDTPの2つが揃って初めて、念願のファイル転送が実現できます。なおDTPもサーバー側とクライアント側両方にあり、相互に通信するだけでなく、PIとも連携しています。
SFTPとは(FTPとの違い)
FTPをセキュリティの面で、より安全にした改良版のひとつがSFTPです。SFTPのSとは、SSH(セキュアシェル)の頭文字です。SFTPはFTPの利便性を損なわず、さらにFTPにSSHの安全性を付加しています。
- (1)FTPの弱点
- 通信経路が暗号化されていないことが挙げられます。そのため、悪意をもった第三者から盗視や侵入される可能性があり、危険があると言われています。
- (2)SSHとは
- FTPに似ているプロトコルです。主な違いとして、SSHは暗号や認証の技術を利用して、安全に通信ができることです。通常SSHを使う場面は、サーバーにログインして設定や管理などの操作するときです。SSHにもサーバーとクライアントがあり、SSHクライアントソフトをPCにインストールして、SSHサーバーにつなぎにいきます。
コントロールコネクションとデータコネクション
既述の項目「FTPを構成する大切な仕組み」の通り、FTPにはサーバー側にもクライアント側にも、PIとDTPの2種類の仕組みが動いています。この仕組みに関連して、サーバーとクライアントのつながり(コネクション)にも、次の2種類あります。
PI(プロトコル・インタプリタ) | DTP(データ転送プロセス) | |
---|---|---|
コネクション分類 | コントロールコネクション | データコネクション |
ポート番号 | 21 | 20 |
ポート番号とは
サーバーのアプリケーション毎に、あらかじめ決められた数字です。今回のFTPの場合は、コントロール用の20番とデータ用の21番で2個あります。
一般にサーバーは、余分なポート番号は通過できないように閉じて、使っているアプリケーションの通信のみを通過できるように設定しています。これがファイアウォール(防火壁)運用の基本で、セキュリティを維持する一つの方法となっています。
FTPでできること
以下の4点にまとめることができます。
- FTPサーバーに接続しデータの操作(FTPクライアントソフト利用で容易に可能)
- 物理的に離れたサーバーにアクセス(わざわざサーバーの設置場所に行く必要がない)
- データの操作(1) ファイルのアップロード (クライアント→サーバー)
- データの操作(2) ファイルのダウンロードとバックアップ(サーバー→クライアント)
あらためてFTPサーバーとは
この項目ではサーバー側からみたFTPについて、現状を簡単にご紹介します。
レンタルサーバーの状況
サービス開始時には設定済で、すぐに利用できるようになっています。その利用にはFTPサーバーへの接続情報さえわかればよく、普段、存在を意識することはまずありません。それは、レンタルサーバー業者があらかじめFTPサーバーのアプリケーションを、サーバーにインストールして、少しでも安全に利用できるように設定しているからです。
ライセンス
現在多くのFTPサーバーのアプリケーションが公開されています。その中にはオープンソースとして、ライセンスの条件次第で無料で利用できるものもあります。
アプリケーション
Linux OS用のFTPサーバーのアプリケーションとして有名なものには、VsftpdやProFTPDなどがあります。設定自体はそれほど難解ではないため、VPSなどを利用して利用者自身で設定している方も少なくありません。
既に触れたように、セキュリティの観点でリスクがあるため、FTPは代替手段のSFTPに移行しつつあります。
FTPソフト(クライアント)とは
次にクライアント側からみたFTPについてご説明します。
概要
レンタルサーバー利用の場合は、業者から通知された設定情報を正確にFTPソフトに設定してください。一度だけ実施すれば、次回からはクリック一つでFTPサーバーに接続が可能です。
FTPソフトの設定に最低限必要な情報
- FTPサーバーのホスト名
- FTPサーバーにログインするためのユーザー名
- 上記(2)に対応するパスワード
注意点
言うまでもなく、これらの設定情報の取り扱いにはくれぐれもご注意ください。情報が外部に知れ渡ってしまうと、第三者からFTPサーバーにアクセスされ、Webサイトの改ざん被害などにつながる可能性があります。
よく使われる無料FTPソフト
それでは、初心者に人気の定番FTPソフトを幾つか取り上げたいと思います。どのソフトもバージョンアップを重ねているため、どなたでも使いやすいのではないでしょうか。
Windows/Macどちらでも対応「FileZilla」
(1)公式サイトFileZilla
(2)特徴
- 複数のOSで利用可能(Windows/Mac OS X/Linux)
- 機能は豊富で詳細まで設定可能
- SFTP利用可
出典:FileZilla
Windowsの定番その1「FFFTP」
(1)公式サイトFFFTP (エフエフエフティーピー) プロジェクト
(2)特徴
- シンプルな画面で操作がしやすい
- 日本製
- 公開されてから20年の歴史があるが、開発終了のニュースあり
- 筆者も利用中
Windowsの定番その2「WinSCP」
(1)公式サイトWinSCPプロジェクト
(2)特徴
- シンプルな画面で操作がしやすい
- SFTP利用可
- タブを用いて複数のFTP同時接続が可能(これは便利)
- 筆者も利用中
出典:WinSCPプロジェクト
Macならこちらもおすすめ「Cyberduck」
(1)公式サイトCyberduck
(2)特徴
- 日本語に対応し、シンプルで操作しやすい
- 接続方法が多様(Cloud ストレージ対応。画面キャプチャー画像参照)
- Windowsでも利用可
- SFTP利用可
FTPで簡単にサーバーへファイルを送受信!
ここまでいかがでしたか。FTPはWebサイト更新作業には欠かせない手段です。ただ、意外と詳細を理解していないことが多いのではないでしょうか。
FTPのセキュリティ面で不安のある場合は、解決方法があることをご理解いただけたかと思います。本文では紹介していませんが、解決手法としてFTPサーバーへのアクセス制限をかける方法もあります。例えばカゴヤ・ジャパンでは、共用サーバーなどで標準搭載している無料オプションにより、不正アクセスを防御しています。ご検討されてみてはいかがでしょうか。