Apache のバージョン番号とその他の機密情報を非表示にする方法
リモート要求が Apache Web サーバーに送信されると、デフォルトでは、Web サーバーのバージョン番号、サーバーのオペレーティング システムの詳細、インストールされている Apache モジュールなどのいくつかの貴重な情報が、サーバーが生成したドキュメントとしてクライアントに送信されます。
こちらもお読みください: Linux で Nginx サーバーのバージョンを非表示にする方法
これは、攻撃者が脆弱性を悪用して Web サーバーにアクセスするための大量の情報です。 Web サーバー情報の表示を避けるために、この記事では特定の Apache ディレクティブを使用して Apache Web サーバーの情報を非表示にする方法を説明します。
推奨読書: Apache Web サーバーを保護するための 13 の役立つヒント
2 つの重要なディレクティブは次のとおりです。
サーバー署名
これにより、エラー メッセージ、mod_proxy ftp ディレクトリのリスト、mod_info 出力などのサーバー生成ドキュメントの下にサーバー名とバージョン番号を示すフッター行を追加できます。
可能な値は 3 つあります。
- オン – サーバーで生成されたドキュメントに末尾のフッター行を追加できます。
- オフ – フッター行を無効にし、
- 電子メール – 「mailto:」参照を作成します。これにより、参照ドキュメントの ServerAdmin にメールが送信されます。
サーバートークン
クライアントに送り返されるサーバー応答ヘッダー フィールドに、サーバーの OS タイプの説明と、有効な Apache モジュールに関する情報が含まれているかどうかを判断します。
このディレクティブには次の値を指定できます (さらに、特定の値が設定されたときにクライアントに送信されるサンプル情報)。
ServerTokens Full (or not specified)
Info sent to clients: Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2
ServerTokens Prod[uctOnly]
Info sent to clients: Server: Apache
ServerTokens Major
Info sent to clients: Server: Apache/2
ServerTokens Minor
Info sent to clients: Server: Apache/2.4
ServerTokens Min[imal]
Info sent to clients: Server: Apache/2.4.2
ServerTokens OS
Info sent to clients: Server: Apache/2.4.2 (Unix)
注: Apache バージョン 2.0.44 以降、ServerTokens ディレクティブは、ServerTokens ディレクティブによって提供される情報も制御します。 > サーバー署名ディレクティブ。
推奨読書: Apache Web サーバーのパフォーマンスを向上させる 5 つのヒント
Web サーバーのバージョン番号、サーバー オペレーティング システムの詳細、インストールされている Apache モジュールなどを非表示にするには、好みのエディターを使用して Apache Web サーバー構成ファイルを開きます。
sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu systems
sudo vi /etc/httpd/conf/httpd.conf #RHEL/CentOS systems
そして、以下の行を追加/変更/追加します。
ServerTokens Prod
ServerSignature Off
ファイルを保存し、次のように Apache Web サーバーを終了して再起動します。
sudo systemctl restart apache2 #SystemD
sudo service apache2 restart #SysVInit
この記事では、特定の Apache ディレクティブを使用して、Apache Web サーバーのバージョン番号と Web サーバーに関するその他の情報を非表示にする方法について説明しました。
Apache Web サーバーで PHP を実行している場合は、PHP バージョン番号を非表示にすることをお勧めします。
いつものように、以下のコメントセクションからこのガイドに意見を追加できます。