サーバのバージョン隠し以前にやるべき事はいくらでもある
Posted by yoosee on Debian at 2007-09-04 12:00 JST1 サーバのバージョンは隠すのが常識?
仕事でもプライベートでも相当台数のサーバを運用してきた身から言わせてもらえば、結論は バージョンなんて隠すも出すもお好きなように。その程度じゃ安全性なんて大差ないよ だ。犯罪者がどのように攻撃するか?を考えればなぜ隠す必要があるのか理由は明白です。サーバのバージョン情報が詳しく公開されていれば、その情報を使うに決まっています。yohgaki's blog - サーバシグニチャは隠すのが当たり前私が仮に無差別攻撃者なら、「脆弱性のあるバージョンを宣言しているサーバ」と「バージョンを見せないサーバ」に攻撃を仕掛けるな。心情的には「バージョンを隠してる」サーバって、脆弱性への対処管理をサボるためにやってるんじゃないかとも思えるので手を引く理由が無い。
防衛側として考えれば、相手が自動総当たりスクリプトならばバージョンを見て手を引いてくれるなんて期待をする方が愚かだ。そもそも Apache にも IIS 用の攻撃コードが飛んでくるんだよ? 個別にターゲットをしぼったスピアーアタックならばなおさら、出来ることは全部仕掛けてくるから意味が無い。つまりバージョン隠しは、もしかしたら総当たり攻撃の被害をほんの僅かに軽減してくれる可能性があるかもしれないが、基本的には自己満足以上の意味は無い。
スラドのコメントにもあるように、セキュリティスキャナの類が警告してくるのが鬱陶しい(既にパッチ当ててても区別してくれない)ので隠すというのは確かにあるんだけど、それはそれで安全性を警告してくれる手段を一つ捨てていることになるんだから、内部でよほど真面目にバージョンと脆弱性の管理をし続けているんでも無い限り、警告が消えることの危険性は認識しておいた方がいい。
個人的にはWebサーバ管理が本業なら毎日の脆弱性の管理はしておけと思うし、本業じゃないならばサーバアプリのバージョンアップ等のマネージド付きのホスティングに出してしまう事をお勧めする。個人でサーバを管理するなら Debian のように自動アップグレードの仕組みを持っているものを選ぼう。必要の無いサービスは落とす、可能ならアクセス元・認証手段は絞る、継続的にメンテナンスを続ける、といった基本を十分かつ継続してやることが何より先決だ。