あくまでメモだから(震え声
ServerSignature Off
目的はOSやサーバーの情報を隠すため。OFFにすると例えば404のページを表示させたときにフッターにOSやApacheのバージョンとかが表示されなくなる。
Apacheの設定ファイルである「httpd.conf」の「ServerSignature」項目を以下に変更
ServerSignature Off
ちなみに自分の環境だとデフォルトでこの項目が無かったので付け足した。
ServerTokens ProductOnly
これの目的もOSやサーバーの情報を隠すため。それらの情報はHTTPレスポンスヘッダとやらに記載されているのでそれを非表示にしようというもの。
これまた「httpd.conf」より以下に変更
ServerTokens ProductOnly
これでApache使ってる、ぐらいしか分からない。ちなみにすべての情報を表示させるには
ServerTokens Full
正常に設定がされたのかよく分からないので、実際に確認してみた。
よく使われるのがTelnetコマンドらしいが、なんとChromeを使えばHTTPヘッダが確認できるとか。すごーい
やり方は簡単。Chromeでchrome://net-internals/#eventsにアクセスするだけ。
Filter欄には「apache」を入れておくと楽。
以下がHTTPヘッダの該当部分。
まずは「ServerTokens Full」の場合
t=1381142856676 [st=16] HTTP_TRANSACTION_READ_RESPONSE_HEADERS --> HTTP/1.1 200 OK Date: Mon, 07 Oct 2013 10:47:37 GMT Server: Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3 X-Powered-By: PHP/5.5.3 Content-Length: 4 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
次に対策した「ServerTokens ProductOnly」の場合
t=1381142725435 [st=5] HTTP_TRANSACTION_READ_RESPONSE_HEADERS --> HTTP/1.1 200 OK Date: Mon, 07 Oct 2013 10:45:26 GMT Server: Apache X-Powered-By: PHP/5.5.3 Content-Length: 4 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
ちゃんと設定が反映されてるっぽい。やったね
2013年10月8日追記
TraceEnable Off
デフォルトだとONになっているので明示的にOFFにさせる必要がある。普段は使わない上に有効にしておくとちょっと危険なメソッドらしいので、つまり要らない機能ってことだ(断言
以下を追記すればおk
TraceEnable Off
設定状況はhttp://localhost/server-infoにアクセスするとわかる。