本文へ移動

ファイル転送プロトコル(FTP)— 概要、仕組み、セキュリティ、用途

FTP(ファイル転送プロトコル)は、システム間でファイルを転送するための標準ネットワークプロトコルです。仕組み、種類、セキュリティ上の考慮点、歴史、主な用途を解説します。

概要

ファイル転送プロトコル(FTP)は、TCP/IPネットワーク上のコンピュータ間でファイルを移動するために長年使われてきたプロトコルである。クライアント・サーバーモデルを実装しており、サーバーはファイルを公開して要求に応答し、クライアントはサーバーに接続して、ファイルの一覧表示、取得、アップロード、管理を行う。FTPは、ウェブサイトの公開、大規模なデータセットの共有、簡易的なバックアップや同期の作業によく利用される。技術仕様および標準に関する情報は、プロトコル文書のFTP仕様を参照。

画像ギャラリー

4 画像

FTPの仕組み

FTPは通常、コマンドと応答のための制御接続と、実際のファイル転送のための別個のデータ接続という、2本のTCP接続を使用する。従来のFTPでは、よく知られたポート番号を用い、制御接続にはポート21、アクティブモードのデータ接続にはポート20を使用する。また、データ接続をどちら側が開始するかが異なる、アクティブパッシブという2つの主要な接続方式をサポートする。FTPサーバーを操作するには、通常、利用者がFTPクライアントプログラムを実行するか、OSに統合された機能を使用する。クライアントおよびサーバーツールの一覧は、FTPソフトウェアのリソースで確認できる。基盤となるネットワーク環境の考え方はFTPの設計において中心的であり、プライベートなローカルエリアネットワークや公衆インターネットを含む、一般的なIPネットワーク上で動作する(ネットワークの基礎インターネット)。

主な操作と機能

  • ディレクトリの一覧表示と移動(ls、dirコマンド)
  • ファイルのダウンロードとアップロード(get、put)
  • リモートホスト上のファイル名変更、削除、ファイル権限の変更
  • 公開ファイル配布のための匿名アクセス、または非公開ファイルのための認証済みアクセス

クライアントはユーザー名とパスワードを使用してサーバーに認証される。サーバーは通常、アクセス制御を適用し、認証モジュールを実行したりシステムアカウントと統合したりする。一般的な認証の概念については、リモートアクセスおよび認証方式を参照。

種類とセキュリティ上の考慮点

標準FTPは認証情報とデータを平文で送信するため、信頼できないネットワーク上での機密性を要する転送には適さない。広く使用される安全な代替方式または拡張には、FTPS(FTP over TLS)とSFTP(SSH File Transfer Protocol)がある。FTPSは従来のFTPにトランスポート層セキュリティを追加するものである一方、SFTPはSSH上に構築された別個のプロトコルである。管理者はファイアウォールでFTPを制限することがあり、NATに対応するためにパッシブモードを使用することもある。サーバーが接続を受け付ける方法については、サーバーの接続処理を参照。

歴史と発展

FTPはパケットネットワークにおける最も古いアプリケーションプロトコルの一つであり、初期のARPANETおよびインターネットとともに発展した。その設計には、単純なコマンド/応答による制御、分離されたデータチャネル、最小限の組み込み暗号化といった、当時の制約や慣行が反映されている。時代とともに、コミュニティは安全な拡張を追加し、商用およびオープンソースを含む多数のクライアントとサーバー実装を開発してきた。FTPの進化と互換性の問題については、モバイルおよびレガシー利用に関する注記などの歴史的・技術的資料を参照。

用途、例、注目すべき事項

FTPは、単純さ、スクリプトによる自動化、またはレガシーシステムとの互換性が重要な作業で、現在も利用されている。典型例としては、ウェブホストへのウェブサイトファイルのアップロード、機関のサーバーからの大規模な科学データセットの配布、システム間での画像やログの転送が挙げられる。HTTPベースのAPI、クラウドストレージサービス、管理型ファイル転送ソリューションなど、多くの現代的な代替手段は、より優れたセキュリティと容易なファイアウォール通過を提供するため、新規プロジェクトではFTPに取って代わっている。それでも、OSをまたぐ広範な対応と大きなツールのエコシステムにより、FTPは引き続きネットワークや文書で見られる。

区別:FTP、FTPS、SFTPはしばしば混同されるが、異なるプロトコルである。管理者は、セキュリティ要件、クライアントの対応状況、ネットワーク上の制約に基づいて選択すべきである。実践的な手順ガイド、ソフトウェア一覧、相互運用性のヒントについては、上記リンクからコミュニティ管理のリソースおよびベンダー文書を参照できる。

関連項目

著者

AlegsaOnline.com ファイル転送プロトコル(FTP)— 概要、仕組み、セキュリティ、用途

URL: https://ja.alegsaonline.com/art/36881

共有