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 ポリシーが定義されていない場合、最小プロトコル バージョンは TLSv1_0 に設定され、プロトコル バージョン v1.0、v1.1、および v1.2 がサポートされます。
  • 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
既定 True False False False False
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 ポリシー

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

注意

より新しい強力な暗号と 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)" 機能では有効になっていません。
  • 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

次のステップ

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