Windows

通過批處理授予 RDP 證書的“網路服務”只讀權限

  • August 22, 2019

我通過將我的 SSL 證書添加到我的 Windows 主機來保護 RDP,當然,我正在編寫所有內容的腳本。我已經完成了 99%,唯一不知道如何編寫腳本的步驟與權限有關。

例如:https ://superuser.com/questions/1093159/how-to-provide-a-verified-server-certificate-for-remote-desktop-rdp-connection/1093160#1093160

1.開始 > 執行 > mmc

2.文件>添加刪除管理單元>證書>添加>電腦帳戶>本地電腦>確定

3.在左側視窗中右鍵點擊證書(本地電腦)個人,選擇所有任務/導入…

4.找到pfx文件並導入它,出於安全原因,我建議您不要將其設為可導出。

5.擴展您的個人/證書,您現在應該看到 3 個證書,其中之一是您的站點證書(例如 mysite.com)。右鍵點擊此站點證書並右鍵點擊,選擇所有任務/管理私鑰…

6.添加具有隻讀權限(非完全控制)的使用者“網路服務”,然後應用

7.關閉mmc

我正在嘗試編寫本指南中的第 6 步。有人知道從哪裡開始嗎?

實際上,我發現有兩種方法可以使其正常工作。當然,更好的答案來自 StackOverflow 而不是微軟。

您可以使用winhttpcertcfg.exe它必須單獨下載,因為它不隨 Windows 提供。另一個問題是它只在需要Full Control時授予權限Read。我發現沒有辦法糾正這個問題,但在我的搜尋中我找到了更好的方法。

此命令將授予NETWORK SERVICE READSSL 證書目錄中所有文件的權限:

icacls.exe "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\*" /grant "NETWORK SERVICE":R

https://docs.microsoft.com/en-us/microsoft-desktop-optimization-pack/appv-v4/how-to-modify-private-key-permissions-to-support-management-server-or-streaming-server

https://docs.microsoft.com/en-us/windows/win32/winhttp/winhttpcertcfg-exe--a-certificate-configuration-tool

https://blogs.technet.microsoft.com/operationsguy/2010/11/29/provide-access-to-private-keys-commandline-vs-powershell/

https://stackoverflow.com/questions/1678584/winhttpcertcfg-giving-access-to-iis-user-in-windows-7

引用自:https://serverfault.com/questions/979400