1. 程式人生 > >配置Windows 2008 R2遠端桌面證書

配置Windows 2008 R2遠端桌面證書

 

從 Windows Server 2003 SP1開始,客戶端便可以通過伺服器身份驗證安全套接字層(SSL)證書連線到遠端桌面伺服器。要實現這一功能,只需管理員使用和配置伺服器作業系統的 “遠端桌面會話主機” 配置工具即可。儘管Windows Vista和Windows 7這樣的客戶端作業系統並無這樣的管理工具可用,但伺服器仍可以向它們頒發遠端桌面連線證書。要通過證書來實現安全的遠端桌面連線連線有兩種常用配置方法。第一種方法使用組策略和證書模板來進行配置;第二種方法則是使用WMI指令碼來進行配置。
  


第一種方法:使用組策略和證書模板此種方式允許管理員為域中的多臺計算機安裝遠端桌面證書,前提是域中必須有正常工作的公鑰基礎結構(PKI)。
首先,管理員需要建立一個遠端桌面證書模板。
建立遠端桌面證書模板:

  1. 在企業證書頒發機構中找到“證書模板”。
  2. 找到並右鍵單擊“計算機”模板,選擇“複製模板”。
  3. 在彈出的對話方塊中選擇“Windows Server 2008 Enterprise”模板型別。
  4. 此時會彈出一個新模板的“屬性”對話方塊。
  5. 我們在“常規”選項卡中將“模板顯示名稱”和“模板名稱”改為“RemoteDesktopComputer”以方便今後識別和使用。注意:此處的模板顯示名稱和模板名稱必須相同。
  6. 再到“擴充套件”選項卡中選擇“應用程式策略”並點選“編輯”按鈕。
  7. 此時會出現一個“編輯應用程式策略擴充套件”對話方塊。
  8. 要建立“遠端桌面身份認證”策略必須先刪除“客戶端身份驗證”和“伺服器身份驗證”策略,然後再點選“新增”
  9. 此時會出現一個“新增應用程式策略擴充套件”對話方塊。我們在對話方塊中單擊“新建”
  10. .時會出現一個“新建程式策略擴充套件”對話方塊。我們在“名稱”中輸入“Remote Desktop Authentication”,再在“物件識別符號”中輸入“1.3.6.1.4.1.311.54.1.2”並單擊“確定”
  11. .“新增應用程式策略”對話方塊中選中“Remote Desktop Authentication”點選“確定”
  12. .在“編輯應用程式策略擴充套件”對話方塊顯示如下:

13.點選2次確定後,就回到新模板的“屬性”對話方塊了。
此時,新模板的準備工作已經完成。
下一步驟就是釋出模板。

釋出“RemoteDesktopComputer”證書模板:

  1. 在企業根證書頒發機構中找到“證書模板”。
  2. 在“證書模板”上右鍵單擊並選擇“新建”—“要頒發的證書模板”。
  3. 此時會彈出一個“啟用證書模板”對話方塊。我們找到並選擇“RemoteDesktopComputer”,然後單擊確定。

現在“RemoteDesktopComputer”模板已經發布並可以用於證書請求。

最後一步,我們需要使用組策略將“RemoteDesktopComputer”模板配置為遠端桌面身份驗證的基本證書。

配置組策略

    1. 在域控制器上開啟“組策略管理”工具,右鍵單擊“預設域策略”並點選“編輯”。此時會彈出“組策略管理編輯器”(注意:策略可以應用到域中的所有計算機,管理員也可以根據需要將其應用到所需的OU)
    2. 導航至“計算機配置—策略—管理模板—Windows 元件—遠端桌面服務—遠端桌面會話主機—安全。”
    3. 雙擊“伺服器身份驗證證書模板”策略
    4. 啟用策略,並在“證書模板名稱”中輸入“RemoteDesktopComputer”並點選確定。

5.策略應用到域中的所有計算機後,所有啟用遠端桌面連線的計算機都將到證書頒發機構伺服器去請求基於 “RemoteDesktopComputer”模板的證書,並用證書對遠端桌面客戶端進行驗證。(管理員可通過gpupdate /force命令在客戶端上強制重新整理以獲取到組策略的更新)

第二種方法:使用WMI指令碼此方法允許管理員直接使用遠端桌面連線的伺服器證書,但管理員需要提前手動對證書進行安裝。這種方法通常用於:使用企業向Internet公共證書頒發機構購買的證書。
首先需要檢查我們已有的證書是否符合遠端桌面證書的要求。不符合這些要求的證書將不能正常工作,並將被伺服器忽略。
遠端桌面證書的基本要求:

  1. 證書必須安裝到計算機的“個人”證書儲存區域中
  2. 必須擁有證書的私鑰
  3. 證書的“增強型金鑰用法”擴充套件中應有“伺服器身份驗證”或“遠端桌面身份驗證”(1.3.6.1.4.1.311.54.1.2)。      
  4. 正常使用,我們首先要獲取到遠端桌面連線證書的指紋。
    獲取證書的指紋:
    1. 雙擊已有的證書
    2. 單擊“詳細資訊”標籤
    3. 在列表中選擇“指紋”         
    4. 將指紋值複製到記事本當中
    5. 刪除數字之間的所有空格

如上圖示例,我們獲取到的指紋應該是: 3d710cecbb29d5dfcb61a6157cefd746b7b04b74
注意:當我們獲取到證書指紋之後,才能通過指令碼將證書應用於遠端桌面連線。.
配置遠端桌面證書的WMI指令碼:
/* ==============================================================
JScript Source File
NAME: ConfigRemoteDesktop.js
AUTHOR: Billy Fu
DATE  : 2010/8/2
==================================================================*/
var strComputer = ".";
var strNamespace = "\\root\\CIMV2\\TerminalServices";
var wbemChangeFlagUpdateOnly = 1;
var wbemAuthenticationLevelPktPrivacy = 6;
var Locator = new ActiveXObject("WbemScripting.SWbemLocator");
Locator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy;
var Service = Locator.ConnectServer (strComputer, strNamespace);
var TSSettings = Service.Get("Win32_TSGeneralSetting.TerminalName=\"RDP-Tcp\"");
if (WScript.Arguments.length >= 1 )
{
    TSSettings.SSLCertificateSHA1Hash = WScript.Arguments(0);
}
else
{
     TSSettings.SSLCertificateSHA1Hash = "0000000000000000000000000000000000000000";
}
TSSettings.Put_(wbemChangeFlagUpdateOnly);



將以上指令碼內容複製到 “ConfigRemoteDesktop.js”檔案當中,並以管理員方式啟動命令提示符號(Cmd.exe.),再通過“cscript ConfigRemoteDesktop.js <證書指紋>”命令來將證書應用到遠端桌面連線。

(注意:執行此指令碼不加任何引數時將自動還原到遠端桌面的自簽名證書)