使用 TrustedHosts 的 WinRM/PSSession 是否不如 DCOM(或任何經典的 Windows 遠端存取)安全?

使用 TrustedHosts 的 WinRM/PSSession 是否不如 DCOM(或任何經典的 Windows 遠端存取)安全?

我一直透過檔案共用 (\\serverName\share) 等方式存取遠端計算機,並使用使用 -ComputerName 參數的 Powershell 命令。如果我對遠端網域中的電腦執行此操作,我必須提供 -Credential 參數。一切都很好。我認為這就是所謂的 DCOM。我也可以這樣訪問WMI。但是,當我嘗試對遠端電腦使用 Enter-pssession 時,由於某些 kerberos 問題,它不起作用。據推測,差異在於 kerberos 提供了機器的相互身份驗證。但是,如果我訪問遠端網域中的計算機,它無論如何都不會使用 kerberos 進行 DCOM 樣式事務。因此,如果我通過將遠端電腦放入我的 Winrm TrustedHosts(並用 IP 位址命名)而不是設定憑證基礎結構(因此沒有任何電腦身份驗證)來使 psession 工作,那確實比 DCOM 更糟糕我一直在運行的命令? --我見過人們寫過這樣的話,“僅在測試機器上使用它,而不是生產環境”,因為連接未加密。但是,憑證交易據說仍然是加密的。如果可以將 -ComputerName 和 -Credential 與其他指令一起使用,那麼有什麼不同?

答案1

是的,它不太安全。

NTLM(使用的身份驗證協定)在技術上較不安全。您正在向主持人出示您的憑證。 NTLM 不向用戶端提供主機驗證。攻擊者可以輕鬆地冒充該 IP 位址的主機。

在 Kerberos 環境中,您不需要向主機提供憑證,而是向單獨的身份驗證伺服器提供憑證,它提供令牌,然後提供該令牌以進行身份驗證。憑證出現在比典型伺服器更安全的更少主機中。

如果啟用並使用基本身份驗證而不是協商/NTLM,這些憑證將透過未加密的線路發送,這顯然很糟糕。但是,在身份驗證之後,無論 HTTP/HTTPS 傳輸方案如何,會話都會在訊息層級進行加密。切勿啟用/使用 Basic+HTTP 和 Digest 驗證方法。

大多數組織不會這樣做,因為它無法通過審核。在工作群組場景中,幾乎都會用到憑證。

https://learn.microsoft.com/en-us/powershell/scripting/learn/remoting/winrmsecurity?view=powershell-7.3

https://devblogs.microsoft.com/powershell/compromising-yourself-with-winrms-allowunencrypted-true/

https://adamtheautomator.com/psremoting/

相關內容