Application Gateway の TLS ポリシーの概要

Azure Application Gateway を使用すると、TLS/SSL 証明書の管理を一元化し、バックエンド サーバー ファームからの暗号化と復号化のオーバーヘッドを低減することができます。 この一元化された TLS の処理によって、お客様の組織のセキュリティ要件に適したサーバーで中心的な役割を担う TLS ポリシーを指定することもできます。 これにより、コンプライアンス要件やセキュリティ ガイドラインに合致した推奨プラクティスを実行できます。

TLS ポリシーでは、TLS プロトコルのバージョン、暗号スイート、および TLS ハンドシェイク中に使用される暗号の優先順位を制御できます。 Application Gateway には、TLS ポリシーを制御するための 2 つのメカニズムが用意されています。 定義済みのポリシーかカスタム ポリシーのいずれかを使用できます。

使用状況とバージョンの詳細

  • SSL 2.0 および 3.0 は、すべてのアプリケーション ゲートウェイに対して無効になっており、設定することはできません。
  • カスタム TLS ポリシーでは、ゲートウェイの最小プロトコル バージョンとして、任意の TLS プロトコル(TLSv1_0、TLSv1_1、TLSv1_2、またはTLSv1_3)を選択できます。
  • TLS ポリシーが選択されていない場合は、そのリソースの作成に使用されている API バージョンに基づいて、既定の TLS ポリシーが適用されます。
  • TLS v1.3 をサポートする 2022 定義済みCustomv2 ポリシー は、Application Gateway V2 SKU (Standard_v2 または WAF_v2) でのみ使用できます。
  • 2022 定義済みまたは Customv2 ポリシーを使用すると、ゲートウェイ全体の SSL セキュリティとパフォーマンス体制が強化されます (SSL ポリシーと SSL プロファイル)。 そのため、1つのゲートウェイに古いポリシーと新しいポリシーの両方の共存はできません。 クライアントが古い TLS バージョンまたは暗号(たとえば、TLS v1.0)を必要とする場合、ゲートウェイ全体で古い定義済みポリシーまたはカスタムポリシーのいずれかを使用する必要があります。
  • 接続に使用される TLS 暗号化スイートはまた、使用される証明書の種類にも基づきます。 「クライアントからアプリケーション ゲートウェイへの接続」で使用される暗号スイートは,アプリケーション ゲートウェイ上のリスナー証明書の種類に基づきます。 一方、「バックエンド プールへのアプリケーション ゲートウェイ接続」の確立に使用される暗号スイートは、バックエンドサーバーによって提示されるサーバー証明書の種類に基づきます。

定義済み TLS ポリシー

Application Gateway は、いくつかの定義済みのセキュリティポリシーを提供しています。 これらのポリシーを使用してゲートウェイを構成し、適切なセキュリティ レベルを設定できます。 ポリシー名には、構成が行われた年月が付加されます(AppGwSslPolicy<YYYYMMDD>)。 各ポリシーでは、それぞれ異なる TLS プロトコルのバージョンおよび/または暗号スイートが提供されます。 これらの定義済みポリシーは、Microsoft セキュリティ チームからのベスト プラクティスと推奨事項を念頭に置いて構成されています。 最新の TLS ポリシーを使用して、最高レベルの TLS セキュリティを設定することをお勧めします。

次のテーブルは、各定義済みポリシーの暗号スイートと最小プロトコル バージョンのサポート リスト を示しています。 暗号スイートの順位により、TLS ネゴシエーション中の優先順位が決定します。 これらの定義済みポリシーの暗号スイートの正確な順序を知るには、ポータルで PowerShell、CLI、REST API、またはリスナー ブレードを参照できます。

定義済みのポリシー名 (AppGwSslPolicy<YYYYYMMDD>) 20150501 20170401 20170401S 20220101 20220101S
最小プロトコル バージョン 1.0 1.1 1.2 1.2 1.2
有効なプロトコル バージョン 1.0
1.1
1.2
1.1
1.2
1.2 1.2
1.3
1.2
1.3
既定値 正しい
(API バージョン < 2023-02-01 の場合)
いいえ True
(API バージョン >= 2023-02-01 の場合)
いいえ
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

既定の TLS ポリシー

アプリケーション ゲートウェイ リソース構成で特定の SSL ポリシーが指定されていない場合は、既定の TLS ポリシーが適用されます。 この既定のポリシーの選択は、そのゲートウェイの作成に使用されている API バージョンに基づいています。

  • API バージョン 2023-02-01 以降の場合、最小プロトコル バージョンは 1.2 に設定されています (バージョンは 1.3 までサポートされています)。 これらの API バージョンを使用して作成されたゲートウェイには、リソース構成に読み取り専用プロパティ defaultPredefinedSslPolicy:AppGwSslPolicy20220101 が表示されます。 このプロパティは、使用する既定の TLS ポリシーを定義します。
  • 2023-02-01 よりも前の API バージョンの場合、定義済みのポリシー AppGwSslPolicy20150501 を既定として使用するため、最小プロトコル バージョンは 1.0 に設定されています (1.2 までのバージョンがサポートされています)。

既定の TLS が要件に適合しない場合は、別の定義済みポリシーを選択するか、カスタムのものを使用します。

Note

更新された既定の TLS ポリシーに対する Azure PowerShell と CLI のサポートは近日公開予定です。

カスタム TLS ポリシー

お客様の要件に合わせて TLS ポリシーを構成する必要がある場合、カスタム TLS ポリシーを使用できます。 カスタム TLS ポリシーでは、サポートされる最小バージョンの TLS プロトコルと、サポートされる暗号スイートとその優先順位を完全に制御できます。

Note

より新しい強力な暗号と TLSv1.3 のサポートは、CustomV2 ポリシーでのみ利用可能です。 強化されたセキュリティとパフォーマンスの利点を提供します。

重要

  • Application Gateway v1 SKU (Standard または WAF) でカスタム SSL ポリシーを使用する場合は、必ず、必須の暗号 "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" をリストに追加してください。 この暗号は、Application Gateway v1 SKU でメトリックとログを有効にするために必要です。 これは、Application Gateway v2 SKU (Standard_v2 または WAF_v2) では必須ではありません。
  • TLSv1.3 では、暗号スイートの “TLS_AES_128_GCM_SHA256” と “TLS_AES_256_GCM_SHA384” は必須です。 PowerShell または CLI を使用して最小プロトコル バージョン 1.2 または 1.3 で CustomV2 ポリシーを設定する場合は、これらを明示的に記載する必要はありません。 したがって、これらの暗号スイートは、Portal を除き、[Get Details] (詳細の取得) の出力には表示されません。

暗号スイート

Application Gateway では、カスタム ポリシーで選択できる次の暗号スイートがサポートされています。 暗号スイートの順位により、TLS ネゴシエーション中の優先順位が決定します。

  • TLS_AES_128_GCM_SHA256 (Customv2 でのみ使用可能)
  • TLS_AES_256_GCM_SHA384 (Customv2 でのみ使用可能)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

制限事項

  • バックエンド サーバーへの接続は、常に最小でプロトコル TLS v1.0、最大で TLS v1.2 までです。 そのため、バックエンド サーバーとのセキュリティで保護された接続を確立するには、TLS バージョン 1.0、1.1、1.2 のみがサポートされます。
  • 現時点では、TLS 1.3 の実装は "ゼロ ラウンド トリップ時間 (0-RTT)" 機能では有効になっていません。
  • TLS セッション (ID またはチケット) の再開はサポートされていません。
  • Application Gateway v2 は次の DHE 暗号をサポートしていません。 これらは、定義済ポリシーに記載されている場合でも、クライアントとの TLS 接続には使用されません。 DHE 暗号ではなく、安全でより高速な ECDHE 暗号をお勧めします。
    • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
    • TLS_DHE_DSS_WITH_AES_128_CBC_SHA
    • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
    • TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  • "最大フラグメント長ネゴシエーション" のサポートを求めている制約付きクライアントは、新しい 2022 定義済みまたは Customv2 ポリシーを使用する必要があります。

次のステップ

TLS ポリシーの構成について学習したい場合は、Application Gateway での TLS ポリシーのバージョンと暗号スイートの構成に関する記事をご覧ください。