CredSSPリモートデスクトップ認証エラーへの対処 “要求された関数はサポートされていません”
Microsoft 5月の更新プログラムを適用したPCにて、リモートデスクトップ接続時に、エラーが表示されて認証エラーとなり接続できなくなった場合の対処方法について纏めておきます。
エラーメッセージ
- Windows 7以前のOS
認証エラーが発生しました。
要求された関数はサポートされていません。
リモートコンピューター: <コンピューター名>
- Windows 8.1 以降のOS
認証エラーが発生しました。
要求された関数はサポートされていません。
リモートコンピューター: <コンピューター名>
原因は CredSSP 暗号化オラクルの修復である可能性があります。
問題の概要
MicrosoftはCred SSPの脆弱性(※1)に対しての攻撃を防ぐ為、セキュリティ更新プログラムをリリースしました。
※1・・・CVE-2018-0886 | CredSSP のリモートでコードが実行される脆弱性
Credential Security Support Provider (CredSSP) プロトコルにリモートでコードが実行される脆弱性が存在します。この脆弱性の悪用に成功した攻撃者は、ユーザーの資格情報を中継し、その資格情報を使用して標的のシステムでコードを実行する可能性があります。
2018 年 3 月 14 日の更新プログラム
影響を受けるすべてのプラットフォーム用に CredSSP 認証プロトコルとリモート デスクトップ クライアントの更新プログラムをリリースしました。
2018 年 4 月 18 日の更新プログラム
リモートデスクトップ接続時のエラーメッセージの改善をしました。
改善される前に、表示されていたエラーメッセージは以下の通りです。また、このエラーメッセージの改善は、Windows 8.1 または、Windows Server 2012 R2以降のみで改善されており、それ以前のOSでは、エラーメッセージの変更はされていないようです。
- 旧メッセージ
認証エラーが発生しました。
要求された関数はサポートされていません。
リモートコンピューター: <コンピューター名>
- 更新プログラム適用後のWindows8.1 、2012R2以降でのメッセージ
認証エラーが発生しました。
要求された関数はサポートされていません。
リモートコンピューター: <コンピューター名>
原因は CredSSP 暗号化オラクルの修復である可能性があります。
2018 年 5 月 9 日の更新プログラム
既定の設定(※2)を [Vulnerable (脆弱)] から [Mitigated (緩和)] に変更する更新プログラムです。
※2・・・後述する暗号化オラクルの修復に関する設定です。
この更新プログラムの影響によって、リモートデスクトップ接続時の認証エラーが発生します。
既定では、この更新プログラムをインストールした後に、パッチが適用されたクライアントはパッチが適用されていないサーバーと通信できなくなります。
そして、更新プログラムが適用されていないサーバーに対して、更新プログラム適用済みのクライアントからリモートデスクトップ接続をしようとした場合、以下のメッセージが表示されて、接続が拒否されます。
接続の可否に関しては、以下の図を参照してください。
サーバー | |||||
クライアント
| パッチが未適用 | Force updated clients(更新済みクライアントの強制) | Mitigated(緩和) | Vulnerable(脆弱) | |
パッチが未適用 | 許可 | 拒否 | 許可 | 許可 | |
Force updated clients(更新済みクライアントの強制) | 拒否 | 許可 | 許可 | 許可 | |
Mitigated (緩和) | 拒否 | 許可 | 許可 | 許可 | |
Vulnerable(脆弱) | 許可 | 許可 | 許可 | 許可 |
※例として、サーバーに更新プログラムが適用されておらず、クライアントに対して更新プログラムが適用済み(Mitigatedになっている)の場合、接続が拒否されます。
接続可否のパターンは、以下のtechnetのブログ記事に丁寧に解説されていてわかりやすいです。
2018 年 5 月の更新プログラム適用によるリモート デスクトップ接続への影響
https://blogs.technet.microsoft.com/askcorejp/2018/05/02/2018-05-rollup-credssp-rdp/
解決策
リモートデスクトップ接続先となるコンピューター(サーバー)に3月以降の更新プログラムを適用してください。
■マイクロソフトセキュリティアップデートプログラムガイド
https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/CVE-2018-0886
( 3月の更新プログラムが未適用の場合でも、5月の更新プログラムを適用する事で脆弱性の対策は可能です。これは、5月の更新プログラムでは3月の更新プログラムにおいて対応されたCredSSPの脆弱性対策を上書きする為です。 )
※ 3月の更新プログラムが適用されることによって、グループポリシーに暗号化オラクルの修復(Encryption Oracle Remediation)が追加されます。
解決策を実行する事が困難な場合の一時的な回避策
サーバーに対して、更新プログラムの適用をすぐに行う事ができない場合、以下の回避策があります。
ローカルグループポリシーの使用や、PC個別にレジストリ値を変更することは私は推奨いたしません。
※グループポリシー制御を行う場合、AD に対して3月の更新プログラムが適用されていないと、”暗号化オラクルの修復”というポリシーは存在しません。
グループポリシーで適用可能な場合には、クライアントPCに対して、以下のポリシーを適用する事によって、更新プログラム未適用のサーバーに対しても接続が可能になります。
- グループポリシー( Encryption Oracle Remediation )での回避策
グループポリシーのパス
[コンピューターの構成] -> [管理用テンプレート] -> [システム] -> [資格情報の委任]
設定名: Encryption Oracle Remediation (暗号化オラクルの修復)
設定する値:Vulnerable (脆弱)
値の説明: CredSSP を使用するクライアント アプリケーションは安全ではないバージョンにフォールバックできますが、それによってリモート サーバーは攻撃にさらされることになります。また、CredSSP を使用するサービスは、パッチが適用されていないクライアントを受け入れます。
※この設定を行う事でセキュリティリスクは高くなります。サーバー側へ5月の更新プログラムを適用した後には、ポリシーを”Mitigated (緩和)”に変更してください。
(ポリシーを変更する前に、接続先サーバーのレジストリ値を確認し、更新プログラムが適用されて、値がMitigated (緩和)になっている事を確認してください。対象のレジストリ値は以下の記載を参照してください。)
- レジストリでの回避策
また、ポリシーが存在しない場合には、レジストリ値の変更・追加でも回避が可能です。
レジストリ パス : HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
値 : AllowEncryptionOracle
データの種類 : DWORD
値 : 2
レジストリキーの説明
0 – Force Updated Clients (更新済みクライアントの強制)
1 – Mitigated (緩和)
2 – Vulnerable (脆弱)
※こちらも一時的な回避策なので、接続先のサーバーに対して更新プログラムが適用された場合には、クライアントPCに配布するレジストリの値を” 2 – Vulnerable ” に変更されたほうが良いと思います。
- グループポリシーを使用したレジストリの配布
グループポリシーでレジストリ値を配布することによって、より確実に設定を適用し、また値を変更する際にも戻し忘れによるセキュリティリスクを軽減できます。
コンピューターの構成 > 基本設定>> Windowsの設定 >レジストリ
アクション:置換
ハイプ:
HKEY_LOCAL_MACHINE
キーのパス:Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
値の名前:AllowEncryptionOracle
値の種類 : DWORD
値 : 2
クライアントのローカルグループポリシーを設定することで、このリモートデスクトップ接続エラーに関する回避は可能ですが、ユーザーがそれぞれが設定した場合、後から値を変更し忘れる可能性があるので、ローカルグループポリシーでの設定変更を私は推奨しません。
その他に、サーバー側からネットワークレベル認証の設定をポリシーで変更する回避策も、色々なページで紹介されていますが、こちらについてもセキュリティリスクが大幅に上がってしまう為、私はあまり推奨しません。。。
尚、本記事で3月、5月の更新プログラムとして記載をしている更新プログラムのKB番号は以下の通りです。
3月の更新プログラム
Windows Vista Windows Server 2008 | Windows 7 Windows Server 2008 R2 | Windows 8 Windows Server 2012 | Windows 8.1 Windows Server 2012 R2 | Windows 10 version 1507 | Windows 10 version 1511 | Windows 10 version 1607 Windows Server 2016 | Windows 10 version 1703 | Windows 10 version 1709 | Windows 10 version 1803 |
KB4056564 | KB4093113 KB4093118 KB4093108 KB4099467 KB4100480 KB4088881 KB4088875 KB4088878 | KB4093116 KB4093122 KB4093123 KB4099468 KB4088883 KB4088877 KB4088880 | KB4088876 KB4088879 KB4088882 KB4093114 KB4093121
| KB4093111 KB4088786 | KB4088779 KB4093109 | KB4093119 KB4093120 KB4096309 KB4088889 KB4088787 | KB4088782 KB4088891 KB4093107 KB4093117 | KB4088776 KB4089848 KB4093112 KB4093105 | OS 既定で適用済み |
5月の更新プログラム
Windows Vista Windows Server 2008 | Windows 7 Windows Server 2008 R2 | Windows 8 Windows Server 2012 | Windows 8.1 Windows Server 2012 R2 | Windows 10 version 1507 | Windows 10 version 1511 | Windows 10 version 1607 Windows Server 2016 | Windows 10 version 1703 | Windows 10 version 1709 | Windows 10 version 1803 |
KB4056564 (V2) | KB4103712 KB4103718 | KB4103726 KB4103730 | KB4103715 KB4103725 | KB4103716 | N/A | KB4103723 | KB4103731 | KB4103727 | KB4103721 |
参考サイト:
2018 年 5 月の更新プログラム適用によるリモート デスクトップ接続への影響https://blogs.technet.microsoft.com/askcorejp/2018/05/02/2018-05-rollup-credssp-rdp/
CVE-2018-0886 の CredSSP の更新プログラム
https://support.microsoft.com/ja-jp/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018
CVE-2018-0886 | CredSSP のリモートでコードが実行される脆弱性
https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/CVE-2018-0886
CVE-2018-0886 の CredSSP の更新プログラムについて
https://blogs.technet.microsoft.com/jpntsblog/2018/04/20/cve-2018-0886/
次回以降の記事では、Intune Dataware HouseでのIntune 管理デバイスのPower BIを使用した分析と、Azure AD Password Protection for Windows Server Active Directoryとカスタム禁止パスワードリストを使用したオンプレミス及びクラウド環境での禁止パスワードの設定をお伝えしていきます。