Azure App Service、Azure Functions、Logic Apps (Standard) の最小 TLS バージョンを管理する

Important

TLS 1.0 および TLS 1.1 は、Azure App Service、Azure Functions、Azure Logic Apps (Standard)、および App Service Environments への受信接続に対して、2027 年 5 月 31 日 に廃止されます。 クライアントとアプリの設定を、その日付より前に TLS 1.2 以降に更新します。 詳細と必要な手順については、 TLS 1.0 および 1.1 の廃止に関 するページを参照してください。

概要

トランスポート層セキュリティ (TLS) 1.0 および 1.1 は、既知の脆弱性を持つレガシ セキュリティ プロトコルです。 App Service プラットフォームでは、 2027 年 5 月 31 日に受信接続の TLS 1.0 と 1.1 のサポートが廃止されます。 その日付より前に TLS 1.2 以降を使用するようにアプリとクライアントを構成します。

次の App Service プラットフォーム リソースに対して最小 TLS バージョンを適用できます。

  • Azure App Service (Windows および Linux 上の Web アプリ)
  • Azure Functions
  • Azure Logic Apps (Standard)
  • App Service Environment (ASE)

新しいアプリの既定の最小 TLS バージョンは 1.2 です。この既定値は提供終了要件を満たしています。 アプリまたはデプロイ スロットで minTlsVersion または scmMinTlsVersion を 1.0 または 1.1 に明示的に設定した場合は、2027 年 5 月 31 日より前に 1.2 以降に変更してください。 TLS 1.0 および 1.1 の提供終了についてを参照してください。

TLS 1.0 および 1.1 の提供終了について

2027 年 5 月 31 日、App Service プラットフォームは、アプリ エンドポイントと SCM (Kudu) エンドポイントの両方で、受信 TLS 1.0 と 1.1 ハンドシェイクの受け入れを停止します。 拒否は、アプリで構成されている minTlsVersionscmMinTlsVersion の値に関係なく、プラットフォーム フロントエンドで発生します。 TLS 1.0 または 1.1 をネゴシエートするすべてのクライアントは、その日付より後に接続に失敗します。

2027 年 5 月 31 日以降、 minTlsVersion または scmMinTlsVersion を 1.0 または 1.1 に設定して、新しいアプリを作成したり、既存のアプリを更新したりする要求も失敗する可能性があります。

廃止に向けた準備

2027 年 31 月 31 日 より前に、サブスクリプション内のすべての App Service、Azure Functions、Azure Logic Apps (Standard)、App Service Environment アプリに対して次の手順を実行します。

  1. Azure サービス廃止ワークブックを使用して、TLS 1.0 または 1.1 を許可しているアプリ、つまり minTlsVersion または scmMinTlsVersion が 1.0 または 1.1 に設定されているアプリを見つけます。
  2. ブックによって表示されるアプリごとに、 最小 TLS バージョン チェッカー 検出機能を使用して、クライアントが 実際に TLS 1.0 または 1.1 経由で接続しているかどうかを確認します。
  3. TLS 1.0 または 1.1 を使用してクライアントを更新または置換します。 TLS 1.0 または 1.1 を使用する一般的なシナリオを参照してください。
  4. すべてのアプリとすべてのデプロイ スロットで、 最小受信 TLS バージョンSCM 最小受信 TLS バージョン の両方を 1.2 (または 1.3) に設定します。 「TLS の最小バージョンを更新する」を参照してください

TLS の最小バージョンを確認する

アプリには、次の 2 つの独立した TLS バージョン設定があります。

  • 最小受信 TLS バージョン: アプリへのクライアント トラフィック (たとえば、 yourapp.azurewebsites.net) に適用されます。
  • SCM の最小受信 TLS バージョン: デプロイ、ログ ストリーミング、高度なツール ( yourapp.scm.azurewebsites.net など) に使用される SCM (Kudu) サイトに適用されます。

アプリを完全にセキュリティで保護するには、両方の設定を TLS 1.2 以降に設定する必要があります。

  1. Azure portal で、App Service、Functions、または Logic Apps (Standard) アプリに移動します。
  2. 左側のメニューで、[設定]>[構成] を選択します。
  3. [全般設定] タブを選択します。
  4. [最小受信 TLS バージョン] と [SCM の最小受信 TLS バージョン] の値を確認します。

デプロイ スロットには、独自の独立した TLS 設定があります。 各スロットを個別に確認します。

TLS 1.0 および 1.1 トラフィックを確認する

TLS の最小バージョンを更新する前に、アプリが現在 TLS 1.0 または 1.1 経由でトラフィックを受信しているかどうかを確認します。 これは、変更の影響を受けるクライアントを特定するのに役立ちます。

  1. Azure portal で、App Service、Functions、または Logic Apps (Standard) アプリに移動します。
  2. 左側のメニューから [ 問題の診断と解決 ] を選択します。
  3. 最小 TLS バージョン チェッカーを検索します。

ヒント

検出リストの読み込みには少し時間がかかる場合があります。 検索で結果が返されない場合は、数秒待ってからやり直してください。

検出器は次を示します。

  • アプリの現在の最小 TLS バージョン設定。
  • 過去 24 時間の TLS バージョン別の要求の概要。
  • TLS 1.0 と TLS 1.1 を使用して要求を行ったクライアント。

TLS 1.0 または 1.1 トラフィックが表示される場合は、TLS の最小バージョンを更新する前に、それらのクライアントを特定してください。 ガイダンスについては 、TLS 1.0 または 1.1 を使用する一般的なシナリオ を参照してください。

この検出機能は、過去 24 時間のスナップショットを示しています。 トラフィックのピーク時に、より完全な画像を確認します。

TLS の最小バージョンを更新する

クライアントが TLS 1.2 以降をサポートしていることを確認したら、サイトと SCM の TLS 最小バージョン設定の両方を更新します。 この手順は、TLS 1.0 と 1.1 が App Service プラットフォームから廃止されたときに中断を回避するために、 2027 年 5 月 31 日より前に必要です。

  1. Azure portal で、App Service、Functions、または Logic Apps (Standard) アプリに移動します。
  2. 左側のメニューで、[設定]>[構成] を選択します。
  3. [全般設定] タブを選択します。
  4. 最小受信 TLS バージョン1.2 に設定します。
  5. SCM の最小受信 TLS バージョン1.2 に設定します。
  6. を選択してを適用します。

デプロイ スロットには、独自の独立した TLS 設定があります。 各スロットを個別に更新します。

古い TLS バージョンを使用して大規模なアプリを検索する

Azure Resource Graph とリスト API ( az webapp listGet-AzWebAppなど) は、 siteConfig プロパティを返しません。 サブスクリプション全体の最小 TLS バージョンを監査するには、Azure Policy を使用します。

Azure サービスの廃止ワークブックを使用して確認する

Azure サービスの提供終了ワークブックには、受信 TLS 1.0 または 1.1 を許可する Azure リソース、つまり、それらのバージョンを許可するように最小 TLS バージョンが構成されているリソースが一覧表示されます。 ワークブックを App Service でフィルターし、minTlsVersion または scmMinTlsVersion が 1.0 または 1.1 に設定されているアプリを表示します。

このビューは構成ベースです。実際に TLS 1.0 または 1.1 トラフィックを受信しているリソースではなく、TLS 1.0 または 1.1 を 受け入れる リソースが表示されます。 TLS 1.0 または 1.1 経由で特定のアプリに実際に接続しているクライアントを確認するには、代わりにそのアプリで 最小 TLS バージョン チェッカー 検出機能を使用します。

Azure Policy を使用した監査

Azure Policy は、リソースをサーバー側で評価し、必要な TLS バージョンを満たしていないアプリを変更せずに報告します。

  1. Azure ポータルでPolicyを検索して選択します。
  2. 左側のメニューから [定義] を選択します。
  3. 次の 監査 ポリシーを検索して割り当てます。
    • App Service アプリでは、最新の TLS バージョン
    • App Service アプリ スロットでは、最新の TLS バージョン
    • Function アプリでは、最新の TLS バージョン
    • Function アプリ スロットでは、最新の TLS バージョン
  4. スコープをサブスクリプションまたは管理グループに設定します。
  5. [ 確認と作成]、[ 作成] の順に選択します。
  6. ポリシーが評価されたら (新しい割り当ての場合は最大 30 分)、 ポリシー>コンプライアンス に準拠していないリソースを表示します。

Warnung

Azure Policy には、 "構成" で始まる修復ポリシーも用意されています (たとえば、 最新の TLS バージョンを使用するように App Service アプリを構成します)。 これらのポリシーでは DeployIfNotExists 効果が使用され 、TLS 設定がアクティブに更新されます。 修復ポリシーは、クライアントが TLS 1.2 以降をサポートしていることを確認した後にのみ割り当てます。

組み込みポリシーは、メイン サイトの最小 TLS バージョン (minTlsVersion) を監査します。 現在、SCM サイトの最小 TLS バージョン (scmMinTlsVersion) の組み込みポリシーはありません。 「 TLS の最小バージョン を確認する」セクションの CLI または PowerShell コマンドを使用して、SCM 設定を個別に確認します。

App Service ポリシー定義の完全な一覧については、 Azure App Service の Azure Policy の組み込み定義に関するページを参照してください。

TLS 1.0 または 1.1 を使用する一般的なシナリオ

アプリが TLS 1.0 または 1.1 を使用して受信要求を受信する一般的な理由を次に示します。 これらのシナリオのいずれかが該当する場合は、TLS の最小バージョンを更新する前に、クライアント所有者と協力して TLS 1.2 以降がサポートされていることを確認してください。

シナリオ 確認すべきこと 詳細情報
アプリを呼び出す .NET Framework クライアント 明示的に構成されていない限り、4.7 より前のバージョンは既定で TLS 1.0 に設定される場合があります .NET Framework での TLS のベスト プラクティス
古い Java クライアントがあなたのアプリを呼び出す 古い Java バージョンでは、既定で TLS 1.2 をネゴシエートできない場合があります TLS 1.0 の問題の解決
古いモバイルデバイスがアプリを起動する 古い Android および iOS バージョンでは、既定で TLS 1.2 が使用されない場合があります ターゲット デバイスでテストする
API を呼び出す IoT または埋め込みデバイス デバイス ファームウェアは TLS 1.0 または 1.1 のみをサポートできます デバイスの製造元に確認する
Webhook をアプリに送信するサード パーティのサービス 呼び出し元のスタックで従来の TLS バージョンを使用する場合がある 第三者に連絡して TLS 1.2 のサポートを確認する
SCM サイトにデプロイする CI/CD エージェント 古いオペレーティング システムでのセルフホステッド ビルド エージェント エージェント マシンの OS とツールを更新する
アプリを呼び出すスクリプト (PowerShell、curl) 以前のスクリプト ランタイムでは、既定で TLS 1.0 が使用される場合があります TLS 1.0 の問題の解決

アプリに接続するクライアントの一般的なガイダンス:

  • クライアント オペレーティング システム、ライブラリ、フレームワークを最新バージョンに更新します。
  • クライアント コードで TLS プロトコル のバージョンをハードコーディングすることは避けてください。 可能な場合は、オペレーティング システムの既定値に延期します。
  • クライアント コンピューターで Fiddler を使用して、アプリとネゴシエートする TLS バージョンを確認します。

よく寄せられる質問

より高い最小 TLS バージョンを設定するとどうなりますか?

App Service プラットフォームでは、TLS バージョンを使用するすべての受信接続が、構成済みの最小値を下回って拒否されます。 サポートされていない TLS バージョンで接続を試みるクライアントは、接続エラーを受け取ります。

各デプロイ スロットを更新する必要がありますか?

Yes. 各デプロイ スロットには、独自の独立した minTlsVersionscmMinTlsVersion の設定があります。 各スロットを個別に更新します。

これはアプリからの送信接続に影響しますか?

No. この変更は、アプリへの 受信 接続にのみ適用されます。 アプリから他のサービスへの送信接続は、ターゲット サーバーの TLS 要件とアプリのクライアント構成によって制御されます。

これはカスタム ドメイン、または *.azurewebsites.net にも影響しますか?

両方とも。 TLS バージョンの最小設定は、使用されているホスト名に関係なく、アプリへのすべての受信トラフィックに適用されます。

これは Azure Functions と Logic Apps に適用されますか?

Yes. Azure Functions と Logic Apps (Standard) は App Service プラットフォーム上で実行され、同じ TLS バージョン設定をサポートします。 Logic Apps の従量課金 (マルチテナント) は別のプラットフォームで実行され、この記事では取り上げません。

2027 年 5 月 31 日より前にアプリを更新しなかった場合はどうすればよいですか?

TLS 1.0 または 1.1 を使用して接続するクライアント (ブラウザー、SDK、スクリプト、IoT デバイス、CI/CD エージェントなど) は、その日以降は接続できません。 詳細については 、TLS 1.0 および 1.1 の提供終了について を参照してください。

この廃止は App Service 環境に適用されますか?

Yes. App Service 環境は、マルチテナント App Service と同じ 2027 年 5 月 31 日の提供終了日に従います。