Red Hat Training

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

2.2.5. Apache HTTP サーバーのセキュア化

Apache HTTP Server は、Red Hat Enterprise Linux に同梱される最も安定し安全なサービスの 1 つです。Apache HTTP Server のセキュリティーを保護するためには多くのオプションや手法が利用できます。ここでは、多くのオプションや手法が展開されます。以下のセクションでは、Apache HTTP Server の実行時にの適切なプラクティスを簡単に説明します。
システムで実行中のスクリプトが、実稼働環境に入る に目的どおりに機能することを確認してください。また、スクリプトまたは CGI を含むディレクトリーに書き込み権限があるのは root ユーザーのみです。これを行うには、root で以下のコマンドを実行します。
chown root <directory_name>
chmod 755 <directory_name>
システム管理者は、以下の設定オプションを使用する場合は注意してください(で設定 /etc/httpd/conf/httpd.conf)。
FollowSymLinks
このディレクティブはデフォルトで有効になっているため、Web サーバーのドキュメントルートへのシンボリックリンクを作成する場合は注意してください。たとえば、にシンボリックリンクを提供することは適切ではありません /
Indexes
このディレクティブはデフォルトで有効になっていますが、望ましいとは限りません。サーバーでファイルを参照できないようにするには、このディレクティブを削除します。
UserDir
システムにユーザーアカウントが存在することを確認することができるため、UserDir ディレクティブはデフォルトで無効になります。サーバーでユーザーディレクトリーの閲覧を有効にするには、以下のディレクティブを使用します。
UserDir enabled
UserDir disabled root
これらのディレクティブは、以外の全ユーザーディレクトリーを検索するユーザーディレクトリーをアクティブにし /root/ます。無効化されたアカウントの一覧にユーザーを追加するには、UserDir disabled 行にユーザーのスペースで区切られたリストを追加します。
ServerTokens
ServerTokens ディレクティブは、クライアントに返すサーバー応答ヘッダーフィールドを制御します。これには、以下のパラメーターを使用してカスタマイズできるさまざまな情報が含まれています。
  • ServerTokens Full (デフォルトオプション): 以下のような利用可能なすべての情報(OS タイプおよび使用されるモジュール)を提供します。
    Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
  • ServerTokens Prod または: 以下の情報を ServerTokens ProductOnly 提供します。
    Apache
  • ServerTokens Major : 以下の情報を提供します。
    Apache/2
    
  • ServerTokens Minor : 以下の情報を提供します。
    Apache/2.0
  • ServerTokens Min または: 以下の情報を ServerTokens Minimal 提供します。
    Apache/2.0.41
  • ServerTokens OS : 以下の情報を提供します。
    Apache/2.0.41 (Unix)
攻撃者がお使いのシステムに関する有用な情報を取得しないように、この ServerTokens Prod オプションを使用することが推奨されます。
重要
IncludesNoExec ディレクティブを削除しないでください。デフォルトでは、サーバー側の包含( )SSI)モジュールはコマンドを実行できません。絶対的に必要でない限り、攻撃者がシステム上でコマンドを実行するのを有効にしない限り、この設定は変更しないことが推奨されます。

httpd モジュールの削除

特定のシナリオでは、HTTP サーバーの機能を制限するために特定の httpd モジュールを削除することが利点があります。これを行うには、/etc/httpd/conf/httpd.conf ファイルで削除するモジュールを読み込む行全体をコメントアウトします。たとえば、プロキシーモジュールを削除するには、ハッシュ記号でプリペンドして以下の行をコメントアウトします。
#LoadModule proxy_module modules/mod_proxy.so
/etc/httpd/conf.d/ ディレクトリーには、モジュールの読み込みに使用する設定ファイルが含まれていることに注意してください。

httpd および SELinux

Apache HTTP Server および SELinux 『の詳細は、『Managing Confined Services Guide』を参照してください』。