“下次登錄時更改密碼”要求應該如何與使用網路級身份驗證的 RDP 一起使用?
我們有一台安裝了“遠端桌面服務”功能且沒有 Active Directory 域的 Windows 伺服器 (2008 R2)。遠端桌面設置為
"Allow connections only from computers running Remote Desktop with Network Level Authentication (more secure)"
. 這意味著在顯示遠端螢幕之前,連接會在“Windows 安全性:輸入您的憑據”視窗中進行身份驗證。此伺服器上安裝的唯一兩個角色服務是 RD 會話主機和許可。
在此伺服器上的本地使用者的屬性中選中“使用者下次登錄時必須更改密碼”複選框時,在嘗試使用上次有效的憑據進行連接後,客戶端電腦上會顯示以下內容:
在使用 RDP 進行管理員訪問的其他一些伺服器上(但沒有安裝遠端桌面服務角色),行為是不同的——會話開始並且使用者在遠端螢幕上收到更改密碼提示。我需要做什麼才能在遠端桌面服務伺服器上複製此行為?
我要假設你不能這樣做。實施 NLA(網路級身份驗證)後,使用者無法遠端登錄並更改其密碼。
您可以在遠端桌面伺服器上使用 tsconfig.msc,右鍵點擊 RDP-Tcp 連接並選擇屬性,然後將安全層下拉菜單更改為“RDP 安全層”,但隨後您會失去 NLA。不幸的是,這兩個設置是互斥的。
如果您必須擁有 NLA,那麼您需要為使用者建立一種替代方法來更改過期密碼,例如通過 Outlook Anywhere、RDWeb Access 或加入域的工作站的物理控制台等。
這是一種 22 類情況,因為根據設計,NLA 甚至不會分配為您創建遠端桌面會話所需的系統資源,直到您的憑據被驗證為有效之後。但是您必須連接到一個完整的會話,創建一個桌面,為您生成 LogonUI.exe 等等,才能更改您的密碼。但是您不能進行會話,因為您的密碼已過期。我相信,允許這樣做會在 NLA 中打開一個漏洞,使用者可以繞過 NLA 並獲得會話,即使他們沒有好的(即未過期)密碼。
http://support.microsoft.com/kb/2648402說:
在 CredSSP 的協議規範中,沒有提及在 NLA 執行時更改使用者密碼的能力。因此,觀察到的行為可以被認為是“設計使然”。
CredSSP 是啟用 NLA 的底層技術,它不支持密碼更改。因此,MSTSC 中未啟用密碼更改。其他支持 NLA 的 RD 客戶端應該無法更改使用者的密碼。