Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 サーバー上の非特権ポートの範囲を制限することにより、サーバー上の開いたポートの数を減らすことができます。また、この方法により、サーバーを対象としたファイアウォールのルールを設定する手順が簡略化されます。パッシブポートの制限に関する更なる情報は、「ネットワークのオプション」 をご参照ください。