Show Table of Contents
18.2. FTP
File Transfer Protocol (
FTP
) は、今日インターネット上で見られる、最も古く、一般的に使用されているプロトコルです。目的は、ユーザーがリモートホストに直接ログインしたり、リモートシステムの使用法についての知識を持つ必要なく、ネットワーク上のコンピュータホスト間で確実にファイルを転送することです。これによりユーザーは、標準の簡単なコマンドセットを使用してリモートシステム上のファイルにアクセスすることができるようになります。
このセクションでは、
FTP
プロトコルの基礎概要、及び Red Hat Enterprise Linux に同梱されている主要な FTP
サーバー用の設定オプション vsftpd
を解説しています。
18.2.1. File Transfer Protocol (ファイル転送プロトコル)
しかし、
FTP
がインターネット上で普及しているため、公共とのファイルの共有を要求されることが多くあります。そのためシステム管理者は、FTP
プロトコル特有の性格について認識しておく必要があります。
インターネット上で使用されているほとんどのプロトコルとの相違点は、
FTP
が正しく機能するために複数のネットワークポートを必要とすることです。FTP
クライアントアプリケーションが FTP
サーバーへの接続を開始する際に、コマンドポート として知られるポート 21
をサーバー上で開きます。このポートは、すべてのコマンドをサーバーに発行するために使用されます。サーバーから要求されたデータはいずれも データポート を介してクライアントに返されます。データ接続が開始されるデータ接続用ポートの番号は、クライアントが アクティブ か パッシブ のモードでデータを要求するかによって変化します。
これらのモードについての定義は以下の通りです。
- アクティブモード
- アクティブモードは、
FTP
プロトコルでクライアントへのデータ転送に使用される元来の方法です。FTP
クライアントがアクティブモードのデータ転送を開始すると、サーバ−は、サーバー上のポート20
から、クライアントの指定するIP
アドレスとランダムな非特権ポート (1024
以上) への接続を開きます。このような方法では、クライアントマシンがポート1024
以上での接続を受け入れるように許可されていなければならないことになります。インターネットのような、セキュリティ保護されていないネットワークが増加するにともない、ファイアウォールを使用したクライアントマシンの保護が普及しています。このようなクライアント側のファイアウォールはアクティブモードのFTP
サーバーから着信する接続を拒否する場合が多いため、パッシブモードが考案されました。 - パッシブモード
- パッシブモードは、アクティブモードと同様に、
FTP
クライアントアプリケーションによって開始されます。サーバーからのデータを要求する際に、FTP
クライアントはパッシブモードでデータにアクセスしたいことを知らせると、サーバーはサーバー上のIP
アドレスとランダムな非特権ポート (1024
以上) を提供します。クライアントは、サーバー上のそのポートに接続して要求した情報をダウンロードします。パッシブモードは、クライアント側のファイアウォールによるデータ接続障害の問題を解決しますが、サーバー側のファイアウォールの管理を複雑化させてしまう場合があります。FTP
サーバー上の非特権ポートの範囲を制限することにより、サーバー上の開いたポートの数を減らすことができます。また、この方法により、サーバーを対象としたファイアウォールのルールを設定する手順が簡略化されます。パッシブポートの制限に関する更なる情報は、「ネットワークのオプション」 をご参照ください。