新規構築したサーバーなどにリモートデスクトップ接続を試みると,以下のようなCredSSPのエラーが出て,RDP接続が拒否される場合があります。
An authentication error has occurred. The function requested is not supported Remote computer: SERVER NAME This could be due to CredSSP encryption oracle remediation. For more information, see https://go.microsoft.com/fwlink/?linkid=866660
このような場合には,どうしたら良いのでしょうか。
CredSSPの脆弱性対策パッチを適用する
以下のURLで,CredSSPの脆弱性に対するパッチが公開されていますので,必要なファイルをダウンロードしましょう。
表の中から該当のOSを選択し,Security Updateのリンクをクリックします。
そして,再び該当のOSを探し,ダウンロードボタンをクリックします。
サイズは,1GBを超える場合もありますので,辛抱強く待ちましょう。
ダウンロードが完了したら,そのパッチをリモートデスクトップ接続できないサーバーにコピーし,インストールします。
Windows 2016の場合には,パッチの名前はKB4103723です。
インストール後は再起動が求められます。
パッチをあてて再起動した後,サーバーがハングしているように見える場合がありますが,強制終了しないようにしましょう。かなり大きなアップデートなので,5分ぐらい放置する必要がある場合もあります。
もし強制終了させてしまったなら,再度パッチをあてなおす必要があります。
これで,再びリモートデスクトップ接続ができるかどうか試してみてください。恐らく,CredSSPの脆弱性によるエラーは現れなくなるはずです。
CredSSPの脆弱性とは何なのか
では,CredSSPの脆弱性とは実際にはどのようなものなのでしょうか。
CredSSPとは,Credential Security Support Provider (CredSSP) プロトコルのことで,他のアプリケーションの認証要求を処理してくれるプロバイダーです。
この認証要求プロトコルに脆弱性があるため,ユーザーの資格情報を悪用させる危険性があり,その資格情報を使ってリモートから悪意のあるコードを実行される場合があるということです。
この脆弱性がリモートデスクトップ接続に影響を及ぼす理由というのも,そこから説明できます。
つまり,RDP接続でもCredSSPを利用して認証要求を行っているため,そこで使用される資格情報を中間者攻撃によって悪用される危険性があるということです。
それで,上述したパッチを適用することで,CredSSPプロトコルがリクエストを検証する方法がさらにセキュアなものになり,中間者攻撃ができないように修正されます。
以上,CredSSPにおける脆弱性の話と,CredSSPのエラーが出てリモートデスクトップ接続ができない場合の対処法でした。