章 15章. FTP

ファイル転送プロトコル(FTP)は、今日のインターネット上で最も古く、最も一般的に使用されるプロトコルです。その目的は、ユーザーによるリモートホストへのログインの必要性やリモートシステムを扱う知識の必要性がなく、ネットワーク上のコンピューターホスト間で信頼できるファイルの転送をすることです。これにより、ユーザーは標準の簡単なコマンドセットを使用してリモートシステム上のファイルにアクセスできます。

この章では、FTP プロトコルの基本と、さらに Red Hat Enterprise Linux で配給されるプライマリー FTP サーバー用の設定オプション、vsftpdを概説しています。

15.1. ファイル転送プロトコル

FTP はクライアントサーバーのアーキテクチャを使用して、TCP ネットワーク プロトコルを利用したファイル転送をします。FTP は旧式のプロトコルの為、ユーザー名と パスワード認証に平文を使用しています。この理由で、これは安全でないプロトコルと 見なされ、絶対に必要でない限り使用すべきではありません。FTP のより良い代理使用は ツールの OpenSSH セットにあるsftp です。OpenSSH に関する 詳細情報は Red Hat Enterprise Linux システム管理ガイドの中にある OpenSSHと言う章を参照して下さい。SSH プロトコルに関する詳細情報は 章20章を参照して下さい。

しかしながら、FTP はインターネットで普及している為、しばしば公共と一緒にファイルを共有する必要が出てきます。その為、システム管理者は FTP プロトコルの独特の性質に付いて認知しておく必要があります。

15.1.1. マルチポート、マルチモード

インターネットで使用されるほとんどのプロトコルと違って FTP は的確に機能する 為に複数のネットワークポートを必要とします。FTP クライアントアプリケーションが FTP サーバーへの接続を開始する時、そのアプリケーションはサーバー上のポート21 — (コマンドポートと呼ばれます)を開きます。 このポートはサーバーへの全てのコマンドを発行する為に使用されます。サーバーで 要求されるデータは データポートを経由してクライアントに 返還されます。データ接続用のポート番号とデータ接続が開始される方法は、クライ アントがデータをアクティブモードかパッシブ モードで要求するかにより、左右されます。

以下の説明はこれらの方法を示します:

アクティブモード

アクティブモードはデータをクライアントアプリケーションに転送する為に FTP プロトコル で使用されるオリジナルの方法です。FTP クライアントによってアクティブモードの データ転送が開始された場合、サーバーはサーバー上のポート20から 該当IPアドレス及び、不定の非特権ポート(1024以上)への接続を開きます。この設定は、クライアントマシンが 1024以上のポートにはすべて、接続許可される必要があるという意味になります。インター ネットなどの不安全なネットワークが増加するに連れて、クライアントマシンを保護する ファイアウォールの使用が普及してきますが、このクライアント側のファイアウォールは多くの場合、アクティブモードの FTP サーバーからの接続を拒否する為、パッシブモードが 設定されることになります。

パッシブモード

パッシブモードは、アクティブモードと同じく、FTP クライアントアプリケーションに よって開始されます。サーバーからデータを要求する時、FTP クライアントはパッシブ モードでデータにアクセスしたいことを示し、サーバーはサーバー上の該当IP アドレスと 不特定の非特権ポート(1024以上)を提供します。そうするとクライアントはサーバー上の そのポートに接続して要求された情報をダウンロードします。

パッシブモードがデータ接続でのクライアント側のファイアウォール干渉問題を解決 している間、サーバー側のファイアウォールの管理を複雑にする可能性があります。FTP サーバーの設定ファイル内のパッシブ接続用に提供される非特権ポートの幅を制限することは、サーバー上の開いたポートの数を低減し、そのサーバー用のファイアウォール規則の作成を簡素化する方法の1つです。パッシブポートの制限に関する詳細情報については 項15.5.8を参照して下さい。