しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

2024/10/31 に多くの Azure サービスで TLS 1.0 / TLS 1.1 サポートが廃止されるので対応する

以下で公開されているアドバイザリー通り、今月末の 10/31 に Azure では全体的に TLS 1.0 と TLS 1.1 のサポートが廃止され、11/01 からは各種 Azure サービスを利用するためには TLS 1.2 以上が必須となります。

対象となるサービスが非常に多いため、影響範囲も広くなりがちですが殆どのケースでは問題ないでしょう。

既に大半のトラフィックは TLS 1.2 が使われているはずですが、TLS 1.2 をサポートしていない古い環境の存在や .NET Framework を使っている場合は明示的に TLS 1.2 を回避する設定が流行った時があるため、いま一度見直しておくのが良さそうです。

一部のサービスでは Azure へのリクエスト時だけではなく、Webhook による Azure から外部へのリクエスト時にも適用されるため、受け側も TLS 1.2 への対応が必要になります。VM で構築している場合には問題となる可能性があるため、事前に確認しておいた方が安全です。

全てを網羅しているわけではないですが、よく使われるマネージドサービスは一通り確認したつもりです。

2024/11/01 に TLS 1.2 が必須となるサービス

Azure Resource Manager

盲点になりがちですが、今回のアップデートによって Resource Manager REST API へのアクセスについても TLS 1.2 以上が必須となります。

他の Azure サービスとは異なり、古い OS や言語から Resource Manager REST API を呼び出しているケースも存在すると思うので、急に動作しなくなるといった問題が発生する可能性がありそうです。

GitHub Actions や Terraform Cloud から利用する分には問題ないはずです。

Cosmos DB

Cosmos DB は既に Azure Portal から作成した場合には TLS 1.2 が最小 TLS バージョンに設定されるようになっていますが、今月末で TLS 1.2 が必須になります。

既に TLS 1.2 が最小 TLS バージョンに設定されているアカウントが大半だと思いますが、そうなっていない場合は事前にバージョンを変えて検証すると安心です。

ちなみに廃止とほぼ同じタイミングで TLS 1.3 のサポートが追加されるようです。

Event Grid

既にメールを受けとっている方も多いと思いますが、Event Grid のトピックとドメインに対してのリクエスト時に TLS 1.2 が必須となります。システムトピックについては Data-plane API が存在しないため対象外です。

Azure サービスからのイベントを受け取るために利用している場合にはほぼ影響しませんが、例外的にシステムトピックから Webhook を使ってイベントを受け取るようにしている場合には、Webhook が TLS 1.2 に対応している必要があります。

Azure Functions の EventGridTrigger で受け取っている場合には、Azure Functions が TLS 1.2 以上に対応しているため影響はありませんが、Azure 以外のサービスや VM などで受け取っている場合には TLS 1.2 に対応しているのか確認が必要です。

Event Hubs

意外に使っているケースが多い Event Hubs も TLS 1.2 が必須となります。同時に IoT Hub についても Event Hubs を使っている部分に関しては、TLS 1.2 が必須になると考えています。

既に TLS 1.3 は Kafka と HTTPS 向けには有効化されているようですが、10/31 からは AMQP に対しても TLS 1.3 が有効化されるようなので、古いクライアントを使っている場合は注意が必要です。

Redis Cache

最近あまり使う機会がないのですが、Redis Cache に関しても TLS 1.2 が今後は必須となります。

挙動としては 10/31 に最小 TLS バージョンから TLS 1.0 と 1.1 が削除され選択できなくなり、11/01 に既存の Redis Cache の最小 TLS バージョンが TLS 1.2 に変更されると言う流れのようです。

ちなみに Redis Enterprise は既に TLS 1.2 が必須になっているため影響を受けません。

Service Bus

対応としては Event Hubs とほぼ同じですが、Service Bus も TLS 1.2 が必須となります。

同時に AMQP 向けに TLS 1.3 が有効化されるのも Event Hubs と同じなので、古い Java クライアントを使っている場合には注意が必要です。

SQL Database / SQL MI

今回の TLS 1.2 の必須化は通常の SQL Database だけではなく SQL Managed Instance も対象なるため、古い OS やクライアントから接続している場合には注意が必要です。

特に SQL Managed Instance はオンプレで動いていた古いアプリケーションのマイグレーションで使われることが多いので、TLS 1.2 に対応しているのかは早めに確認した方が良いでしょう。

SQL Database は TLS 1.3 に対応していますが、SQL Managed Instance は TLS 1.2 までの対応となります。

今後 TLS 1.2 が必須となるサービス

Application Gateway

Application Gateway に関しては 2025/08/31 に TLS 1.0 と TLS 1.1 のサポートが廃止される予定です。日程としてはかなり先ですが、ユーザーに直接影響する可能性があるサービスなので慎重になっているようです。

TLS 1.2 を手動で強制する場合は TLS ポリシーを変更する必要がありますが、使用する API バージョンによって挙動が変わるようなので注意が必要です。基本的には AppGwSslPolicy20220101 ポリシーを使っておけば問題ないでしょう。

Azure Storage

一番問題になりそうなサービスである Azure Storage ですが、本来の予定であれば 2024/10/31 で TLS 1.0 と TLS 1.1 のサポートが廃止される予定でしたが、直近で延期されて 2025/10/31 に変更されたようです。

流石に Azure Storage は非常に多くのサービスで利用されていて、非常に長い歴史のあるサービスなので安全側に倒したようです。

とはいえ Azure Portal から作成した場合にはデフォルトで TLS 1.2 が最小 TLS バージョンになっているので、大昔に作成した Azure Storage 以外は TLS 1.2 が必須となっていると思います。

Front Door

Front Door は少し遅れて 2024/12/01 に TLS 1.0 と TLS 1.1 のサポートが廃止される予定です。立ち位置としては Application Gateway と同じはずですが、廃止日は大きく異なっています。

TLS 1.3 への対応も完了しているので、ほとんどのクライアントでは TLS 1.2 以上で通信が行われているはずですが、気になる場合はアクセスログを取得すると使用された TLS バージョンを確認出来ます。

IoT Hub

IoT Hub に関しては Event Hubs を利用している部分は 11/01 から TLS 1.2 が必須になるはずですが、デバイスとの接続に使われる部分については将来的に TLS 1.0 と TLS 1.1 が廃止されるようです。

廃止の具体的なスケジュールは公開されていませんが、基本的には TLS 1.2 以降を利用した通信を強く推奨していますので、早めに対応をしておくと後で慌てずに済みます。

既に TLS 1.2 が必須となっているサービス

AI Search はデフォルトで TLS 1.2 以上が必須になっているため、現時点では TLS 1.0 と TLS 1.1 を使った接続は行えなくなっています。

TLS 1.2 だけではなく、既に TLS 1.3 のサポートが追加されているようですので、必要に応じてクライアント側で明示的に TLS 1.3 を使うことも可能です。

Azure Database for PostgreSQL / MySQL

Single Server は非推奨になっているので Flexible Server についてのみ書きますが、PostgreSQL と MySQL の両方とも TLS 1.2 が既に必須となっています。

これは Azure 側というよりも PostgreSQL と MySQL 側の変更によるものらしいので、特に設定が可能というわけではなさそうです。既に TLS 1.2 が使われているはずなので問題はありません。

Key Vault

Key Vault も 2023 年の時点で TLS 1.2 以上が必須となっていますが、Key Vault はセキュリティが最重要となるサービスなので順当な対応です。

即ち現在 Key Vault を利用しているアプリケーションが正しく動作していれば、Azure へのリクエスト時に TLS 1.2 が使われているはずなので影響を受けないと考えてよさそうです。

Notification Hubs

地味ながらも更新されている Notification Hubs ですが、2021 年から TLS 1.2 が必須となっています。

TLS 1.2 の必須化は Apple 側のポリシーによるものなので対応がかなり早かったですね。

SignalR Service

SignalR Service はかなり初期の時点から TLS 1.2 のみ利用可能になっているようです。

ドキュメントには記載されていませんでしたが、実際に確認したところ TLS 1.3 も有効化されていましたので、対応したクライアントでは TLS 1.3 が使われるようです。

TLS 1.2 が必須になる予定が現時点でないサービス

App Service

App Service は現在 TLS 1.0 から TLS 1.3 まで対応していて、Azure Portal から作成した場合は TLS 1.2 が最小 TLS バージョンとして設定されていますが、直近で TLS 1.0 と TLS 1.1 が廃止される予定は無いようです。

この世に存在するブラウザーのほぼ全てで TLS 1.2 以上がサポートされているはずですが、TLS 1.2 の必須化まで行わずユーザーの操作で変更可能というスタンスのようです。

セキュリティ向上のためにも早めに最小 TLS バージョンは TLS 1.2 以上に設定しておいてもらいたいです。

API Management

App Service と同様に API Management についても現状 TLS 1.0 と TLS 1.1 を廃止する予定はないようです。対応のスタンスとしては App Service と同じですね。

API Management は Client と Backend の両方で使用する TLS バージョンを指定できるので、可能な限り早めに TLS 1.2 以上を利用するように設定してもらいたい部分です。