微軟在 Windows Server 2003 SP1 中針對終端服務提供了SSL加密功能,它可以基于SSL(TLS 1.0)來實現(xiàn)以下兩個功能:
-
對RDP客戶端提供終端服務器的服務器身份驗證;
-
加密和RDP客戶端的通信。
在啟用終端服務器的SSL加密功能時,當RDP客戶向終端服務器發(fā)起連接時,終端服務器會向RDP客戶出示配置使用的服務器證書,而RDP客戶會檢查頒發(fā)此服務器證書的CA是否位于自己受信任的根證書頒發(fā)機構列表中,如果存在則使用此服務器證書進行后續(xù)的RDP加密通訊,如果不存在則根據(jù)RDP客戶的配置進行處理,你可以選擇繼續(xù)和終端服務器進行連接或者拒絕連接。
要使用終端服務器的SSL加密功能,對于終端服務器具有以下要求:
而對于RDP客戶端具有以下要求:
-
客戶端操作系統(tǒng)必須是 Windows 2000、Windows XP 或 Windows Server 2003;
-
客戶端的RDP客戶端連接組件版本必須為 RDP 5.2 以上,即必須為 Windows Server 2003 SP1 及其后版本中所帶的RDP客戶端連接組件;如果終端服務器要求SSL加密而客戶端的RDP客戶端連接組件版本低于 RDP 5.2,則RDP客戶端無法進行連接;
-
如果頒發(fā)終端服務器使用的服務器證書的CA不在RDP客戶端所信任的CA列表中,那么RDP客戶端在連接終端服務器時會出現(xiàn)錯誤提示,不過你可以選擇是否繼續(xù)進行連接。
配置終端服務器使用SSL加密
首先,我們需要在終端服務器上申請一個有效的(即頒發(fā)此證書的CA必須位于終端服務器的受信任的根證書頒發(fā)機構列表中)服務器身份驗證證書,在此具體的申請過程我就不詳細進行描述了,下面配置終端服務器。
點擊開始,指向所有程序,點擊管理工具中的終端服務配置,

在彈出的終端服務配置連接對話框,右擊右邊詳細面板中的RDP-Tcp,選擇屬性;
然后在彈出的RDP-Tcp屬性對話框上,點擊常規(guī)頁中的編輯按鈕;

在選擇證書對話框上,選擇對應的服務器身份驗證證書,然后點擊確定;

在配置使用服務器身份驗證證書后,就可以使用SSL加密功能了。在安全層欄選擇SSL,然后點擊確定;

此時終端服務器的配置已經完成,將使用SSL(TLS 1.0)來進行加密通訊。
配置RDP客戶端使用SSL加密
對于操作系統(tǒng)為 Windows Server 2003 SP1 之前的客戶端而言,要使用SSL加密的RDP通訊,首先必須安裝 RDP 5.2 版本的RDP客戶端連接組件。此組件的安裝文件位于 Windows Server 2003 SP1 操作系統(tǒng)中的 %systemdrivesystem32clientstsclientwin32 目錄下,你只需要將 msrdpcli.msi 文件復制到RDP客戶端上再運行安裝即可,也可以點此鏈接下載此文件。
在安裝完成以后,點擊開始,選擇所有程序中的遠程桌面連接,然后在安全標簽選擇是否使用基于SSL(TLS 1.0)的服務器身份驗證:

-
無身份驗證:RDP客戶端不要求終端服務器進行服務器身份驗證,當使用這個選項時,RDP客戶端連接組件的行為和更低版本的RDP客戶端連接組件的行為一致,適用于終端服務器沒有使用SSL加密的場景,如果終端服務器已經配置為使用SSL加密,則終端服務器會拒絕進行連接;
-
試圖身份驗證:RDP客戶端試圖要求但不是必須要求終端服務器進行服務器身份驗證,如果終端服務器并未配置為使用SSL加密或者頒發(fā)終端服務器所使用的服務器身份驗證證書的CA并不位于RDP客戶端計算機的受信任的根證書頒發(fā)機構列表中,RDP客戶端連接組件會進行提示,但是你同樣可以選擇繼續(xù)進行連接;
-
要求身份驗證:RDP客戶端必須要求終端服務器進行服務器身份驗證,如果終端服務器并未配置為使用SSL加密或者頒發(fā)終端服務器所使用的服務器身份驗證證書的CA并不位于RDP客戶端計算機的受信任的根證書頒發(fā)機構列表中,RDP客戶端連接組件會拒絕進行連接。需要注意的是,如果RDP客戶端所連接的目的地(服務器名或IP地址)和終端服務器上配置使用的服務器身份驗證證書的公共名稱不一致,則RDP客戶端組件會認為所連接的終端服務器無法通過身份驗證,從而會拒絕進行連接。
當成功使用SSL進行RDP連接后,在全屏模式下,屏幕頂部的提示欄上會具有一個小鎖標志,代表使用的是SSL加密連接,單擊它可以查看終端服務器所配置使用的服務器身份驗證證書。
