Sind WinRM/PSSessions mit TrustedHosts weniger sicher als DCOM (oder was auch immer der klassische Windows-Remotezugriff ist)?

Sind WinRM/PSSessions mit TrustedHosts weniger sicher als DCOM (oder was auch immer der klassische Windows-Remotezugriff ist)?

Ich greife schon immer auf Remote-Rechner mit Dingen wie Dateifreigaben (\\Servername\Freigabe) zu und verwende Powershell-Befehle, die einen -ComputerName-Parameter verwenden. Wenn ich dies für einen Rechner in einer Remotedomäne mache, muss ich das -Credential-Argument angeben. Und das funktioniert alles einwandfrei. Ich glaube, das nennt sich DCOM. Ich kann auch so auf WMI zugreifen. Wenn ich jedoch versuche, eine Eingabeaufforderung für den Remote-Rechner zu verwenden, funktioniert dies aufgrund einer Kerberos-Sache nicht. Angeblich besteht der Unterschied darin, dass Kerberos eine gegenseitige Authentifizierung der Rechner ermöglicht. Wenn ich jedoch auf einen Rechner in einer Remotedomäne zugreife, wird Kerberos für die DCOM-artigen Transaktionen ohnehin nicht verwendet. Wenn ich also die Eingabeaufforderung zum Laufen bringe, indem ich den Remote-Rechner in meine Winrm TrustedHosts einfüge (und ihn mit der IP-Adresse benenne), anstatt eine Zertifikatsinfrastruktur einzurichten (und somit keine Rechnerauthentifizierung zu haben), ist das dann wirklich schlimmer als die DCOM-Befehle, die ich schon immer ausführe? --Ich habe Leute Dinge schreiben sehen wie: „Verwenden Sie dies nur auf Testmaschinen, nicht in einer Produktionsumgebung“, weil die Verbindung nicht verschlüsselt ist. Aber die Übertragung der Anmeldeinformationen ist angeblich trotzdem verschlüsselt. Wenn es in Ordnung ist, -ComputerName und -Credential mit anderen Befehlen zu verwenden, was ist dann der Unterschied?

Antwort1

Ja, es ist weniger sicher.

NTLM (das verwendete Authentifizierungsprotokoll) ist technisch weniger sicher. Sie legen einem Host Ihre Anmeldeinformationen vor. Und NTLM bietet dem Client keine Authentifizierung des Hosts an. Für einen Angreifer ist es ein Leichtes, sich unter dieser IP-Adresse als dieser Host auszugeben.

In einer Kerberos-Umgebung legen Sie Ihre Anmeldeinformationen nicht dem Host vor, sondern einem separaten Authentifizierungsserver, der ein Token bereitstellt, und dieses Token wird dann zur Authentifizierung vorgelegt. Die Anmeldeinformationen werden auf weniger Hosts vorgelegt, die sicherer sind als ein typischer Server.

Wenn die Standardauthentifizierung aktiviert und anstelle von Negotiate/NTLM verwendet wird, werden diese Anmeldeinformationen unverschlüsselt über das Kabel gesendet, was offensichtlich schlecht ist. Nach der Authentifizierung wird die Sitzung jedoch unabhängig vom HTTP/HTTPS-Transportschema auf Nachrichtenebene verschlüsselt. Die Authentifizierungsmethoden Basic+HTTP und Digest sollten niemals aktiviert/verwendet werden.

Die meisten Organisationen tun dies nicht, da es ein Audit nicht bestehen würde. In Arbeitsgruppenszenarien werden fast immer Zertifikate verwendet.

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/

verwandte Informationen