apacheのバージョン隠匿

会社でサーバのセキュリティ要求が厳しくなってきた。
とはいえ、いままでがかなり甘かったので「ようやくかぁ」という印象。


その関係で、バージョン隠匿をすることになったのだけれど…
そういえば自宅サーバのバージョン隠匿したっけ?


ということで、帰宅後試してみた。
コマンドプロンプトで、次のコマンドを打つ。

c:\> telnet magna50.dip.jp 80 [Enter]
GET / HTTP/1.0 [Enter] [Enter]

そうしたら、バージョンが丸見え…。


ちなみに、GET コマンドは、エコーバックされない(打った文字が表示されない)ので、キーボードだけで入力する必要がある。


早速、httpd.conf の修正をかける。
修正or追記は、次のとおり。

ServerTokens ProductOnly
ServerSignature Off


で、対象サーバにログインして、次のように修正し、修正箇所をdiffでチェックしておく。

# cd /etc/httpd/conf
# cp -a httpd.conf httpd.conf.`date +'%y%m%d'`
# vi httpd.conf
(ここで修正)
# diff httpd.conf httpd.conf.`date +'%y%m%d'`
648,652c648
< #ServerSignature On
< ServerSignature Off
<
< # ServerTokens
< ServerTokens ProductOnly
---
> ServerSignature On


記述したあと、デーモンを reload して、同じようにコマンドを打った。

c:\> telnet magna50.dip.jp 80 [Enter]
GET / HTTP/1.0 [Enter] [Enter]
HTTP/1.1 200 OK
Date: Thu, 05 Apr 2007 15:17:59 GMT
Server: Apache
Last-Modified: Sun, 04 Dec 2005 12:16:20 GMT
Accept-Ranges: bytes
Content-Length: 4919
Connection: close
Content-Type: text/html

うん、バージョンが表示されなくなった(^^)


…でも、なんでGMTなんだろ?