Webサーバーで存在しないファイルへアクセスされた場合、「404 Not Found」が表示される。
しかし、デフォルトのままではメッセージの下にサーバのバージョンが表示される。
このままではRaspbianで動いているのでRaspberryPiサーバだとバレバレになるのでダメ(Apache2.2のときはDebianと表示されていたのに・・・)。
もし脆弱性が発見されたApacheのバージョンが表示されるなんてことになったら格好の餌食になる。
なのでApacheの設定でこれらの情報を表示させないようにする
個別で対応させるには
/etc/ahache2/sites-available/以下のWebサイトの設定ファイルに以下の行を追加する。
ServerSignature Off
こんな感じ
今後追加するサイト全部にも適応させる場合は上の方法ではなく
Apache2.4の場合
/etc/apache2/conf-available/security.conf
Apache2.2.22の場合
/etc/apache2/conf.d/security.conf
でコメントアウトされているServerSignature Offの#を外し、ServerSignature Onをコメントアウトする。
こうすると全サイトで表示されなくなる。
そうすると先ほどのエラーページでApacheのバージョン非表示になる
その他Apacheとだけ表示させたり、細かい設定の参考URL
Apacheのセキュリティ周りの設定を試してみる - yk5656 diary
ただ、このように設定していてもスキャナーツールで有名なNmapには通用しないようで一発でRaspbianだとバレた。ポートを変更していてもバレてるし、強いなNamap・・・
通常スキャンした場合のターゲットのApacheアクセスログ、Nmapを使っていると確認できる。
チョットしたイタズラは防げるかもしれないが当然悪意のある人間は強力なツールを複数使ってくるのでブラウザで表示されないからと言っても過信は禁物。