Azure ベースのネットワーク通信の暗号化にゼロ トラストの原則を適用する

この記事では、以下の方法で Azure 環境との間および Azure 環境内でのネットワーク通信を暗号化するためのゼロ トラストの原則を適用するためのガイダンスを提供します。

ゼロ トラストの標準 定義 以下により適合
明示的に検証する 常に利用可能なすべてのデータポイントに基づいて認証および承認してください。 Azure VPN Gateway 接続に条件付きアクセス ポリシーを使用し、ユーザーから仮想マシンへの接続に Secure Shell (SSH) とリモート デスクトップ プロトコル (RDP) を使用します。
最小限の特権アクセスを使用する ジャスト・イン・タイムおよびジャスト・エナフ・アクセス(JIT/JEA)、リスクベースのアダプティブ・ポリシー、データ保護により、ユーザー・アクセスを制限します。 ダイレクト ポート付きの Azure ExpressRoute に対して静的接続関連付けキー (CAK) を使用するように Microsoft Enterprise Edge (MSEE) デバイスを構成し、マネージド ID を使用して ExpressRoute 回線リソースに対する認証を行います。
侵害を前提とする 影響範囲を最小限に抑えるために、アクセスをセグメント化します。 エンドツーエンドの暗号化を検証し、分析を使用して可視性を得て、脅威検出を促進し、防御を強化します。 転送中のデータの機密性、整合性、信頼性を提供する暗号化方法とプロトコルを使用して、ネットワーク トラフィックを保護します。

Azure Monitor を使用して ExpressRoute のネットワーク パフォーマンス メトリックとアラートを提供します。

Azure Bastion を使用して Bastion サービスから個々のセッションを管理し、切断を削除したり強制します。

ネットワーク トラフィックの暗号化には以下のレベルが存在します。

  • ネットワーク層の暗号化

    • インターネットまたはオンプレミス ネットワークから Azure VNet および仮想マシンへの通信をセキュリティで保護して検証する

    • Azure VNet 内および複数の Azure VNet にわたる通信をセキュリティで保護して検証する

  • アプリケーション層の暗号化

    • Azure Web アプリケーションの保護
  • Azure 仮想マシンで実行されているワークロードの保護

リファレンス アーキテクチャ

次の図は、オンプレミスまたはインターネット上のユーザーと管理者間の暗号化された通信に関するこのゼロ トラスト ガイダンスの参照アーキテクチャと、この記事で説明する手順に関する Azure 環境内のコンポーネントを示しています。

暗号化とゼロ トラストの原則が適用された Azure ネットワーク コンポーネントの参照アーキテクチャ。

この図の中の数字は以下のセクションの各手順に対応しています。

この記事の内容は?

ゼロ トラストの原則は、インターネットまたはオンプレミス ネットワーク上のユーザーと管理者から Azure クラウドへの、あるいは Azure クラウド内での参照アーキテクチャに対して適用されます。 次の表は、このアーキテクチャ全体のネットワーク トラフィックの暗号化を保証するための推奨事項を示しています。

手順 タスク 適用されるゼロトラストの原則
1 ネットワーク層の暗号化を実装する。 明示的に検証する
最小限の特権アクセスを使用する
侵害を前提とする
2 オンプレミス ネットワークから Azure VNet への通信をセキュリティで保護して検証する。 明示的に検証する
侵害を前提とする
3 Azure VNet 内および複数の Azure VNet にわたる通信をセキュリティで保護して検証する。 侵害を前提とする
4 アプリケーション層の暗号化を実装する。 明示的に検証する
侵害を前提とする
5 Azure Bastion を使用して Azure 仮想マシンを保護する。 侵害を想定する

手順 1: ネットワーク層の暗号化を実装する

ネットワーク層の暗号化は、オンプレミスおよび Azure 環境にゼロ トラストの原則を適用する場合に重要です。 ネットワーク トラフィックがインターネットを経由する場合は、攻撃者によるトラフィック傍受の可能性があり、データは宛先に到達する前に中身を見られたり変更されているかもしれないということを常に想定しておく必要があります。 データがインターネット内をどのようにルーティングされるかはサービス プロバイダーによって制御されるため、オンプレミス ネットワークを出た瞬間から Microsoft のクラウドに至るまでのデータのプライバシーと整合性は自分で確保する必要があります。

次の図は、ネットワーク層の暗号化を実装するための参照アーキテクチャを示しています。

Azure ネットワークのネットワーク層暗号化の実装の参照アーキテクチャ。

以下の 2 つのセクションでは、Azure ネットワーク サービスがプロトコルをサポートしているインターネット プロトコル セキュリティ (IPsec) と Media Access Control Security (MACsec)、およびこれらが使用されていることを確認する方法について説明します。

IPsec

IPsec は、インターネット プロトコル (IP) 通信のセキュリティを提供するプロトコルのグループです。 これは、一連の暗号化アルゴリズムを使用して、ネットワーク パケットを認証して暗号化します。 IPSec は、仮想プライベート ネットワーク (VPN) を確立するために使用されるセキュリティ カプセル化プロトコルです。 IPsec VPN トンネルは、メイン モードと呼ばれるフェーズ 1 とクイック モードと呼ばれるフェーズ 2 の 2 つのフェーズで構成されます。

IPsec のフェーズ 1 はトンネルの確立であり、ピアは暗号化、認証、ハッシュ、Diffie-Hellman アルゴリズムなど、インターネット キー交換 (IKE) セキュリティ アソシエーションのパラメーターをネゴシエートします。 ピアは、ID を確認するために、事前共有キーを交換します。 IPsec のフェーズ 1 は、メイン モードとアグレッシブ モードという 2 つのモードで動作できます。 Azure VPN Gateway は、IKE、IKEv1、IKEv2 の 2 つのバージョンをサポートしており、メイン モードでのみ動作します。 メイン モードでは、Azure VPN Gateway とオンプレミス デバイスの間の接続の ID の暗号化が保証されます。

IPsec のフェーズ 2 では、ピアはデータ転送のセキュリティ パラメーターをネゴシエートします。 このフェーズでは、双方のピアが、暗号化と認証アルゴリズム、セキュリティ アソシエーション (SA) の有効期間の値、および IPsec トンネル経由でどのトラフィックが暗号化されるかを定義するトラフィック セレクター (TS) について同意します。 フェーズ 1 で作成されたトンネルは、このネゴシエーションのための安全なチャネルとして機能します。 IPsec では、認証ヘッダー (AH) プロトコルまたはカプセル化セキュリティ ペイロード (ESP) プロトコルを使用して IP パケットをセキュリティで保護できます。 AH は整合性と認証を提供しますが、ESP はさらに機密性 (暗号化) も提供します。 IPsec フェーズ 2 は、トランスポート モードまたはトンネル モードで動作できます。 トランスポート モードでは、IP パケットのペイロードのみが暗号化されますが、トンネル モードでは IP パケット全体が暗号化され、新しい IP ヘッダーが追加されます。 IPsec フェーズ 2 は、IKEv1 または IKEv2 の上に確立できます。 現在の Azure VPN Gateway IPsec の実装でサポートされているのは、トンネル モードの ESP だけです。

IPsec をサポートする Azure サービスの一部を以下に示します。

これらのサービスの IPsec を有効にするために変更する必要がある設定はありません。 これらは既定で有効になっています。

MACsec と Azure Key Vault

MACsec (IEEE 802.1AE) は、イーサネット リンク経由で認証と暗号化を提供することで、データ リンク層で侵害の想定のゼロ トラストの原則を適用するネットワーク セキュリティ標準です。 MACsec では、すべてのネットワーク トラフィック (たとえ同じローカル エリア ネットワーク内にあったとしても) が悪意のあるアクターによって侵害されたり傍受されている可能性があると想定します。 MACsec は、2 つのネットワーク インターフェイス間で共有されるセキュリティ キーを使用して、各フレームを検証して保護します。 この構成を実現できるのは、2 つの MACsec 対応デバイス間においてだけです。

MACsec は、接続の関連付けを使用して構成されます。これは、ネットワーク インターフェイスが受信および送信のセキュリティ チャネルを作成するために使用する属性のセットです。 作成されると、これらのチャネル経由のトラフィックは、2 つの MACsec セキュリティで保護されたリンクを介して交換されます。 MACsec には、以下の 2 つの接続関連付けモードがあります。

  • 静的接続関連付けキー (CAK) モード: 接続関連付けキー名 (CKN) と割り当てられた CAK を含む事前共有キーを使用して MACsec セキュリティで保護されたリンクが確立されます。 これらのキーは、リンクの両端で構成されます。
  • 動的 CAK モード: このセキュリティ キーは、リモート認証ダイヤルイン ユーザー サービス (RADIUS) サーバーなどの一元化された認証デバイスを使用できる 802.1x 認証プロセスを使用して動的に生成されます。

ダイレクト ポートを使用して Azure ExpressRoute を構成する場合、Microsoft Enterprise Edge (MSEE) デバイスは、CAK と CKN を Azure Key Vault 内に保存することで静的 CAK をサポートします。 Azure Key Vault 内の値にアクセスするには、ExpressRoute 回線リソースを認証するためのマネージド ID を構成します。 このアプローチでは、Azure Key Vault からキーにアクセスできるのが承認されたデバイスだけになるため、最小限の特権アクセスの使用のゼロ トラストの原則に従っていることになります。 詳細については、「ExpressRoute Direct ポートでの MACsec の構成」を参照してください。

手順 2: オンプレミス ネットワークから Azure VNet への通信をセキュリティで保護して検証する

さまざまな規模のビジネスでクラウド移行がより一般的になるにつれて、ハイブリッド接続が重要な役割を果たすようになっています。 オンプレミス ネットワークと Azure の間のネットワーク通信をセキュリティで保護するだけでなく、検証して監視することも重要です。

次の図は、オンプレミス ネットワークから Azure VNet への通信をセキュリティで保護して検証するための参照アーキテクチャを示しています。

オンプレミス ネットワークから Azure VNet への通信をセキュリティで保護して検証するための参照アーキテクチャ。

Azure には、以下の 2 つのオンプレミス ネットワークを Azure VNet 内のリソースに接続するためのオプションがあります。

  • Azure VPN Gateway を使用すると、IPsec を使用してサイト間 VPN トンネルを作成し、中央オフィスまたはリモート オフィス内のネットワークと Azure VNet 間のネットワーク通信を暗号化して認証できます。 また、個々のクライアントがポイント対サイト接続を確立して、VPN デバイスなしで Azure VNet 内のリソースにアクセスすることもできるようになります。 ゼロ トラストに準拠するには、Azure VPN Gateway 接続に対して Entra ID 認証と条件付きアクセス ポリシーを構成して、接続しているデバイスの ID とコンプライアンスを検証します。 詳細については、「Microsoft Tunnel VPN ゲートウェイと条件付きアクセス ポリシーの使用」を参照してください。

  • Azure ExpressRoute は、高帯域幅のプライベート接続を提供し、これにより接続プロバイダーの助けを借りてオンプレミス ネットワークを Azure に拡張することができます。 ネットワーク トラフィックはパブリック インターネットを経由しないため、既定ではデータは暗号化されません。 ExpressRoute 経由のトラフィックを暗号化するには、IPsec トンネルを構成します。 ただし、ExpressRoute 経由で IPsec トンネルを実行する場合、帯域幅はトンネル帯域幅に制限されるため、ExpressRoute 回線の帯域幅を確保するために複数のトンネルを実行する必要があるかもしれないことに注意してください。 詳細については、「ExpressRoute プライベート ピアリング経由のサイト間 VPN 接続 - Azure VPN Gateway」を参照してください。

    ExpressRoute Direct ポートを使用している場合は、BGP ピアを確立するときに認証を有効にするか、MACsec を構成してレイヤー 2 の通信をセキュリティで保護することで、ネットワーク セキュリティを強化できます。 MACsec はイーサネット フレームの暗号化を提供し、利用者のエッジ ルーターと Microsoft のエッジ ルーターの間でのデータの機密性、整合性、信頼性を確保します。

    Azure ExpressRoute は、ネットワーク パフォーマンス メトリックとアラートのための Azure Monitor もサポートします。

暗号化により、不正な傍受からデータを保護できますが、ネットワーク トラフィックを暗号化および復号化するための追加の処理レイヤーが導入され、パフォーマンスに影響が出る可能性があります。 また、インターネットを経由するネットワーク トラフィックは、ネットワーク待機時間を発生させる可能性のある複数のネットワーク デバイスを通過する必要があるため、予測が困難となる可能性があります。 Microsoft は、パフォーマンスの問題を回避するために ExpressRoute の使用を推奨しています。ExpressRoute は、ワークロードに合わせてカスタマイズできる信頼性の高いネットワーク パフォーマンスと帯域幅の割り当てを提供します。

Azure VPN Gateway と ExpressRoute のどちらを使用するかを判断する場合は、以下の質問について検討してください。

  1. オンプレミス ネットワークと Azure 間でアクセスする予定のファイルやアプリケーションの種類はどのようなものですか? 大量のデータを転送するための継続的な帯域幅が必要ですか?
  2. アプリケーションを最適に実行するために待機時間を継続的に短くする必要がありますか?
  3. ハイブリッド接続のネットワーク パフォーマンスと正常性を監視する必要がありますか?

これらの質問のいずれかに対する答えが "はい" である場合は、オンプレミス ネットワークを Azure に接続する主要な方法として Azure ExpressRoute を使用する必要があります。

ExpressRoute と Azure VPN Gateway を共存させることができる一般的なシナリオは以下の 2 つです。

  • ブランチ オフィスを Azure に接続するには Azure VPN Gateway を使用し、メイン オフィスの接続には ExpressRoute を使用することができます。
  • ExpressRoute サービスが停止している場合は、中央オフィス用の Azure へのバックアップ接続として Azure VPN Gateway を使用することもできます。

手順 3: Azure VNet 内および複数の Azure VNet にわたる通信をセキュリティで保護して検証する

Azure 内のトラフィックでは、下位レベルの暗号化が行われています。 異なるリージョンの VNet 間をトラフィックが移動する際に、Microsoft は MACsec を使用してデータリンク層でピアリング トラフィックを暗号化して認証します。

次の図は、Azure VNet 内および複数の Azure VNet にわたる通信をセキュリティで保護して検証するための参照アーキテクチャを示しています。

Azure VNet 内および複数の Azure VNet にわたる通信をセキュリティで保護して検証するための参照アーキテクチャ。

しかし、ゼロ トラストを確保するには、暗号化だけでは不十分です。 Azure VNet 内および複数の Azure VNet にわたるネットワーク通信を検証して監視する必要もあります。 Azure VPN Gateway またはネットワーク仮想アプライアンス (NVA) の助けを借りた VNet 間でのさらなる暗号化と検証も可能ですが、一般的な方法ではありません。 Microsoft は、細かいポリシーを適用して異常を検出できる一元化されたトラフィック検査モデルを使用するようにネットワーク トポロジを設計することを推奨しています。

VPN ゲートウェイまたは仮想アプライアンスを構成するオーバーヘッドを軽減するには、特定のサイズの仮想マシンに対する VNet 暗号化を有効にして、VNet 内、および複数の VNet ピアリングにわたる仮想マシン間のトラフィックをホスト レベルで暗号化して検証します。

手順 4: アプリケーション層で暗号化を実装する

アプリケーション層の暗号化は、ユーザーが Web アプリケーションまたはデバイスを操作する際のすべてのデータと通信の暗号化を義務付けるゼロ トラストのための重要な要素となります。 アプリケーション層の暗号化により、検証され信頼されたエンティティのみが Web アプリケーションまたはデバイスにアクセスできるようになります。

次の図は、アプリケーション層で暗号化を実装するための参照アーキテクチャを示しています。

アプリケーション層での暗号化の実装の参照アーキテクチャ。

アプリケーション層での暗号化の最も一般的な例の 1 つは、Web ブラウザーと Web サーバーの間のデータを暗号化するハイパーテキスト転送プロトコル セキュア (HTTPS) です。 HTTPS は、トランスポート層セキュリティ (TLS) プロトコルを使用してクライアントとサーバー間の通信を暗号化し、TLS デジタル証明書を使用して、Web サイトやドメインの ID と信頼性を検証します。

アプリケーション層セキュリティの別の例は、クライアントとサーバー間のデータを暗号化する Secure Shell (SSH) とリモート デスクトップ プロトコル (RDP) です。 これらのプロトコルは、承認されコンプライアンスに準拠しているデバイスまたはユーザーのみがリモート リソースにアクセスできるようにするための多要素認証と条件付きアクセス ポリシーもサポートしています。 Azure 仮想マシンへの SSH 接続と RDP 接続のセキュリティ保護については、手順 5 を参照してください。

Azure Web アプリケーションの保護

Azure Front Door または Azure Application Gateway を使用して、Azure Web アプリケーションを保護できます。

Azure Front Door

Azure Front Door は、Microsoft のエッジ ロケーションを通じてエンド ユーザーへのコンテンツ配信を最適化するグローバル配信サービスです。 Web Application Firewall (WAF) や Private Link サービスなどの機能を使用すると、Microsoft 内部のネットワークを使用して配信元にプライベートにアクセスしながら、Microsoft ネットワークのエッジ上にある Web アプリケーションに対する悪意のある攻撃を検出してブロックできます。

データを保護するために、Azure Front Door エンドポイントへのトラフィックは、エンドポイントとの間で送受信されるすべてのトラフィックに関して、HTTPS とエンド ツー エンド TLS を使用して保護されます。 トラフィックは、クライアントから配信元、および配信元からクライアントへの両方で暗号化されます。

Azure Front Door は、HTTPS 要求を処理し、自身のプロファイル内のどのエンドポイントが関連するドメイン名を持つかを決定します。 次に、パスを確認し、どのルーティング規則がその要求のパスと一致するかを決定します。 キャッシュが有効である場合、Azure Front Door はキャッシュをチェックして、有効な応答があるかどうかを確認します。 有効な応答がない場合は、Azure Front Door で、要求されたコンテンツを提供できる最適な配信元が選択されます。 要求が配信元に送信される前に、ルール セットを要求に適用して、ヘッダー、クエリ文字列、または配信元の宛先を変更できます。

Azure Front Door では、フロントエンド TLS とバックエンド TLS の両方がサポートされています。 フロントエンド TLS は、クライアントと Azure Front Door の間のトラフィックを暗号化します。 バックエンド TLS は、Azure Front Door と配信元の間のトラフィックを暗号化します。 Azure Front Door では、TLS 1.2 と TLS 1.3 がサポートされています。 カスタム TLS 証明書を使用するか、Azure Front Door によって管理される証明書を使用するように Azure Front Door を構成できます。

Note

さらにパケット検査を行うために、NVA への接続に Private Link 機能を使用することもできます。

Azure Application Gateway

Azure Application Gateway は、レイヤー 7 で動作するリージョン ロード バランサーです。 これは HTTP URL 属性に基づいて Web トラフィックをルーティングして分散します。 トラフィックをルーティングして分散するには、以下の 3 つの異なる方法を使用できます。

  • HTTP のみ: Application Gateway は、暗号化されていない形式で受信 HTTP 要求を受け取り適切な宛先にルーティングします。
  • SSL 終端: Application Gateway は、受信 HTTPS 要求をインスタンス レベルで復号化し、それらを検査し、暗号化されていない状態で宛先にルーティングします。
  • エンド ツー エンド TLS: Application Gateway は、受信 HTTPS 要求をインスタンス レベルで復号化し、それらを検査し、再暗号化してから宛先にルーティングします。

最も安全なオプションは、認証証明書または信頼されたルート証明書の使用を要求して機密データの暗号化と転送を行えるエンド ツー エンド TLS です。 また、これらの証明書のバックエンド サーバーへのアップロードと、これらのバックエンド サーバーが Application Gateway に認識されていることの確認も要求します。 詳細については、「Application Gateway を使用したエンド ツー エンド TLS の構成」を参照してください。

さらに、オンプレミスのユーザーまたは別の VNet 内の仮想マシン上のユーザーは、同じ TLS 機能を備えた Application Gateway の内部フロントエンドを使用できます。 Microsoft は、エンドポイントのフロントエンド保護を強化するために、暗号化だけでなく常に WAF を有効にすることを推奨しています。

手順 5: Azure Bastion を使用して Azure 仮想マシンを保護する

Azure Bastion は、TLS 接続経由で仮想マシンに安全に接続できるようにするマネージド PaaS サービスです。 この接続は、Azure portal から、またはネイティブ クライアントを通して仮想マシン上のプライベート IP アドレスに対して確立できます。 Bastion を使用する利点は以下のとおりです。

  • Azure 仮想マシンにはパブリック IP アドレスが必要ありません。 接続は HTTPS 用の TCP ポート 443 経由で行われ、ほとんどのファイアウォールを通過できます。
  • 仮想マシンはポート スキャンから保護されます。
  • Azure Bastion プラットフォームは常に更新され、ゼロデイ攻撃から保護されます。

Bastion を使用すると、単一のエントリ ポイントから仮想マシンへの RDP 接続と SSH 接続を制御できます。 個々のセッションは Azure portal の Bastion サービスから管理できます。 ユーザーがそのマシンに接続していることが不適切だと思われる場合には、実行中のリモート セッションを削除したり強制的に切断することもできます。

次の図は、Azure Bastion を使用して Azure 仮想マシンを保護するための参照アーキテクチャを示しています。

Azure Bastion を使用した Azure 仮想マシンの保護の参照アーキテクチャ。

Azure 仮想マシンを保護するには、Azure Bastion をデプロイし、RDP と SSH を使用したプライベート IP アドレスでの仮想マシンへの接続を開始します。

次のステップ

Azure ネットワークへのゼロ トラストの適用の詳細については、以下を参照してください。

関連情報

この記事でメンションされているさまざまなサービスとテクノロジについては、次のリンクを参照してください。