レンタルサーバーを利用してWebサイトを作成する場合にFTPでアップロードというような用語を見たことがありませんか?そもそもFTPとはなんでしょうか。どのように利用するのでしょうか。
この記事ではFTPはどんなものなのか、SFTPとの違いから仕組みや利用方法まで分かりやすくご紹介します。
目次
FTPとは
FTPは「File Transfer Protocol」のことで、インターネットや通信でファイルを転送するために決めた約束事です。この約束事のことを規格と呼んでいます。インターネットに関する規格は、インターネット技術や仕様、運用規則の標準を定める団体であるIEFT(インターネット技術標準化委員会)がRFC(Request for Comments)という文書で定めています。
FTPは歴史が長く、30年以上前にインターネットの前身であるARPA(Advanced Research Projects Agency)ネットで開発されました。その後、仕様は大きく変わっておらず現在もインターネットで標準的なファイル転送仕組みとなっています。
もともとFTPはRFCをオンラインで参照したり、交換したいという要望から誕生したとも言われています。
FTPでできること
FTPを利用してできることは主に下記です。
- 別のPCやサーバーにあるファイルの一覧を表示する。
- PCにあるファイルを別のPCやサーバーにアップロードしたり、ダウンロードする。
例えばWebサイトを公開するために、作成したHTMLや画像ファイルをサーバーにアップロードする必要があります。
また、その他のファイルを他のPCに渡すためにいったんファイルサーバーにファイルを置く場合もFTPでアップロードする必要があります。
このようにネットワークにある他のPCやサーバーにデータをアップロードしたり、そこからダウンロードする場合にFTPが使われます。
FTPのセキュリティ懸念
FTPを利用する場合、PCやサーバーにID、パスワードの設定が必要です。そのID、パスワードをFTPソフトに登録します。
FTPではIDやパスワードの情報が暗号化されず、そのまま読める状態でサーバーとやり取りされます。
このため悪意あるユーザーからそのIDとパスワードを読み取られ、利用される可能性があります。
このような状況を改善するために、FTPを利用する際のIDやパスワードのやり取りをFTPサーバーと暗号化して、読み取れない状況にするためにセキュリティ面でFTPの改良が行われました。これがFTPS(File Transfer Protocol over SSL/TLS)です。
FTPSとは
FTPSは、FTPで送受信するデータを暗号化する仕組みを持っています。SSL/TLSで暗号化された通信を利用することでファイルの送受信を安全に行うことができます。万が一、悪意あるものにデータが読み取られても解析することが非常に困難な仕組みを利用しています。
ただし、FTPSを利用する場合にはデータを転送するサーバーと、転送の際に利用するFTPソフトが双方でFTPSに対応している必要があります。
SSL/TLSとは
公開鍵暗号と秘密鍵暗号という2つの暗号化技術の組み合わせで、暗号化された安全な通信を提供する仕組みです。
SSLとTLSは、大きな概念では同じものです。SSLが改良され進化したことでTLSが誕生しました。しかし、SSLという名前が知れ渡っていることもあって、SSL/TLSと表記されることが多いです。
TLSは2022年4月現在ではRFC8446で標準化されています。
RFC8446: The Transport Layer Security (TLS) Protocol Version 1.3
FTPの仕組み
FTPは「FTPサーバー」と「FTPクライアント」の2つで構成されます。このサーバーとクライアントの間で通信を行い、データを受け渡しすることでファイルの転送が可能になります。
一般的にFTPサーバーはインターネット上に設けられて、Webサーバーと連携することが多いです。そのため、FTPサーバーでファイルの追加や削除、編集を行うとWebサーバーにもその操作が反映されます。
一方、自身のPCがFTPクライアントに相当し、ご自身のPC(FTPクライアント)を経由してFTPサーバー上のファイルを操作します。この際にFTPクライアントで用いられるソフトがFTPソフトと呼ばれています。
FTPを利用する方法
実際にファイル転送を行うには、FTPクライアントにFTPソフトを導入する必要があります。FTPソフトがなくてもブラウザを利用してファイル転送ができるのですが、FTPソフトを使えばファイル転送が容易になったり、さまざまな付加機能が具備されていたりするためFTPソフトを利用することをおすすめします。
FTPソフトの設定に必要な情報
FTPソフトを初期設定する際に下記の情報が必要になります。
- FTPサーバーのホスト名やIPアドレス情報
- FTPサーバーにログインするためのIDとパスワード
上記設定情報は取り扱いに注意ください。情報が他の方に伝わってしまうと第三者からFTPサーバーにアクセスされてしまう危険性があります。悪意があればWebサイトが改ざんされたり、FTPサーバーにあるファイルが削除されたりされてしまう可能性があるためです。
よく利用される無料FTPソフト紹介
FTPソフトは無料のもの、有料のものさまざまなソフトがあります。
FTPの基本的な機能は無料のソフトにも備わっていますので無料ソフトでも十分です。もし有料機能が必要になった場合に有料ソフトの導入を検討すると良いでしょう。
本記事では無料で使えるFTPソフトを紹介します。
FileZilla
Windows、Macどちらにも対応しています。日本語表示にも対応しており、広く利用されています。
FTPに加えてFTPSの利用も可能でセキュリティの面でも安心なソフトです。またその他の機能が豊富で使い勝手が良い点が人気となっています。
FFFTP
Windowsに対応しています。日本人が開発に携わっており歴史が長い無料のソフトです。一時新規開発終了が話題になりましたが、現在では開発者が交代して引き続き開発やメンテナンスが行われています。
日本語の対応はもちろん、日本語利用ユーザーにとって付きやすい機能が充実しています。
FTPSの利用も可能です。
Cyberduck
もともとMac用としてMacユーザーに人気があったソフトですが近年ではWindowsでも利用できるようになりました。日本語にも対応しており、比較的操作しやすいソフトです。ユーザインタフェースが洗練されている雰囲気があります。
他にない特徴としてテキストエディタの機能が具備されています。これによりFTPサーバーからファイルをダウンロードしなくてもファイルのちょっとした内容の書き換えができます。またAWSをご利用の場合、S3にあるファイルのやり取りもできるようS3設定のプロファイルが用意されていることが特徴です。
WinSCP
Windows向けに作られた無料のソフトです。FTPSにも対応しています。日本語にも対応しており、タブ機能で複数のFTPサーバーに一斉に接続できることが特徴です。
まとめ
本記事ではFTPの概要、仕組みや使い方を説明しました。Webサイトの制作や管理に必要な仕組みであることや代表的なFTPソフトについて認識いただけたと思います。
本記事を参考にしてまずは実際に触ってみながらFTPへの理解を更に深めてみることはいかがでしょうか。