Windows 11 22H2 Proにアップグレード後、シングルサインオンが使用できない
お客様先の環境にて、Windows 11 22H2 ProへFU(Feature Update)後、シングルサインオンが使用できなくなる不具合が発生しました。
FU(Feature Update)後、シングルサインオンが利用できなくなる
お客様先の環境で、Windows 10からWindows 11へFU(Feature Update)後、突然シングルサインオンが使用できなくなる事象が発生しました。
エラーが発生した環境
- Windows 11 22H2 Pro
- 実機環境
- 無線ネットワーク使用
Windows 11 22H2 Homeの場合、仮想環境の場合を弊社で検証しましたが、どちらもシングルサインオンに成功したとのことでした。
原因
調査した結果、Windows Defender Credential Guardの既知の問題が原因でした。
Windows Defender Credential Guardとは、パスワードベースの攻撃から資格情報を保護するセキュリティ機能です。
既知の問題の詳細
Windows Defender Credential Guardの仕様として、パスワードベースの認証かつ安全でないプロトコルでの通信を行っている端末では、Windows Defender Credential Guardが自動で有効化され、結果的にシングルサインオンがブロックされる場合があるとのこと。
この不具合は「Windows Defender Credential Guard」を有効にしているデバイスで発生しており、Windows 11 22H2へアップグレードする更新プログラム(Windows 11 2022 Update)では、これまでWindows Defender Credential Guardを明示的に無効にしていなかったデバイスに対して「Windows Defender Credential Guard」が既定で有効となっています。
パスワードベースの認証による安全でないプロトコルに依存する無線または有線ネットワーク、RDP、または VPN 接続を使用するデバイスは、Defender Credential Guardが実行されるため、SSO(シングルサインオン)を使用してログインすることができません。
Windowsセッションが開始されるたびに、新しいWindows セッションで手動で再認証する必要があります。
解消方法
Windows 11 22H2にアップグレード後、この不具合が発生するかどうかはレジストリキー「IsolatedCredentialsRootSecret」の存在があるかどうかで確認可能です。
レジストリキーを確認する方法
1.レジストリエディターを管理者で開きます。
2.以下の場所に移動して、レジストリキー「IsolatedCredentialsRootSecret」の存在を確認します。
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
3.「IsolatedCredentialsRootSecret」が確認できなければ、アップグレード後にこの不具合は発生しません。
もし「IsolatedCredentialsRootSecret」が確認できた場合は、以下の「Windows Defender Credential Guard」を無効にする方法をお試し下さい。
「Windows Defender Credential Guard」を無効にする方法
以下の4種類の解消方法をお試しください。
①証明書ベースの認証を使用した通信に変更する
パスワードベースの認証ではなく、証明書ベースの認証を使用した通信に変更するとこの不具合を回避可能です。
MicrosoftはMSCHAPv2ベースの接続(PEAP-MSCHAPv2やEAP-MSCHAPv2など)から、証明書ベースの認証(PEAP-TLSやEAP-TLSなど)に移行を推奨しています。
②GPOでWindows Defender Credential Guardを無効化する
グループポリシー経由でWindows Defender Credential Guardが有効になっている場合、グループポリシーのCredential Guardを無効に設定します。
1.「ファイル名を指定して実行」で「gpedit.msc」を実行します。
2.「ローカルグループポリシーエディタ」が開きます。
3.[コンピュータの構成] > [管理用テンプレート] > [システム] > [Device Guard] > [仮想化ベースのセキュリティを有効にする]まで移動します。
4. [仮想化ベースのセキュリティを有効にする]をダブルクリックし、「Credential Guard の構成」欄のドロップダウン値を「無効」に設定します。
5.設定後、「適用」をクリックしてから「OK」をクリックします。
6.デバイスを再起動します。
③FU実行前にレジストリの値を変更する
1.FU実行前に以下の2つのレジストリの値を「0」に変更します。
・【レジストリの値1】
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LsaCfgFlags
・【レジストリの値2】
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags
2.2つのレジストリの値を「0」に変更後、デバイスを再起動します。
④Windows Defender Credential Guardを無効にする
Windows Defender Credential Guard EFI変数を削除します。
UEFIロック経由でWindows Defender Credential Guardをインストールした場合はこちらの方法を試して下さい。
■【実機の場合】
1.「②GPOでWindows Defender Credential Guardを無効化」、「③FU実行前にレジストリの値を変更する」を実行します。
2.管理者でコマンドプロンプトを開き、以下のコマンドを入力します。
mountvol X: /s copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X: mountvol X: /d
2.コマンド実行後、PCを再起動します。
3.OS起動前にUEFIが変更されたことに確認を求めるプロンプトが表示されます。変更を保持するにはこのプロンプトを確認する必要があります。
プロンプトの確認はリモートではできないので注意が必要です。
仮想マシンの場合
1.PowerShellを管理者で開き、以下のコマンドを実行します。
Set-VMSecurity -VMName 仮想マシン名 -VirtualizationBasedSecurityOptOut $true
2.コマンド実行後、PCを再起動します。
MECM(SCCM)を使えばFU展開がもっと効率的に!
MECMならFU展開をもっと効率的に適用できます!
MECMの機能を使えば、1万台もの大量のPCにも同時に更新プログラムを配布、適用させることが可能です。弊社アーザスではMECMの構築から運用までサポートしています。お気軽にご相談下さい!