Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
Sicheres PowerShell-Remoting mit eingeschränkten Endpunkten

Sicheres PowerShell-Remoting mit eingeschränkten Endpunkten

Feb 11, 2015

PowerShell Remoting ist in Windows Server 2012 (und später) standardmäßig aktiviert, und obwohl viele IT-Abteilungen dies als mögliches Sicherheitsrisiko ansehen, ist PowerShell tatsächlich eine der sichersten Methoden zur Serververwaltung, wenn Best Practices befolgt werden. In diesem Artikel werde ich Ihnen zeigen, wie Sie Windows Server 2012 R2 so konfigurieren, dass Remote-PowerShell-Verbindungen von einer spezifischen Benutzergruppe akzeptiert werden und wie Sie die Cmdlets einschränken können, die ausgeführt werden dürfen.

Was sind eingeschränkte Endpunkte?

Remote Endpoints bestimmen die Benutzer, die sich mit PowerShell Remoting mit einem Gerät verbinden können, sowie was sie tun können, sobald sie authentifiziert sind. Der Standard-PowerShell-Endpoint erlaubt Benutzern, die Mitglieder der integrierten Gruppe Administrators und Remote Management Users sind, eine Fernverbindung herzustellen und gibt alle verfügbaren Cmdlets und Funktionen auf dem Gerät frei.

Die gute Nachricht ist, dass Sie Ihre eigenen constrained Endpunkte erstellen und einschränken können, was Benutzer tun dürfen, um die Risiken zu minimieren, die mit der Erlaubung von PowerShell Remoting für Verwaltungszwecke einhergehen.

Erstellen Sie eingeschränkte Endpunkte in Windows Server 2012 R2

Lassen Sie uns unseren eigenen eingeschränkten Endpunkt in Windows Server 2012 R2 erstellen. Melden Sie sich mit lokalen Administratorrechten an und klicken Sie auf das blaue PowerShell-Symbol in der Taskleiste des Desktops.

  • Um die vorhandenen Endpunkte auf dem Server zu sehen, geben Sie Get-PSSessionConfiguration in die PowerShell-Eingabeaufforderung ein und drücken Sie ENTER.
  • In der PowerShell-Konsole sollten Sie die vier standardmäßigen Endpunkte sehen.

Um die Cmdlets und Funktionen einzuschränken, die ein Benutzer ausführen kann, wenn er sich mit dem eingeschränkten Endpunkt verbindet, müssen wir eine Konfigurationsdatei erstellen. Geben Sie das unten gezeigte Cmdlet in der PowerShell-Konsole ein und drücken Sie ENTER. New-PSSessionConfigurationFile erstellt eine neue Konfigurationsdatei namens PrintAdmin.pssc und setzt Einschränkungen, einschließlich der Begrenzung entfernter Benutzer auf Funktionen, die Teil des PrintManagement PowerShell-Moduls sind.

      New-PSSessionConfigurationFile – Path PrintAdmin.pssc – SessionType RestrictedRemoteServer -LanguageMode NoLanguage – ExecutionPolicy Restricted – ModulesToImport PrintManagement -VisibleFunctions Get-Printer
      

NoLanguage beschränkt Benutzer darauf, nur Cmdlets und Funktionen auszuführen, d.h. es können keine Skriptblöcke, Variablen oder Operatoren verwendet werden. Der Wert –SessionType RestrictedRemoteServer begrenzt Benutzer auf die folgenden Proxy-Funktionen: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, und Select-Object. Der Wert Restricted für den Parameter –ExecutionPolicy verhindert ebenfalls das Ausführen von Skripten. Beachten Sie, dass es auch einen Parameter –VisibleCmdlets gibt, der verwendet werden kann, wenn die zu importierenden Module Cmdlets enthalten.

Jetzt, da wir eine Konfigurationsdatei haben, können wir einen neuen Endpunkt namens Helpdesk: registrieren

      Register-PSSessionConfiguration -Name Helpdesk -Path PrintAdmin.pssc –ShowSecurityDescriptorUI
      
Image

Sie werden aufgefordert zu bestätigen, dass Sie den neuen Endpunkt konfigurieren, den WinRM-Dienst neu starten und Zugriffsberechtigungen für den Endpunkt einrichten möchten. In diesem Beispiel werde ich einer Gruppe namens Helpdesk die 'Ausführen (Invoke)'-Berechtigung für den neuen Endpunkt erteilen. Vergessen Sie nicht, der Gruppe Helpdesk auch die Berechtigung zu geben, Drucker auf dem entfernten Gerät zu verwalten, sonst wird get-printer fehlschlagen.

Wenn Sie Get-PSSessionConfiguration erneut ausführen, werden Sie den neuen Endpunkt in der Liste sehen können.

Verbinden Sie sich mit einem eingeschränkten Endpoint

Verbinden Sie sich jetzt von einem entfernten Rechner mit dem Endpunkt. Melden Sie sich bei Windows 8 mit einem Benutzer an, der Mitglied der Gruppe Helpdesk oder der Gruppe ist, der Sie Berechtigungen auf dem Endpunkt zugewiesen haben. Öffnen Sie eine PowerShell-Eingabeaufforderung und führen Sie den untenstehenden Befehl aus, ersetzen Sie dabei contososrv1 mit dem Namen des entfernten Servers:

      Enter-PSSession -ComputerName contososrv1 -ConfigurationName Helpdesk
      
Image

Sobald die Verbindung zum Remote-Server hergestellt ist, ändert sich die Eingabeaufforderung entsprechend, um anzuzeigen, dass Sie mit einem Remote-Gerät arbeiten. Geben Sie get-command ein und drücken Sie ENTER, und Sie werden sehen, dass die Liste der verfügbaren Funktionen und Cmdlets durch den Endpunkt eingeschränkt ist. In diesem Beispiel bleiben Ihnen die 7 Proxy-Funktionen, die vom RestrictedRemoteServer Sitzungstyp erlaubt sind und die Funktion „get-printer“, die in der Endpunktkonfigurationsdatei angegeben ist.

Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Russell Smith

IT-Berater

IT-Berater und Autor, der sich auf Management- und Sicherheitstechnologien spezialisiert hat. Russell verfügt über mehr als 15 Jahre Erfahrung in der IT, er hat ein Buch über Windows-Sicherheit geschrieben und er hat einen Text für die Official Academic Course (MOAC) Serie von Microsoft mitverfasst.