検索頂いたフレーズに基づき情報を追加していこうと思い、本エントリを書くことにした。
今回検索頂いたフレーズはこちら。
apache httpd.conf バージョン 見分け方
うーん、実際には何をお知りになりたかったのか分からないが、とりあえずApacheのバージョンの確認方法などを書くことにする。これは基本中の基本でもある。
まず、Apacheが導入されているサーバにsshなどでリモートログインできる場合。
[root@localhost root]# httpd -v
これだけです。結果としては下記例のように表示される。
[root@localhost root]# httpd -v
Server version: Apache/2.0.46
Server built: Dec 3 2004 23:38:20
IEやfirefoxなどのブラウザをベースとして対象wwwサーバのApacheのバージョンを確認したい場合は、ひとつの方法として存在しないページにアクセスし、404エラー(404 Not Found)を表示させることが考えられる。httpd.confのServerTokensおよびServerSignatureディレクティブの値が下記のようにデフォルト値の場合は、
ServerTokens OS
ServerSignature On
以下のようにOSやらバージョンやらが表示されてしまうだろう。
Not Found
The requested URL xxxxx was not found on this server.
Apache/2.0.46 (CentOS) Server at www.xxxxxxxxx.com Port 80
もちろんセキュリティ的にはこれは好ましいことではないので、一応この値は、
ServerTokens ProductOnly
ServerSignature Off
といったように変更し、httpdをリロードし反映しておこう。これでOSもApacheのバージョンも一応は表示されなくなる。
但し、上記はあくまでバージョンやらの情報を隠すだけの効果があるだけで、気休め程度でしかないと考えたほうが良い。脆弱性のあるバージョンのApacheを使用していれば元も子もないのである。バージョンアップ、パッチ適用、バックアップは面倒でもこまめに行うこと。


