PaaSによる”セキュア”なWeb アプリケーション実行環境を考える

この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。

こんにちはDXソリューション統括部の村松です。
App ServcieやAzure SQL Database等のPaaSを用いることでサーバいらずで手軽にWebアプリケーションの実行環境を構成できるかと思います。

 

しかし、実行させるWeb アプリケーションによってはその中で機密情報を扱っていることもあり、
多くのお客様(企業様)では「Web アプリケーション環境はなるべくセキュアにしたい」が本音ではないでしょうか?

 

今回はそういった“セキュアなWeb アプリケーション実行環境”の構成例を紹介していきたいと思います。
ここではWEBサーバ、DBサーバ、ストレージで構成されるWeb アプリケーション実行環境を例にします。

図1 セキュアなWeb アプリケーションの実行環境の構成例

 

上記の構成例においてポイントは以下の4つになります。

 

1.関連する通信経路を管理
各PaaSとvNetを統合して関連する通信経路を管理します。
具体的にはService EndpointとUser Defined Routeを構成して通信をルーティングします。

 

2.データ(機密情報)へのアクセスを制限
各PaaSにて標準のファイアウォール機能を有効にして、許可されていないネットワークからのデータベースやストレージへのアクセスを制限します。

 

3.インターネットからのインバウンド通信の保護
App Serviceの前にApplication GatewayとWeb Application Firewallを配置して
インターネットからApp Serviceへのインバウンド通信をL7レベル(アプリケーション層)で保護します
これによりSQLインジェクションクロスサイトスクリプティングといったWebアプリケーションに対する攻撃を検知もしくはブロックします。

 

4.インターネットへのアウトバウンドの通信の保護
インターネットへのゲートウェイの前にAzure Firewallを配置し、
App Servcieからインターネットへのアウトバウンド通信を、L7レベル(アプリケーション層)で保護します。
これにより公開されているC&Cサーバの宛先や許可していないAPIへの通信を検知もしくはブロックします。

 

 

 

 

いかがでしょうか?上記は主にネットワーク周辺のセキュリティを考慮した構成ですが、

Web アプリケーションを設計する際は、こういった目に見えない部分(非機能の部分)も意識することで

より安全なWeb アプリケーションを構成できると思います。

 

ちなみに上記の構成は実際に私が携わったプロジェクトにて設計をしたものですが、

元ネタとなっているのは、以下の記事の内容となっています。

 

Zero to Hero with App Service, Part 6: Securing your web app

https://azure.github.io/AppService/2020/08/14/zero_to_hero_pt6.html

 

以上 今回はここまでになります。またの機会お会いしましょう!

 

 

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください