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なんだろ?