FTPとは。ファイル転送の仕組みや、セキュリティ上の課題を解説

みなさんは「FTP」を使ったことがありますか?

FTPとは、サーバーなどとファイルを送受信するための仕組みです。

FTPのファイル転送の仕組みはどのようになっているのでしょうか。

今回は、FTPとはどのようなものか、使用方法、セキュリティを確保する仕組みなどについて解説します。

Winserver共用サーバーなら
Windows Server 2019・2016業界最高のコスパ!
\月額990円~ 2週間無料!/
2週間無料で試してみる

FTPとは

FTPとはどのようなものなのでしょうか。

ファイルを転送する仕組みや、ファイル転送の2つのモードを紹介し、それぞれの違いについて解説します。

FTPの仕組み

FTPは、File Transfer Protocol(ファイル転送プロトコル)の略で、ネットワークを介してファイルを送受信するためのプロトコル(約束事)です。

プロトコルとは、異なるコンピューター同士が互いに通信するために定められた手順や規格を指します。

FTPはどのような時に利用されるのか、簡単な例を挙げて説明します。

たとえば、Webサイトを公開する時には、サイトに表示する画像やテキストといった「ファイル」をWebサーバーに転送する必要があります。

このようなファイル転送を行えるのがFTPです。

FTPソフトを用いてFTPサーバーに接続することで、ファイルをサーバーに送信することができます。

反対に、サーバーからファイルを受信することもできます。

FTPサーバー

FTPサーバーとは、FTPを利用してファイルの送受信を受け付けるサーバーのことです。

ユーザー名とパスワードによる認証の仕組みを備えています。

FTPクライアント

FTPクライアントとは、PCなどの利用者側の端末のことです。

FTPサーバーに接続してファイルを送受信します。

ftp-image

FTPを実際に使う場合の流れ

それでは、実際にFTPを使う際の流れを確認しましょう。

簡単に説明すると、「FTPクライアントからFTPサーバーに接続してファイルのやりとりをする」という流れになります。

1.クライアント→サーバーへの接続とユーザー認証

FTPサーバーに接続します。

接続の際は、ユーザーIDとパスワードを入力し、認証を行います。

2.サーバーのファイル一覧を取得

FTPサーバーに接続すると、ファイルの一覧を取得することができます。

3.送信(PUT)もしくは受信(GET)

ファイルの一覧を取得後は、送信(PUT)や受信(GET)といったファイルのやりとりが出来ます。

コントロールコネクションとデータコネクション

FTPでは、「コントロールコネクション」と「データコネクション」という、2種類のコネクションが使用されています。

コントロールコネクション

コントロールコネクションは、制御コネクションとも呼ばれるもので、ログインするためのユーザー名やパスワード情報、ファイルの転送方法などの命令と応答などに使用される通信経路です。

データコネクション

データコネクションは、転送されるデータの送受信のために使用されます。

FTPでは、この2つのコネクションを使用することで、大量のデータの送受信をスムーズに行うことができます。

バイナリーモードとアスキーモード

FTPでファイルをやり取りする場合の転送モードには2種類あります。

「バイナリーモード」と「アスキーモード」です。

バイナリーモード

バイナリモードでは、データを転送する際に、内容を修正せずそのまま転送されます。

アスキーモード

アスキーモードでは、データを転送する際に、改行コードを自動で修正して転送されます。

 

一般的には、プログラムなどの実行ファイルはバイナリーモード、テキストファイルなどはアスキーモードと使い分けることが多いです。

FTPの使い方

次に、FTPクライアントソフトの紹介や、ファイル転送の方法を解説します。

実際にFTPを使うにはどのようにすれば良いのでしょうか。

よく使われるFTPクライアントソフトとは

FTPの操作には2種類あります。

コマンドラインから操作する方法と、FTPクライアントソフトを使う方法です。

コマンドラインからの操作は初心者にとってハードルが高いため、今回はWindows、Macでよく利用されるFTPクライアントソフトを紹介します。

Windowsで使われるFTPクライアントソフト

Windowsでよく使われるFTPクライアントソフトには以下のようなものがあります。

FFFTP

ffftp

https://ja.osdn.net/projects/ffftp/

対応OS:Windows 2000/XP/Vista/7/8/8.1/10

セキュリティ:FTPSのみ対応

FFFTPは、長い歴史がある人気のFTPクライアントソフトです。

2017年に開発終了との発表もありましたが、2018年に有志が引き継ぎ、現在も開発が継続されています。

WinSCP

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に対応

WinSCPもWindowsで利用できるFTPクライアントソフトです。

根強い人気があります。

Macで使われるFTPクライアントソフト

Macでよく使われるFTPクライアントソフトには以下のようなものがあります。

Cyberduck

Cyberduck

https://cyberduck.io/

対応OS:Windows/Mac OS

セキュリティ:SFTPに対応

Mac向けのFTPクライアントソフトの定番と言えばCyberduck(サイバーダック)です。

シンプルで操作しやすいことが特徴で、Windowsにも対応しています。

FileZilla

filezilla

https://filezilla-project.org/

対応OS:複数のOSで利用可能(Windows/Mac OS/Linux)

セキュリティ:SFTP/FTPSに対応

初心者向けとして人気のFTPクライアントソフトがFileZilla(ファイルジラ)です。

Linuxでも利用可能です。

FTPでのダウンロードとアップロード

紹介したようにFTPクライアントソフトにはいろいろなものがありますが、いずれのソフトにおいても基本的な使い方は以下の通りです。

    1. ソフトを起動する
    2. 接続先のサーバー名もしくはIPアドレスを設定する
    3. 接続するとユーザ名、パスワードを聞かれるので入力する
    4. 接続

このように接続を行うと、ファイルのダウンロードやアップロードが自由に行えます。

なお、接続の際の認証方法にはパスワードの他に、暗号鍵を使う方法などもあります。

FTPはセキュリティに問題がある?

「FTPはセキュリティに問題がある」というイメージを持っている方もいるかもしれません。

FTPのデメリットとしてよく挙げられる、セキュリティについて説明します。

FTPのセキュリティ上の課題

FTPがセキュリティに関して、どのような問題を抱えているか考えてみましょう。

FTPが持つ課題とは、以下のようなものです。

      • 通信が暗号化されていない
      • ゲスト接続が可能な場合がある
        など

つまり、悪意のある第三者が介入することで、通信内容が外部に漏洩する可能性があります。

このように、暗号化等の処理がなされない通常のFTPは、セキュリティ上の問題を抱えています。

FTPの代替プロトコル

FTPにはセキュリティに問題があると言われていますが、ファイルの送受信のためFTPを使用する機会が多いのも事実です。

FTPの持つこうした問題を解決するには、SCPやSFTPと呼ばれる仕組みの活用がおすすめです。

SCP(Secure Copy Protocol)

SCPSecure Copy Protocol)とは、SSHSecure Shell)を用いた暗号化通信です。

SSHとは、遠隔のサーバーを操作する際に、転送される情報を暗号化する仕組みです。

SCPは転送の中断や再開は行えませんが、通信速度が高速であるという特徴があります。

SFTP(SSH File Transfer Protocol)

SFTPSSH File Transfer Protocol)も、SSHSecure Shell)を用いた暗号化通信です。

SCPと違って転送の中断や再開が行えますが、その分通信速度がSCPより遅くなります。

Windows Serverでは、CygwinやWinSCPがインストールされており、SFTPを利用できるようになっています。

 

これらは、いずれもSSHと呼ばれる通信情報を暗号化するプロトコルを使っており、安全性が高いと言えるでしょう。

また、以下のように、SSHを利用しないものもあります。

FTPS(File Transfer Protocol over SSL/TLS)

FTPSFile Transfer Protocol over SSL/TLS)も暗号化をする仕組みで、「SSL/TLS」を用いたものです。

公開鍵暗号と共通鍵暗号という暗号化技術の組み合わせで、暗号化された安全な通信を確保する仕組みです。

 

サーバーへのファイルの転送を行う場合は、FTPは可能な限り使用せず、暗号化された安全性の高い方法を使いましょう。

FTPをクラウド環境で利用する場合

現在は、FTPの接続先がクラウド環境上のWebサーバーであるケースも多いでしょう。

そういった場合には、何か違いがあるのでしょうか。

結論から言うと特に違いはありません。

しかしながら、インターネット上にあるクラウドサービスに接続する場合には、特に以下の点には気をつけることが大切です。

    • 暗号化されたSFTPやSCPなどを使う
    • パスワード認証でなく、証明書や鍵認証を使う

まとめ

Webサイトの制作や運用では、サーバーにコンテンツを送信するといった際にFTPが多く使われます。

ファイルの送受信などFTPは非常に便利で長年使われてきた仕組みですが、通信が暗号化されていないなどセキュリティ上の問題もあります。

近年はこうしたセキュリティリスクは大きな問題となっており、通信を暗号化した安全なFTPとしてSCPやSFTPなどの利用が主流となってきています。

FTP自体は非常に便利な仕組みですが、今回解説したセキュリティ上の課題を踏まえるとそのまま使い続けることはおすすめできません。

FTPでのファイル転送を利用していた場合は、今後はより安全なSFTPやSCPなどに切り替えることを検討しましょう。

Windows環境を利用するなら!
WinserverのVPS
稼働率99.99%・メモリ完全保証

▶ プランを見る

関連記事

特集記事

Windows Serverなら「Winserver」

サーバー移行など、ご相談ください◎

Windows環境を利用するなら!

クラシックASPの移行事例をご紹介!

月額495円から使えるVPS

TOP