FTP は、企業ユーザーによるファイルの共有を容易にするインターネット アプリケーションのベテランです。ただし、セキュリティの問題は常に FTP に関係しています。攻撃者が不正な手段で FTP サーバーから重要な情報を盗むのを防ぐ方法、攻撃者が FTP サーバーを使用してトロイの木馬やウイルスを拡散するのを防ぐ方法など。これらは、システム管理者が注意を払う必要がある問題です。今回は、Linux オペレーティング システム プラットフォームで最も広く使用されている VSFTP を例として、FTP サーバーのセキュリティを向上させる方法について説明します。
1. システムレベルのユーザーが FTP サーバーにログインすることを禁止します。
FTP サーバーのセキュリティを向上させるには、システム管理者が一般ユーザーにシステム レベルのユーザーを割り当てるのではなく、従業員用に別の FTP アカウントを設定することが最善です。これは大きなセキュリティ リスクをもたらします。 VSFTP サーバーでは、ログイン アカウントは構成ファイル vsftpd.ftpusers を通じて管理できます。ただし、このアカウントはブラックリストに登録されているため、このアカウントに含まれるユーザーは自分のアカウントを使用して FTP サーバーにログインすることはできません。 VSFTP サーバーを展開した後、vi コマンドを使用して構成ファイルを表示すると、すでに多くのデフォルト アカウントがあることがわかります。その中には、システムのスーパーユーザー root も含まれています。セキュリティ上の理由から、VSFTP サーバーはデフォルトで root アカウントによる FTP サーバーへのログインを禁止していることがわかります。システム管理者が root などのシステム アカウントに FTP サーバーへのログインを許可したい場合は、この構成ファイル内の root およびその他の関連するユーザー名を削除する必要があります。ただし、システム アカウントに FTP サーバーへのログインを許可すると、セキュリティに悪影響を及ぼす可能性があるため、システム管理者にはこれをお勧めしません。管理者にとって、このファイル内の関連するシステム アカウントを変更せず、これらのアカウントの設定を保持することが最善です。
他の理由で他のアカウントを無効にする必要がある場合は、このファイルにアカウント名を追加できます。たとえば、FTP サーバーとデータベース サーバーを同時にサーバー上に展開することができます。セキュリティ上の理由から、データベース管理者のアカウントをこのブラックリストに追加することをお勧めします。
2. 匿名ユーザーの管理を強化します。
匿名ユーザーは、FTP サーバーで定義されていないアカウントを指します。FTP システム管理者は、管理を容易にするために、匿名ユーザーにログインする必要があります。しかし、結局のところ、サーバーから許可を取得していないため、サーバーのセキュリティを向上させるために、権限を制限する必要があります。 VSFTP サーバーには、匿名ユーザーの権限を制御するために使用できるパラメーターも多数あります。システム管理者は、FTP サーバーのセキュリティ レベルに基づいて関連する構成作業を実行する必要があります。なお、匿名ユーザーの権限制御を厳しくするとFTPサーバーのセキュリティは高まりますが、同時にユーザーアクセスの利便性も低下します。したがって、最終的には、システム管理者はサーバーのセキュリティと利便性のバランスを取る必要があります。
以下に、匿名ユーザー向けに推奨するいくつかの構成を示します。構成方法がわからない場合は、これらの構成を参照してください。これらの構成では、サーバーのセキュリティとユーザーの利便性が考慮されています。
1 つは、anon_world_readable_only パラメーターです。このパラメータは主に、匿名ユーザーが FTP サーバーから読み取り可能なファイルをダウンロードできるかどうかを制御するために使用されます。 FTP サーバーが企業内に導入され、主に社内従業員によって使用される場合は、このパラメータを YES に設定することをお勧めします。次に、一般的な企業フォームやその他の公的に入手可能な文書をその上に置き、従業員が匿名でこれらの文書をダウンロードできるようにします。これは FTP サーバーのセキュリティには影響しませんが、他の従業員の操作も容易になります。
2 番目はパラメータ anon_upload_enable です。このパラメータは、匿名ユーザーが匿名アクセスで FTP サーバーにファイルをアップロードできるかどうかを示します。通常、このパラメータは No に設定する必要があります。つまり、ユーザーは匿名アクセス中にファイルをアップロードすることはできません。そうしないと、誰でもファイルをアップロードできるようになり、相手がウイルスファイルをアップロードした場合に会社が損害を受けることになります。したがって、匿名ユーザーによるファイルのアップロードは禁止されるべきです。ただし、これには例外があります。たとえば、一部の企業では FTP プロトコルを使用してファイルをバックアップしています。この時点で、企業ネットワークのセキュリティが保証されている場合は、このパラメータを YES に設定できます。これにより、オペレーティング システムが FTP コマンドを呼び出して、FTP サーバ上のファイルをバックアップできるようになります。この場合、バックアップ手順の展開を簡素化するために、匿名アクセスがよく使用されます。したがって、匿名ユーザーが FTP サーバーにファイルをアップロードできるようにする必要があります。
3 番目は、パラメータ anon_other_write_enable とパラメータ anon_mkdir_write_enable です。これら 2 つのパラメータには主に、匿名ユーザーの比較的高度な権限が含まれます。たとえば、最初のパラメータは、匿名ユーザーが、FTP サーバー上のファイル名の変更など、サブディレクトリのアップロードと作成以外の権限を持っていることを示します。 2 番目のパラメータは、匿名ユーザーが特定の状況下でサブディレクトリを作成できることを示します。これらの機能は、FTP サーバーのセキュリティとファイルのセキュリティに影響を与えます。このため、特別な理由がない限り、これらの権限は無効にする必要があります。つまり、これらのパラメータの値を NO に設定します。システム管理者が趣味で FTP サーバーを使用する場合を除き、これらのパラメータはオンにしても問題ないと思います。それ以外の場合は、FTP サーバーのセキュリティを向上させるために、これらのパラメータを NO に設定することをお勧めします。
一般に、匿名ユーザーの制御は、最小特権の原則に従う必要があります。匿名ユーザーは FTP サーバーによって許可されていないユーザーであるため、深いレベルの権限アクセス制御を実行できません。このため、これらの基本パラメータを通じてのみ制御できます。
3. ディレクトリを適切に管理します。
通常、システム管理者は、異なるユーザーごとに異なるルート ディレクトリを設定する必要があります。セキュリティ上の理由と、異なるユーザーが相互に干渉しないようにするために、システム管理者は、ユーザーが他のユーザーのルート ディレクトリにアクセスできないように設定する必要があります。たとえば、一部の企業では、ファイルの交換を容易にするために部門ごとに FTP アカウントを設定しています。次に、営業部門 Sales にはルート ディレクトリ sales があり、倉庫部門にはルート ディレクトリ Ware があります。営業従業員は、自分のルート ディレクトリの下のサブディレクトリにアクセスできますが、倉庫ユーザーのルート ディレクトリ Ware にはアクセスできません。この場合、営業部門の従業員は倉庫ユーザーのファイルにアクセスできなくなります。ルートディレクトリ以外のディレクトリへのアクセスを制限することで、異なるユーザーの干渉を防ぎ、FTPサーバー上のファイルのセキュリティを向上させることができることがわかります。この目的を達成するには、パラメータ chroot_local_user を NO に設定します。この設定の後、ローカルにログインしているすべてのユーザーは、ルート ディレクトリ以外のディレクトリに入ることができなくなります。ただし、この制御を実行する場合は、公開ファイルを保存するために誰もがアクセスできるディレクトリを設定することが最善です。ファイルの通常の共有や通信に影響を与えることなく、サーバーのセキュリティを確保する必要があります。
4. 送信速度を制限します。
FTP サーバーの安定した動作を確保するために、ファイルのアップロード速度とダウンロード速度を制限する必要がある場合があります。たとえば、同じサーバー上に FTP サーバー、メール サーバーなどが別々に配置されます。これらのアプリケーション サービスが平和的に共存するには、最大伝送速度を制御する必要があります。同じサーバーの帯域幅には上限があるためです。アプリケーション サービスが比較的大きな帯域幅を占有すると、他のアプリケーション サービスに悪影響が生じ、他のアプリケーション サービスがユーザーのニーズに正常に応答できなくなることもあります。別の例として、FTP は目的に応じて最大レート制限を設定する必要がある場合があります。 FTP をファイルのバックアップ、ファイルのアップロードとダウンロードに同時に使用する場合、ファイルのバックアップの効率を向上させ、バックアップ時間を短縮するには、ファイルの最大アップロード速度とダウンロード速度を制限する必要があります。
伝送速度制限を実装するために、システム管理者は local_max_rate パラメーターを設定できます。デフォルトでは、このパラメータは有効になっていません。つまり、最大レート制限はありません。ただし、上記の理由に基づいて、システム管理者は FTP サーバーを実稼働環境に導入する前にこのパラメータを設定することをお勧めします。アップロードとダウンロードによる過剰な帯域幅の消費による他のアプリケーション サービスへの悪影響を防ぎます。システム管理者は、さまざまなアプリケーション サービス間のバランスをとり、帯域幅を合理的に割り当てる必要があります。少なくとも、各アプリケーション サービスが顧客の要求に正常に応答できることを確認してください。また、可能な場合にはオフピーク運用を行う必要があります。たとえば、メール サーバーと FTP サーバーが 1 つのホストに同時に展開されます。 FTPサーバーは主にファイルのバックアップに使用されます。したがって、ファイルのバックアップが電子メールの送受信に悪影響を及ぼさないようにするには(ファイルのバックアップには比較的大きな帯域幅が必要であり、電子メールの送受信の速度が大幅に低下するため)、ファイルのバックアップをピーク期間から分離することが最善です。メールの送受信について。通常、電子メールの送受信のピーク時間が朝の出勤時間である場合は、ファイルのバックアップに FTP サービスを使用しないでください。昼休み中は、通常、メールの送受信が少なくなります。この時点で、FTP をファイルのバックアップに使用できるようになります。したがって、FTP サーバーやその他のアプリケーション サービスがオフピーク時間に実行されている場合は、レートを高く設定して FTP サービスの運用効率を向上させることができます。もちろん、これはシステム管理者に比較的高い要求を課します。システム管理者はさまざまなアプリケーションを分析し、サーバーの展開に基づいて包括的な計画を立てる必要があるためです。より高度な対策とより良い条件がない限り、FTP サーバーの送信速度を最大化する必要があります。そうしないと、企業内に展開されている他の情報サービスに非常に悪影響が生じ、企業ネットワークに輻輳が発生します。