1. 程式人生 > >win10專業版、家庭版 credssp 加密 oracle 修正 連線伺服器報錯

win10專業版、家庭版 credssp 加密 oracle 修正 連線伺服器報錯

遠端桌面使用的是“憑據安全支援提供程式協議 (CredSSP) ”,這個協議在未修補的版本中是存在漏洞的。

於是微軟在 2018 年 3 月 13 日在補丁中解決了這個問題,但是預設並沒有強制使用新的協議,因為一旦強制使用,假如伺服器端和客戶端不匹配,將無法連線。所以使用者並不會感知到。

在 2018 年 5 月 8 日,微軟在補丁中將客戶端策略提嚴了一點,mstsc 登入就會有提示了,就會出現如上的錯誤了,使用者就會知道這事了。

更進一步

關於微軟這次更新,有個配置,更改這個配置可以決定是使用以前的那種連線,還是修補過的連線。這個問題會影響到伺服器端和客戶端 ,所以這個配置在伺服器端和客戶端均可配置。

針對伺服器端

  • 如果這個值是 0,那麼要求客戶端必須是修補了 CredSSP 的。
  • 如果這個值是 1,那麼要求客戶端可以是沒修補 CredSSP 的。
  • 如果這個值是 2,那麼要求客戶端可以是沒修補 CredSSP 的。(和 1 一樣)

2018 年 5 月 8 日,微軟將這個預設值修改為了 1。

針對客戶端

  • 如果這個值是 0,那麼要求服務端必須是修補了 CredSSP 的。(和 1 一樣)
  • 如果這個值是 1,那麼要求服務端必須是修補了 CredSSP 的。
  • 如果這個值是 2,那麼要求服務端可以是沒修補 CredSSP 的。

2018 年 5 月 8 日,微軟將這個預設值修改為了 1。

也就是說:

  • 0:伺服器端、客戶端都必須是修補了 CredSSP 的。
  • 1:伺服器端沒要求客戶端、但是客戶端要求伺服器端是修補了 CredSSP 的。 
  • 2:伺服器端、客戶端都可以是沒修補 CredSSP 的。

怎麼處理?

根據需求,修改這個值,比如現在還沒準備好全部打補丁,那麼就都修改為 2。

法一、在伺服器端、客戶端中執行 gpedit.msc 中:“計算機配置”->“管理模板”->“系統”->“憑據分配”,這裡面有個“加密 Oracle 修正”,改之。

法二、如果是 Windows 10 家庭版,沒有 gpedit.msc,那麼就直接改登錄檔吧:

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters

       我用的是華為榮耀magicbook,沒有CredSSP\Parameters,自己新建吧,最後在Parameters下新建一個 32 位的、DWORD 

型別的 名為AllowEncryptionOracle,值為2。