今回はセキュリティ対策で一般的と言われている、バージョン情報の非表示についてです。
この話題については、実は前々から検討したかったのですが、個人的にかなり悩んでいました。
しかし最近考えがまとまってきましたので、現在の私の意見として記事にします。
なお、記事の内容については現時点(2018/10)での考えであり、また個人的な意見となりますので、予めご了承ください。
検討するきっかけ
前に記事にした以下に参加した際の徳丸さんの話を聞いたのと、診断をしていた際に気になった挙動があった際に会社で議論したことがきっかけです。
WASNight 2018 Summerに参加してきました
以下は私の個人的に記録していたメモです。
・バージョン情報の表示に対する言及
現在のところセキュリティ会社各社はバージョン情報が表示されることに対する指摘を行っていると思います。
バージョンの表示に対する対策はセキュリティ診断対策という話がありました。
上記について、確かにな~と、しかし、この件を鵜吞みにしてバージョン情報が表示される問題を指摘することを止めることは少し違うのではないかなと思うわけです。(なお、徳丸さんも「バージョン情報が表示されることの指摘をやめろ~」とまでは言ってなかったですよ。)
私的な考え
例えばTomcatについては、サーバのバージョン情報を非表示にすることは公式のドキュメントでも推奨していますし、OWASPでも推奨しています。以下はTomcatのドキュメントのキャプチャです。
※英語が苦手なので、引っ張る箇所が間違っていたら教えてください・・・
ドキュメント通りにすることが正しいわけではないですが、セキュリティ会社側からすると公式が推奨していることを指摘することに異論はないかと思っています。(私がセキュリティ会社を代表するわけではないですが・・・)
※TomcatやPHP、Apache等のバージョン情報の非表示方法についてはそのうち記事にしようかなと。
また、デフォルトのエラー画面の情報も有能な情報になるので、ここについてもカスタムエラーとすることを推奨しています。
設定で非表示にしたつもりでも漏れている場合や、対応を間違えている場合があるかもしれません。
※テストではエラー情報を表示するようにし、本番ではOFFにする予定だったがテスト時の運用のままだった等はよくある話かなと
そういった状況を加味すると今後も指摘しない方向にはならないかなと考えています。
※大体の脆弱性診断はブラックボックス診断で行うことがほとんどだと思いますので。
まとめ
個人的にはちょっと心労を伴いそうな話題を記事にしました。
何が正しく、何に従うべきかを明示するのは難しいですが、少なくとも自分の意見を持つことは今後エンジニアとして生きていく上で、必要になるのではないかと私は考えています。(なお、他人に自分の意見を強制することはあまり好みません。)
私自身今の会社で3社目ですが、会社によって多少指摘する内容が異なる場合もあります。(一様全部でセキュリティをやってきました。)
また、お客様によってももちろん異なります。ある企業ではバージョン情報が表示される問題は絶対によくないと判断していて、個別に速報してくれと言われたこともあります。
色々な状況や意見を考慮したうえで、結果を提示できれば最高ですが、まだまだ私自身、精進しないといけないなぁと思っています。
不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。
コメント