Linux(CentOS 6) - HTTPヘッダ情報やForbiddenページ等でOS名、Apacheのバージョン情報等が表示されないようにする方法
CentOS 6でパッケージインストールをしたApacheは、特に何も設定をしていなければ、HTTPヘッダ情報やForbiddenページ等でOS名、Apacheのバージョン情報等が表示される設定となっている。
OS名、Apacheのバージョン情報等が表示されてしまうと、セキュリティ上問題となる場合があるので、特別な理由がない限り、これらの情報は表示しないように設定しておいた方がよい。
設定は、/etc/httpd/conf/httpd.confの「ServerTokens」ディレクティブで行える。
以下は、ServerTokensで「OS」を指定していた時にForbiddenページで表示される画面例
以下は、ServerTokensの設定変更メモとなる。
/etc/httpd/conf/httpd.confより一部抜粋
# Don't give away too much information about all the subcomponents
# we are running. Comment out this line if you don't mind remote sites
# finding out what major optional modules you are running
ServerTokens OS
※CentOS 6でhttpd(Apache)をyumでインストールした場合、ServerTokensの初期設定は「OS」となっている。
viエディタ等で「OS」の部分を「Prod」または「ProductOnly」に変更し、Apacheを再起動すれば、 HTTPヘッダ情報やForbiddenページ等でOS名、Apacheのバージョン情報等が表示されなくなる。
以下は、ServerTokensに指定する値により、HTTPヘッダ情報やForbiddenページ等で表示される情報がどのように変わるかを確認した時のメモ。
ServerTokens OS ←CentOS 6でyumでhttpd(Apache)をインストールした時の初期設定
Apache/2.2.15 (CentOS) Server at 192.168.0.9 Port 80
ServerTokens Full
または
#ServerTokens OS ←コメントにした場合、「Full」を指定した時と同じだった。
Apache/2.2.15 (CentOS) DAV/2 PHP/5.3.3 Server at 192.168.0.9 Port 80
ServerTokens Prod
または
ServerTokens ProductOnly
Apache Server at 192.168.0.9 Port 80
ServerTokens Major
Apache/2 Server at 192.168.0.9 Port 80
ServerTokens Minor
Apache/2.2 Server at 192.168.0.9 Port 80
ServerTokens Min
または
ServerTokens Minimal
Apache/2.2.15 Server at 192.168.0.9 Port 80
《参考》core - Apache HTTP サーバ ServerTokens ディレクティブ
http://httpd.apache.org/docs/2.2/ja/mod/core.html#servertokens