ServerTokensによるサーバ情報表示の抑止
カテゴリ:Apache 2.0の設定
日時:2004/10/17 11:25
/etc/apache2/conf/commonapache2.confの設定編。
まずは、セキュリティ対策としてServerTokensディレクティブを変更する。ServerTokensディレクティブは、クライアントに返信するサーバ応答ヘッダに含める情報を制御する。デフォルトでは
これでは、クラッカーに対して、クラッキングのための情報を与えているようなものである。 この情報を最小限にするため、
ServerSignatureディレクティブもサーバ情報に関係しているが、こちらはデフォルトでOffになっているし、Apache 2.0.44からはServerTokensディレクティブでServerSignatureの情報も制御するようになっているので、特に修正しなくてもいいだろう。
なお、ServerTokensディレクティブを修正したからといって、ApacheやPHPのセキュリティホールへの攻撃が防げるわけではない。Apacheに脆弱性があれば、ServerTokensディレクティブでヘッダ情報を抑止してもいつかクラックされる。
ServerTokensディレクティブは、「クラッカーに楽をさせない」という程度にすぎないと考えるべきだろう。
ServerTokensディレクティブについて、詳しくはApacheのドキュメントを参照。
まずは、セキュリティ対策としてServerTokensディレクティブを変更する。ServerTokensディレクティブは、クライアントに返信するサーバ応答ヘッダに含める情報を制御する。デフォルトでは
ServerTokens Fullとなっており、Apacheのバージョン、OS、PHPのバージョンなど、サーバの詳しい情報をクライアントに送り返す。例えば、
Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2こんな感じ。
これでは、クラッカーに対して、クラッキングのための情報を与えているようなものである。 この情報を最小限にするため、
ServerTokens Prodに修正する。
ServerTokens ProductOnlyでもよい。これで、応答ヘッダの内容は
Server: Apacheになる。
ServerSignatureディレクティブもサーバ情報に関係しているが、こちらはデフォルトでOffになっているし、Apache 2.0.44からはServerTokensディレクティブでServerSignatureの情報も制御するようになっているので、特に修正しなくてもいいだろう。
なお、ServerTokensディレクティブを修正したからといって、ApacheやPHPのセキュリティホールへの攻撃が防げるわけではない。Apacheに脆弱性があれば、ServerTokensディレクティブでヘッダ情報を抑止してもいつかクラックされる。
ServerTokensディレクティブは、「クラッカーに楽をさせない」という程度にすぎないと考えるべきだろう。
ServerTokensディレクティブについて、詳しくはApacheのドキュメントを参照。