在Windows Server 2008的終端服務(Terminal Services)中最大的亮點就是整體安全性的提高,作為管理員和使用者最常使用的遠端存取伺服器之一,這種安全性的提高也並不讓人意外,並且非常受到大家的歡迎。在本文中我們將討論怎樣做才能確保你的終端伺服器(Terminal Server)環境更加安全。
使用雙重因素驗證
當我們在考慮網路安全時,我們有必要進行雙重因素驗證。
目前主要有集中不同形式的雙重因素驗證方式,不過最常用的是終端服務所支援的智慧卡(Smart Card)。在使用智慧卡時,使用者不僅需要提供有效登入憑證,而且他們必須能夠提供智慧卡串連到他們用於作為遠程終端的裝置。
為了擷取智慧卡驗證,你必須建立一個能夠運用到終端伺服器的組策略對象(Group Policy Object)。在組策略對象中,瀏覽Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options,並啟用Interactive Logon: Require Smart Card設定。此外,你將需要啟用智慧卡重新置放到終端伺服器,可以通過在使用者工作群組上的遠端桌面連線用戶端的本地資源選項中,勾選智慧卡選項。
為所有用戶端執行網路層級的身分識別驗證
在過去,在伺服器上部署終端服務驗證是通過串連伺服器上的會話(session)然後在Windows Server登入螢幕中輸入登入憑證。這聽起來似乎非常麻煩,但是從安全的角度來看,能夠啟動session登入螢幕可能會暴露關於網路的資訊(網域名稱,電腦名稱等)或者可能讓伺服器受到拒絕服務的攻擊,這種攻擊主要來自擁有伺服器公用IP地址的人。
網路級身分識別驗證(NLA)是遠端桌面連線用戶端(Remote Desktop Connection Client)6.0版本中新加的功能,該功能可以在向使用者顯示Windows Server登入介面之前允許使用者輸入他們的登入憑證。Windows Server 2008使我們能夠利用這項功能並要求所有串連用戶端使用該功能。
要想使用NLA,你必須使用Windows 2008 Server,並且你的串連用戶端必須能夠支援CredSSP(Windows XP SP3、Windows Vista、 Windows 7)以及運行Remote Desktop Connection 6.0或者更高版本的遠端桌面連線。你同樣也可以配置終端伺服器,要求其用戶端在幾個不同位置使用NLA:
在最初的終端服務角色安裝過程中,當終端伺服器螢幕顯示出指定驗證方法時,選擇Allow connections only from computers running Remote Desktop with Network Level Authentication(僅允許運行網路級身分識別驗證的遠端桌面的電腦發送的串連)選項。
在終端服務配置MMC嵌入式管理單元中,按右鍵你的用戶端使用的終端伺服器串連,然後選擇屬性,選擇Allow connections only from computers running Remote Desktop with Network Level Authentication選項
建立一個組策略對象,查看Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Security位置,啟用Require user authentication for remote connections by using Network Level Authentication(要求使用網路層級的身分識別驗證進行遠端連線的使用者驗證)設定。