大学で口酸っぱく言われたコンピュータセキュリティ、実際に気にしなければいけないセキュリティってなんだったんだろうと思うことがよくある。
現実のセキュリティ
結局ユーザーレベルでは、フィッシング詐欺くらいしか現実的な脅威はない。本当に悪意を持って標的型攻撃されたら、社員個人が経験でなんとか対処するしかない。今まで学んだことは無力だし、何だったのだとがっかりする。(ツッコミは色々あると思うけれども)
いわゆるユーザーレベルのセキュリティ対策のビジネスにはすべて懐疑的である。
知名度無いのに脅威に怯えること
では、アプリケーション開発者やサーバ管理者レベルではどうかというのが今回のテーマで、結論から言うと、知名度次第で必要なセキュリティ対策レベルは変わる。「つまり知名度が無いてめぇらは厳密にセキュアなサービスを作る前に使い物になるモノを作れ」ということである。
大学の情シス系教員は頻繁に「大学は毎日何千件と、こんなにたくさんの攻撃を受けています!なのでサービスが不安定になることもあります!大変でしょ~!!」と言って学生を脅していた。この言葉を真に受けてサーバ管理や公開サービスの運営にナーバスになるのは本当に愚かで、国立大学レベルの知名度のあるドメインならそりゃ狙われるかもしれないけど、無名のドメインを持つサービス(個人が趣味で取得したものや、特に機密情報を持たない中小企業)が気にするものではないのである。というかもはや、基本的な対策さえしていれば多少のセキュリティホールを狙われない。そもそもあなたの無名サービスに誰も興味が無い。
逆にあなたの運営するサービスや商品を異国のハッカーに知ってもらうほど知名度を上げるにはどれだけの苦労が必要かと考えるとわかりやすい。もし簡単に異国まで届くほど知名度を上げられるならばどれだけビジネスが楽になるか。
肩の力を抜いたウェブサービス運営
考え方を変えて、そもそも知られていないという前提に立つと、次のような大胆な運用ができる
ウェブサーバの運用
公開ウェブサーバに機密ファイルを置いてもリンクが無ければ、勝手に流出することはないし、わざわざパスワードをかけたり厳密なアクセス権限に応じた表示をする必要はない。多少であればステージング環境をわざわざ使わなくても良い。当然公開サーバでエラーを起こしてもサーバが多少落ちても大して誰も困らない。(プライドの問題が大きい)
拠点間通信
いちいちVPNを張る必要はない。ましてやふつうのID+PW認証の仕組みがあればそれを突破・DDOSしようとするモチベーションのある人間はいない。AIもいない。
ウェブアプリケーションの運用
ハックすることでユーザーにメリットがある場合、チートをしようとする人なんていない。多少チートされても運用でカバーすればいいという前提で作ると、非常にシンプルになる。
変な使い方をしてサービスがダウンしてもそのユーザーが困るだけ。いたずらにマイナーサービスを落とすために頑張るような暇な人はめったにいない。
おわりに
本当にセキュアな環境が求められる仕事というのは、ほんの一握りの人だけだと思うので、多くのエンジニア・ウェブ制作者はもっと、適当にかつ、意味のある仕事をするべきだと思う。
本当に「これだけはやっておけ」というようなセキュリティ対策の具体的な取り組みがあるのならば教えてほしいが、しかしどうせこれも人によって判断がわかれる。
ウェブサービス運営者はセキュリティをできる限りガチガチに対策して、JPCERTの通知に日々びくびくして、パッチ対応で毎日を消費するという日々の過ごし方を選ぶのもありかもしれないけれども、皆さんの現実的なセキュリティ対策というのももっと共有できる世界になってほしい。