web-dev-qa-db-ja.com

RDPが認証局の証明書ではなく自己署名証明書を提示する

数日前、ドメイン内で奇妙な問題が発生しました。

  • RDP接続中に、証明書が信頼されていないという警告が表示されます(ドメインCAによって発行されていない自己署名証明書が表示されます)

  • NLA(ネットワーク層認証)が有効になっているサーバーにRDPで接続できなくなりました。

この問題は遍在しています-私は、Windows Server 2012R2 | 2008R2、Windows 7およびWindows 10を含むさまざまなワークステーションおよびさまざまなサーバーでそれを経験します。

CAインフラストラクチャについて:1つのオフラインルートCAと1つのドメインレベル発行CA。 pkiview.mscは、すべてが正常であると言います。ルートと発行者の両方が有効な証明書、CDP、IAI、DeltaCRL(発行者のみ)を持っています。ルートCRLを更新してADで再公開しました。

クライアント|サーバー| RDP Authのカスタム証明書テンプレートはまだ存在し、問題のサーバーがMMC証明書アプレットの個人フォルダーにそのような証明書を持っていることを確認できます(ただし、そこから新しい証明書を要求できます)。 RDPフォルダーには自己署名証明書のみが存在します。

MMC証明書アプレットの使用ルート証明書と発行者証明書の両方が信頼されていることもわかります。

だから..どうすればいいのか、どうすれば修正できるのか、なぜそもそも壊れてしまうのか、本当にわかりません。どんな助けでもありがたいです。

PS。また、少し前に、デフォルトドメインを変更しましたGPOプライベートネットワークIP範囲を強制します。それが理由である可能性がありますか?とにかく、それらをデフォルトに戻し、運もありません。

[〜#〜] update [〜#〜]ビットを明確にするためにいくつかの写真:

1)セキュリティ警告

Security Warning

2)...サーバーが自己署名証明書を提示するため

...because it present Self-Signed Certificate

3)ただし、問題のサーバーの個人用ストレージで適切なCA証明書を確認できます

However we can see proper CA-certificate in Personal storage on server in question

4)リモートデスクトップの証明書ストレージでは、自己署名証明書のみが表示されます。そこでも適切なものをコピーしましたが、効果はありません。そこから自己署名証明書を削除すると、RDP経由でサーバーに接続できなくなります。

In Remote Desktop certificate storage I can see just Self-Signed Cert. I copied proper one there as well, but no effect. And if I delete Self-Signed Cert from there it won't connect to server over RDP at all.

5)また、ローカルCAがサーバーによって信頼されていることも確認できます。

Also you can see that my local CAs are trusted by server

6)それが、NLA対応サーバーにRDPしようとしたときに発生するエラーです。そのため、クライアントは何らかの理由でCredSSPを使用できない、または使用しません。 1週間前に機能したので、証明書の問題に関連していると思います。

And that is the error I get when I try to RDP to NLA-enabled server. So client for some reason can't or won't willingly use CredSSP. I think it's connected to cert problem.

7)最後に、Issuing CAからのいくつかの画面。大丈夫そうです。

Finally some screens from Issuing CA.

enter image description here

2
user2838376

サーバーとクライアントにすべてのパッチを適用すると、credsspエラーが修正されます。

1
Jamie Lawson

時々、RDSは静的証明書(GPOを介して割り当てられていない)の証明書バインディングを緩めます。次のコマンドを実行する必要がある場合があります。

$path = (Get-WmiObject "Win32_TSGeneralSetting" -ComputerName "<RDS Server Name>" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="<Thumbprint>"}

置換<RDS Server Name>実際のサーバー名(リモートで実行する場合)および<Thumbprint>実際の証明書の拇印。拇印は、スペースを含まない16進数で指定する必要があります。 F02B346CDC02165543936A37B50F2ED9D5285F62

内部マシン(ADフォレストの一部であり、内部名でアクセスされる)の場合、GPOが割り当てたRDS証明書を使用することをお勧めします。 リモートデスクトップ証明書の構成

1
Crypt32

はい、解決しました。 Michal Sokolowskiは、CredSSP 2018年5月の更新を指摘したときに正しかった。どうやら私が見たものはすべてそれのせいでした。ローカルワークステーションでGPO=を変更するとすぐに、すべてがうまくいきました。

したがって、解決策は次のとおりです。

1)クライアントでgpedit.mscを実行します

2)[コンピューターの構成]-> [管理用テンプレート]-> [システム]-> [資格情報の委任]を開きます。

3)Encryption Oracle Remediationを有効にし、脆弱性に設定します

4)gpupdate/forceを実行します

そして、すべてが正常に戻ります。

1
user2838376