BLOG

社内およびクラウドのアプリケーションを守るアプリごと(Per-App)のアーキテクチャ

Lori MacVittie サムネール
Lori MacVittie
Published April 19, 2018

必ずしも「1つの腐ったリンゴが全部を駄目にする」わけではない。

データセンターでは、デジタルトランスフォーメーションによる変化が進んでいます。クラウドやコンテナの出現、また壊滅的なセキュリティ侵害などの事例を背景に、対応を後回しにすることなく、すみやかに変化へ集中して対応することが求められています。集中すべき対象の大部分はアプリケーションの継続的な配信とアプリごとの展開がもたらすインパクトで、このようなインパクトは従来の展開スケジュールに大きな混乱をもたらす可能性があります。従来のスケジュールと最新のスケジュールを調整しようとする試みは、ヨセフスの問題を解くことを楽しいと感じる数学者でさえ、降参して二度とチャレンジしたくないという結果になるでしょう。

継続的な展開において、アプリケーションサービスとインフラストラクチャに対するアプリごとのアーキテクチャによるアプローチがもたらすメリットではこのような方向に進む動機として十分でないとしたら、セキュリティ面においても数々の大きなメリットがあるという側面を考えてみてください。

データセンターとセキュリティ境界が「樽」であると想定して、リンゴをいっぱいに詰めたとします(各リンゴは展開している数百のアプリケーションに相当)。個々のリンゴは周囲の複数のリンゴと触れ合っています。全部ではなく、いくつかです。樽の中のいずれか1つのリンゴが腐ったとしたら、そのリンゴに触れている他のリンゴも腐ってしまいます。これらのリンゴも別のリンゴと触れ合っているためそれらのリンゴも腐り、この連鎖は樽の中のすべてのリンゴが腐るまで続いていきます。

1つのリンゴ(アプリケーション)が腐ったときに、データセンターにおける連鎖のスピードが遅ければいいのですが、デジタルのスピードのおかげで、このような腐敗がネットワークを通じて他のアプリケーションに伝播するスピードは、リスクに警鐘を鳴らしている樽の中のリンゴの話よりもずっと速くなります。

これが、アプリごとのアーキテクチャを採用することのセキュリティ面から見た最大の理由の1つです。これはたとえアプリごとの展開スケジュールを実行していない(またはその予定がない)場合でも変わりません。

アプリごとのアーキテクチャがリスクを軽減

アプリごとのアーキテクチャを実装することは、樽へ入れる前にリンゴ1つ1つを包装するようなものです。もしどれか1つが腐ったとしても他のリンゴには直接触れていないので、腐敗が連鎖することはありません。誰もがリスクゼロの世界があればいいと思いますが、私たちのほとんどは虹とユニコーンの夢の世界に住んでいるわけではなく、コネクテッドワールドには常にリスクがあるという認識を前提に、可能な限りリスクを低くおさえることを目標にしています。

アプリごとのアプローチを通じて、可能な限り多くの脅威について問題が発生したアプリケーションの影響を受ける範囲をそのアプリケーションだけに限定して封じ込めることによって、この目標を達成することが可能になります。

データセンターにアプリごとのアプローチを適用することで、例えばボットや認証情報の窃取、認証情報を用いた不正ログイン(パスワードリスト型攻撃)、アプリケーション層DDoS攻撃(GET、PUSH、POSTフラッドなど)、「OWASP Top 10」の脆弱性などからのリスクを軽減するように設計されている、アプリケーションに特化した多様なセキュリティサービスを展開することができます。

これをAlert Logic社は、「アプリケーションレベル セグメンテーション」と呼び、急速にクラウドのベストプラクティスになりつつあると指摘しています。

「新たに出現している、パブリッククラウド環境でも見られる重要なパターンが、インフラストラクチャのアプリケーションレベルのセグメンテーションです。当社が認識しているトップレベルのクラウド管理者は、各アプリケーションを独自のVPC(仮想プライベートクラウド)にセグメント化する傾向があり、これによって単一のセキュリティ侵害による影響が非常に狭い範囲に限定されます。最も小規模なWordPressアプリやDrupalアプリでさえもそれぞれが独自のVPCにセグメント化されているので、攻撃者が横方向に展開したり、攻撃を急速に広げてエンタープライズ規模の災害を引き起こしたりする恐れは低くなります」

このアプローチはデータセンターでも効果を発揮し、セキュリティ侵害が発生した際に横方向への展開に対してアプリケーションを守る上でも重要な(恐らくはそれ以上の)役割を果たします。

アプリごとのアーキテクチャが、展開している他のすべてのアプリケーションの保護ではなく指定した1つのアプリケーションだけのためであるということは皮肉に思えるかもしれませんが、このアプローチによって、潜在的に各アプリケーションが攻撃者の侵入口になる恐れがあるということ、また他のすべてのアプリケーション(内部)が攻撃者になり得るという認識の上で、個々のアプリケーションのセキュリティ確保へ強制的に焦点が当てられます。

アプリごとのアプローチは、クラウド(またはマルチクラウド)や社内のデータセンターの両方に展開できる、クラウド対応のアプリケーションサービスでより高い効果を発揮します。いずれかのアプリケーションサービスソリューションをベースに標準化することでポリシーの一貫性を確保し、デジタルトランスフォーメーションに向けた取り組みの一環として企業がパブリッククラウドの活用を広げていく中で、望ましい一貫したセキュリティを確立できます。

貴社がクラウド(またはマルチクラウド)に展開しているか、または社内のデータセンターに留まっているのかに関係なく、アプリごとのアーキテクチャはセキュリティにおけるwin-winのアプローチとして、個々のアプリケーションへのリスクを低減すると同時に「樽」全体を保護し、デジタルエコノミーの世界における企業競争力の維持を実現します。

 

<より詳しく知りたい方へ>

・BIG-IP  Cloud Edition 製品ページ
https://www.f5.com/ja_jp/products/cloud-editions/big-ip-cloud-edition

・マンガでわかる! アプリ開発チームとインフラチームの摩擦を解消する方法
https://interact.f5.com/jp-solutions-devops.html

・資料ダウンロード:アプリの展開スピードを向上させる為には?
https://interact.f5.com/boost-app-deployment-speed-jp.html