Microsoftは2021年9月1日(米国時間)以降、「Azure Backup」サービスでTLS 1.0/1.1のサポートを削除し、TLS 1.2以上の使用を必須にする必要があることを予告しました。バックアップ対象が旧バージョンのWindowsを実行している場合は、OSのコンポーネントおよび.NET Frameworkが既定でTLS 1.2を使用するように設定する必要があります。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
2021年3月に発表された以下のアナウンスにあるように、「Microsoft Azure」の全てのサービスは「トランスポート層セキュリティ(TLS)1.2」を完全にサポートしています。互換性を提供するため、セキュリティに問題のあるTLS 1.0/1.1を受け入れているサービスもありますが、顧客に通知した上でTLS 1.0/1.1のサポートを削除し、TLS 1.2のみを受け付けるように切り替える作業を進めています。
本連載第87回や以下の参考情報のブログが示すように、2020年までに既に多くのサービスでTLS 1.2が必須となっています。また、「Azureポータル」(https://azure.portal.com/)へのアクセスにもTLS 1.2が必須になっています。
Microsoftは2021年9月1日(米国時間)から、「Azure Backup」でTLS 1.0/1.1のサポートを削除します。バックアップ対象のサーバやクライアントで稼働する「Microsoft Azure Recovery Services(MARS)エージェント」が既にTLS 1.2を使用して通信している場合は、この影響を受けません。
バックアップ対象のサーバやクライアントが古いバージョンのWindowsを実行している場合は、MARSエージェントが確実にTLS 1.2を使用するように確認、調整する必要があります。影響を受ける可能性があるのは、「Windows Server 2016」以前のWindows Serverと「Windows 10 バージョン1803」以前のWindowsクライアントです。
Azure BackupのMARSエージェントのための設定方法については、以下のドキュメントで説明されています。
この手順は、TLS 1.2以上を必須とするアプリやサービス(例えば、Azure AD ConnectやAzure File Sync、他社のサービス)に共通の手順であるため、既に設定済みの場合は追加で設定する必要はありません。
「Windows Server 2012」以前と「Windows 7」に関しては、TLS 1.2に対応させるための前提の更新プログラムがありますが、最新の更新プログラムがインストールされていれば既に対応済みです。
Windows Server 2012以前とWindows 7の場合、TLS 1.2プロトコルがSChannelのコンポーネントレベルで有効になるようにする必要があります。
それには、コマンドプロンプトで以下のコマンドラインを管理者として実行し、レジストリを作成します。「Windows Server 2012 R2」と「Windows 8.1」以降はOSの既定でTLS 1.2プロトコルが有効であるため、レジストリの作成は不要です。
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
Windows Server 2016以前とWindows 10 バージョン1803以前の.NET Frameworkは、既定でSSL 3.0とTLS 1.0を使用します。
コマンドプロンプトで以下のコマンドラインを管理者として実行し、レジストリを作成することでTLS 1.2を含む強力な暗号化をサポートするように.NET Frameworkを構成できます。Windows Server 2019とWindows 10 バージョン1809以降は既定でTLS 1.2に対応しているため、レジストリの作成は不要です。
REG ADD "HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f REG ADD "HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" /v SchUseStrongCrypto /t REG_DWORD /d 1 /f REG ADD "HKLM\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319" /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f REG ADD "HKLM\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319" /v SchUseStrongCrypto /t REG_DWORD /d 1 /f
.NET Frameworkが既定でSSL 3.0とTLS 1.0を使用するWindows Server 2016以前とWindows 10 バージョン1803以前では、例えば次のように「Invoke-WebRequest」コマンドレットでTLS 1.2以上を必須とするWebサイトに接続しようとすると、予期しないエラーの発生で失敗します。
(Invoke-WebRequest -uri "https://portal.azure.com/" -UseBasicParsing).Content
このエラーはInvoke-WebRequestコマンドレットの実行前に、以下のコマンドラインを実行してTLS 1.2の使用を強制させることでも回避できますが、上記のレジストリを作成することでも回避できます(画面1)。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.