隠すことによるセキュリティの向上は望めない、が原則では?
スラッシュドット ジャパン | サーバのバージョンは隠すのが常識?
これはー。
隠すことによるセキュリティの向上は望めないことを自覚したうえでやってね
という話に尽きる気がする。
こういったサーバ情報をわざわざ表示する必要はありません。
というのはその通りなんだけど、タイトルの「5分でできるセキュリティ向上」には役に立っていないことは触れなくていいんだろか。
さらに言うと個人的にはこの手の話は
- バージョン情報を隠す/隠さない
- 最新のバージョンを使う/使わない
以外に、
- バージョンはそのままでパッチを当てる
という選択肢が存在していることがもっと広く知られてほしいという気がするかなぁ。意外にね「あー Apache のそのバージョンには脆弱性が云々…」てなことを「得意げに」言う人ほどその情報だけを鵜呑みにしてて、いや、パッチ当たってるんですけど、と軽く反論してみても全然聞いてなかったりするんですよね。そういうのって、本人は聞き流しちゃってるからなんともないでしょうけど、ハタから見てるとかなり恥ずかしいですよ。
あと .svn がどうたらというのはその前段階から対策取るのが本筋で、ステージングサーバから本番への反映の際にルールで弾けばいいような気がするんだけど、それじゃダメなのかな。rsync だろうが WinSCP だろうが exclude の設定はあるよ。そのうえでサーバ側で Deny するのはアリだと思うけど、Deny の設定はあくまでスタートに過ぎない気がする。.svn が誤って上がってる場合があるってことは *~ とかも上がってるよね、きっと。*~ は上がってなくても .1 とかは上がってるかもしんない。
/* 実際、昔引き継いだサーバはそんなんばっかだった。バージョン管理もしてないから .bak.old とか訳の分からないものだらけ。 */
その辺のプロセスを見直さないと、セキュリティの向上を謳うことはできないんじゃないかなぁ。
p.s. はてブコメントの「例えば PHP を使わない」に軽く吹いた。