Webサイトで必要なセキュリティ対策まとめ

現在職場でWebサイトリニューアルプロジェクトのPMをさせてもらっているんですが、ちょっとしたきっかけで
「セキュリティ面も全面的にやってみないか?」
という話になったので、色々調べたことをまとめます。

Webサイトを開発を発注する企業側の立場

まず僕の立場なのですが、今回は開発する側ではなく、発注する企業側のPMです。
なのでセキュリティといってもソースコードがうんぬん…
って話ではなく、運営も含め、総合的にどのようにセキュリティを守っていくのか
という視点で書いています。

経営者が求めるセキュリティ

経営者が求めるセキュリティとは、普通であれば、「100%大丈夫」という状態ではないでしょうか。
つまり、

  • 外部から攻撃を受けても一切情報が漏洩しない
  • 外部から攻撃を受けてもサービスが停止しない
  • サーバーが壊れても稼働し続ける(もしくはすぐに復旧する)
  • Webサイトそのものにバグが存在しない
  • 内部から情報を盗まれる心配がない

という状態を求められています。まさに完璧状態ですね。

今回セキュリティ対策として取り入れる予定の項目

上記経営者が求めるセキュリティに近づけるために、今回実施する予定なのが以下の項目。

ペネトレーションテスト

簡単にいえばセキュリティテスト。実際にWebサイトにハッキングを試みて問題がないかテストする。
テストには3種類あり、リモートテスト、オンサイトテスト、ソースコードテストがある
今回行うのはリモートテストとオンサイトテスト

24時間監視サービス

名前通り、24時間サーバーの死活監視、不正侵入などの痕跡がないかの監視などを行ってくれます。どこまでやってくれるかは契約によるのですが、今回は機器が壊れた際の入れ替えなどもお願いする予定。

IPS(不正侵入防御システム)

不正なアクセスやセキュリティホールがないかを検知したり防ぐ機器。
24時間監視サービスと併用することで威力を発揮する。導入するだけではなく、きちんと更新していかないと意味がない。

Webサイト開発会社との保守契約

これは発注側のスキルにもよりますが、今回はかなり難易度の高いシステムのため、保守を開発会社に依頼します。

ISMS情報セキュリティマネジメントシステム

社内全体のセキュリティモラルの向上のために、ISMSを取得することにしました。ISMSとは、情報資産全体を守るためのマネジメントシステムで、ISO27001。国際的に認められる認証です。
範囲を決めることもできますが、今回は会社丸ごと認証を取ることにします。

サーバーなどの冗長化構成

セキュリティは守るだけではなく、失わないことも必要。
そのため、サーバーやDB、IPSなど、全ての機器を2台以上で構成し、1台が壊れてももう1代が稼働するように構成します。

逆にセキュリティ対策として取り入れない項目

やればセキュリティは確かにアップするかもしれないが、コストが高すぎたり他の面で補えたりなど、やらないことにしたリスト。取り入れない理由もちょっと書いてます。

WAF(ウェブアプリケーションファイアウォール

Webサイトをアプリケーションレベルで監視してくれる機器。セキュリティとしては高くなるが、どうしても作成するアプリケーションにまで影響が及ぶため、今回導入するのは見送り。

社内にセキュリティの部署の立ち上げ

これはもう単純にコストの面で断念。本来はセキュリティをきちんと見る部署がほしいところではある

最終的なセキュリティ対策まとめ

システム的な問題に対しては

で問題の発生を未然に防ぎ、発生しても被害を最小限にとどめる
さらに

によって、サービスの停止や消失を防ぎます。
また、内部の問題も考えられるため、

することによって、セキュリティに対する意識を高めます。
以上が今回セキュリティ対策として実施することのまとめです。

最後に

実際のところ、Webサイトはきちんと知識を持って運用することで情報の漏えいはほぼ防ぐことができるはずです。
それでも情報漏洩事件が頻繁に起こるのは、「人」に問題があるからだと思います。
運用する人もそうですが、利用する人・関係する人が適当な態度でセキュリティに向き合った結果、情報が漏洩しているということがほとんどです。Security NEXTなどに載っている事件もほとんどが人の問題ですし、ジャパネットの事件など典型的なものだと思います。
これらの事実にもきちんと目を向け、正しくコストに見合うセキュリティ対策を実施していければ、Webサイトも企業も守られていくのではないかと思います。

参考

Security NEXT
http://www.security-next.com/

追記

久々に長文書きました。
やっぱり定期的にアウトプットしないと書けなくなりますね。よくよく読むと日本語変だな…