Application Gateway と暗号化

完了

転送中のデータを暗号化することは、アプリケーションのセキュリティ保護に向けた重要な一歩です。 証明機関から証明書を購入し、それらを使用してサーバー間で渡されるメッセージを暗号化することができます。 この暗号化を実行すると、承認されていないユーザーは、これらのメッセージの情報を送信中に傍受して調べることができなくなります。

私たちは顧客からの注文品の発送を処理するため、配送ポータルでの暗号化が重要です。 送信されたデータに誰かがアクセスできる場合、顧客の詳細や金融口座データなどの機密情報を表示することができます。

このデータのセキュリティ保護を容易にするため、Azure Application Gateway を使用できます。 これにより、ユーザーからアプリケーション サーバーへのネットワークを通過するデータが暗号化されます。

Application Gateway とその利点

Azure Application Gateway はアプリケーション配信コントローラーです。 HTTP トラフィックの負荷分散、Web アプリケーション ファイアウォール、およびデータの SSL 暗号化のサポートなどの機能が用意されています。 Application Gateway では、ユーザーとアプリケーション ゲートウェイ間、およびアプリケーション サーバーとアプリケーション ゲートウェイ間のトラフィックの暗号化がサポートされます。

A diagram representation of Application Gateway.

SSL 接続をアプリケーション ゲートウェイで終端させると、CPU に負荷がかかる SSL 終端のワークロードがサーバーからオフロードされます。 また、サーバーに証明書をインストールして SSL を構成する必要はありません。

エンドツーエンドの暗号化が必要な場合、Application Gateway では、秘密キーを使用してゲートウェイ上のトラフィックの暗号化を解除できます。 その後、バックエンド プールで実行されているサービスの公開キーを使って、トラフィックを再暗号化します。

アプリケーション ゲートウェイを介して Web サイトまたは Web アプリケーションを公開することは、サーバーを Web に直接接続しないことも意味します。 アプリケーション ゲートウェイのポート 80 またはポート 443 のみを公開しています。 Web サーバーにはインターネットから直接アクセスできないため、インフラストラクチャの攻撃面が減ります。

Application Gateway のコンポーネント

Application Gateway には複数のコンポーネントがあります。 暗号化の主な部分はフロントエンド ポート、リスナー、バックエンド プールです。

次の図は、SSL を介してクライアントから Application Gateway への受信トラフィックの暗号化が解除され、バックエンド プール内のサーバーに送信されるときに再暗号化される方法を示しています。

Diagram of how messages are decrypted and re-encrypted in an end-to-end SSL configuration with Application Gateway.

フロントエンド ポートとリスナー

トラフィックはフロントエンド ポートを介してゲートウェイに入ります。 多数のポートを開き、Application Gateway はこれらのポートのいずれでもメッセージを受信できます。 リスナーは、トラフィックがポートを介してゲートウェイに入るときに最初に直面するものです。 特定のホスト名と、特定の IP アドレス上の特定のポートをリッスンするように設定されています。 リスナーでは、SSL 証明書を使用して、ゲートウェイに入るトラフィックの暗号化を解除することができます。 その後、リスナーでは、受信要求をバックエンド プールに送信するように定義した規則が使用されます。

バックエンド プール

バックエンド プールにはアプリケーション サーバーが含まれています。 これらのサーバーは、仮想マシン、仮想マシン スケール セット、または Azure App Service 上で実行されているアプリケーションである場合があります。 受信要求は、このプール内のサーバー間で負荷分散できます。 バックエンド プールには、バックエンド サーバーの認証に使用される証明書を参照する HTTP 設定があります。 ゲートウェイでは、この証明書を使用してトラフィックが再暗号化されてから、バックエンド プール内のいずれかのサーバーに送信されます。

Azure App Service を使ってバックエンド アプリケーションをホストしている場合は、バックエンド プールに接続するために Application Gateway に証明書をインストールする必要はありません。 通信はすべて自動的に暗号化されます。 Application Gateway ではサーバーが信頼されます。それらは Azure によって管理されるためです。

自分の知識をチェックする

1.

アプリケーション間で送信されるトラフィックの保護を容易にするために Application Gateway を使用する利点は何ですか?

2.

次のうち、アプリケーション ゲートウェイのバックエンド プールに配置できないものはどれですか?