公開:

FTP(File Transfer Protocol)とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


FTP(File Transfer Protocol)とは

FTPとはFile Transfer Protocolの略称で、インターネット上でファイルを転送するための通信プロトコルです。FTPを利用することで、サーバー上のファイルをクライアントのコンピューターにダウンロードしたり、クライアントのコンピューターからサーバーにファイルをアップロードしたりすることができます。

FTPはクライアント・サーバー型のアーキテクチャを採用しています。FTPクライアントがFTPサーバーに接続し、ファイルの転送要求を送信すると、FTPサーバーがその要求に応じてファイルを送受信する仕組みになっているのです。

FTPはTCPプロトコルを使用してデータを転送します。制御用の接続とデータ転送用の接続の2つの接続を確立し、制御用の接続ではコマンドのやり取りを行い、データ転送用の接続ではファイルの送受信を行います。

FTPにはアクティブモードとパッシブモードの2つの通信モードがあります。アクティブモードではFTPクライアントがデータ転送用の接続を確立するのに対し、パッシブモードではFTPサーバーがデータ転送用の接続を確立するという違いがあるのです。

FTPは古くから使われている通信プロトコルですが、現在でも多くのWebサーバーやファイル共有サービスで利用されています。ただし、FTPはセキュリティ面での脆弱性があるため、機密情報を扱う場合にはSSHやSFTPなどの暗号化された通信プロトコルを使用することが推奨されます。

FTPの仕組みと動作原理

FTPの仕組みと動作原理に関して、以下3つを簡単に解説していきます。

  • FTPのクライアント・サーバー型アーキテクチャ
  • FTPの制御用接続とデータ転送用接続
  • FTPのアクティブモードとパッシブモード

FTPのクライアント・サーバー型アーキテクチャ

FTPはクライアント・サーバー型のアーキテクチャを採用しています。FTPクライアントがFTPサーバーに接続し、ファイルの転送要求を送信すると、FTPサーバーがその要求に応じてファイルを送受信するという仕組みになっているのです。

FTPクライアントはユーザーがファイル転送の操作を行うためのソフトウェアで、WindowsではFileZillaやWinSCPなどが広く使われています。一方、FTPサーバーはファイルの保存先となるコンピューターで、Unix系OSやWindowsサーバーなどで動作します。

FTPクライアントからFTPサーバーへの接続はTCP/IPネットワーク上で行われます。FTPクライアントはFTPサーバーのIPアドレスまたはドメイン名とポート番号を指定して接続します。

FTPの制御用接続とデータ転送用接続

FTPでは制御用の接続とデータ転送用の接続の2つの接続を確立します。制御用の接続ではFTPクライアントとFTPサーバー間でコマンドのやり取りを行います。

制御用の接続ではユーザー認証やディレクトリの移動、ファイル一覧の取得などの操作を行います。これに対し、データ転送用の接続ではファイルの送受信を行うのです。

制御用の接続はFTPセッションが終了するまで維持されますが、データ転送用の接続はファイルの送受信が完了すると切断されます。これにより、効率的なファイル転送が可能になるのです。

FTPのアクティブモードとパッシブモード

FTPにはアクティブモードとパッシブモードの2つの通信モードがあります。アクティブモードではFTPクライアントがデータ転送用の接続を確立します。具体的にはFTPクライアントが自身のデータポートを開放し、FTPサーバーからの接続を待ち受けます。

一方、パッシブモードではFTPサーバーがデータ転送用の接続を確立します。FTPクライアントからの要求に応じて、FTPサーバーがデータ転送用のポートを開放し、FTPクライアントがそのポートに接続するという流れになります。

パッシブモードはファイアウォールやNATを越えてファイル転送を行う際に利用されることが多いです。アクティブモードではFTPクライアントが自身のデータポートを開放する必要があるため、ファイアウォールで制限されている場合に利用が難しくなるためです。

FTPの認証方式とセキュリティ

FTPの認証方式とセキュリティに関して、以下3つを簡単に解説していきます。

  • FTPの基本的な認証方式
  • FTPのセキュリティ上の問題点
  • FTPのセキュアな代替手段

FTPの基本的な認証方式

FTPではユーザー認証を行うために、ユーザー名とパスワードを使用します。FTPクライアントがFTPサーバーに接続する際に、ユーザー名とパスワードを入力し、FTPサーバーがそれを検証することで、認証が行われるのです。

FTPの認証方式にはAnonymous FTPとAccount FTPの2種類があります。Anonymous FTPはユーザー名に「anonymous」を指定し、パスワードにはメールアドレスを入力するだけで、誰でもアクセスできる公開用のFTPサーバーで利用されます。

一方、Account FTPは個別のユーザーアカウントを作成し、そのアカウントに対してパスワードを設定することで、認証を行う方式です。企業内のファイル共有サーバーなどで広く利用されているのです。

FTPのセキュリティ上の問題点

FTPはセキュリティ面での脆弱性が指摘されています。FTPではデータが平文で送信されるため、ネットワーク上で盗聴されるリスクがあります。特に、ユーザー名やパスワードといった認証情報が盗聴された場合、不正アクセスにつながる可能性があるのです。

また、FTPサーバーの設定が不適切な場合、ディレクトリトラバーサル攻撃によって、本来アクセスできないはずのファイルにアクセスされてしまう恐れがあります。ソフトウェアの脆弱性を突かれた場合、FTPサーバーが乗っ取られてしまうこともあり得ます。

さらに、FTPではファイルの改ざんや削除を防ぐための機能が提供されていないため、悪意のあるユーザーによってファイルが不正に変更されてしまうリスクもあるのです。こうしたセキュリティ上の問題点から、機密情報を扱う場合にはFTPの利用は避けるべきだと言えます。

FTPのセキュアな代替手段

FTPのセキュリティ上の問題点を解決するために、SSHやSFTPなどの暗号化された通信プロトコルの利用が推奨されています。SSHはセキュアシェルの略称で、ネットワーク上の別のコンピューターにログインしたり、リモートマシン上でコマンドを実行したりするためのプロトコルです。

SSHを利用することで、通信を暗号化し、盗聴や改ざんを防ぐことができます。SFTPはSSH上でFTPと同様のファイル転送を行うためのプロトコルで、SSHのセキュリティ機能を利用してファイル転送を行うことができるのです。

また、FTPS(FTP over SSL/TLS)という、FTPにSSL/TLSによる暗号化を組み合わせたプロトコルも存在します。FTPSを利用することで、FTPの利便性を維持しつつ、セキュアなファイル転送が可能になります。

FTPの用途と利用シーン

FTPの用途と利用シーンに関して、以下3つを簡単に解説していきます。

  • Webサイトのファイル転送
  • 大容量ファイルの送受信
  • 自動化されたファイル転送

Webサイトのファイル転送

FTPはWebサイトの構築や更新に欠かせないツールの1つです。Webサーバー上のHTMLファイルやCSSファイル、画像ファイルなどを、ローカルのコンピューターからアップロードする際に、FTPが利用されることが多いのです。

Webサイトの制作者はFTPクライアントソフトを使って、Webサーバーに接続し、必要なファイルをアップロードします。CMSを利用しているWebサイトではCMSの管理画面からFTP情報を設定し、ファイルのアップロードを行うことができます。

また、Webサイトのバックアップを取得する際にも、FTPが利用されることがあります。Webサーバー上の全ファイルをFTPでダウンロードし、ローカルのコンピューターに保存することで、万が一の際のデータ復旧に備えることができるのです。

大容量ファイルの送受信

FTPは大容量ファイルの送受信にも適しています。メールの添付ファイルでは送信できないような数GBの大容量ファイルでも、FTPを使えば比較的容易に送受信できます。

例えば、動画制作の現場では撮影した動画素材をFTPで共有することが一般的です。また、印刷業界では印刷用のデータをFTPでやり取りすることが多いのです。

クラウドストレージサービスの普及により、大容量ファイルの送受信にFTPを利用するケースは減ってきていますが、セキュリティ面での不安から、クラウドストレージの利用を避けている企業もまだ多く存在します。そういった企業では今でもFTPが重宝されているのです。

自動化されたファイル転送

FTPは自動化されたファイル転送にも利用されています。例えば、Webサーバーのアクセスログを定期的にバックアップサーバーに転送したり、営業報告書を毎日決まった時間にファイルサーバーに転送したりといった用途です。

自動化されたファイル転送を行う際はFTPの機能だけでは不十分な場合があります。その場合はスクリプト言語やバッチファイルと組み合わせることで、より柔軟な自動化が可能になります。

また、HULFT(ハルファト)のようなファイル転送ツールを利用することで、FTPよりも高度な自動化が実現できます。HULFTはFTPの機能に加えて、暗号化や圧縮、データ変換などの機能を備えており、企業のファイル転送業務に広く利用されているのです。

「コンピュータ」に関するコラム一覧「コンピュータ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。