# Just Enough Administration (JEA): Das Ende der Voll-Admins
TL;DR / Management Summary Just Enough Administration (JEA) ist eine Sicherheitstechnologie, die auf PowerShell Remoting (Artikel 473) basiert. Sie ermöglicht es, administrative Aufgaben an Nicht-Admins zu delegieren, indem man exakt festlegt, welche Befehle, Parameter und Module sie nutzen dürfen. Ein Senior Admin nutzt JEA, um dem First-Level-Support den Neustart von DNS-Diensten zu erlauben, ohne ihnen das Passwort eines Domain-Admins geben zu müssen.
# 1. Einführung & Architektur
RBAC für die Shell.
JEA implementiert das Prinzip der geringsten Privilegien (Least Privilege) auf Befehlsebene.
# Wie JEA funktioniert
Ein JEA-Endpunkt ist eine virtuelle Shell. Wenn sich ein User verbindet:
- Der User authentifiziert sich mit seinem normalen Konto.
- PowerShell startet eine Session unter einem privilegierten virtuellen Account (lokaler Admin).
- Der User sieht nur die Befehle, die in der Role Capability Datei definiert sind.
# Architektur-Übersicht (Mermaid)
graph LR
USER[Helpdesk User] -->|Connects to| EP[JEA Endpoint]
EP -->|Loads| RC[Role Capability: *.psrc]
RC -->|Filters| PS[PowerShell Engine]
PS -->|Executes as| V_ADM[Virtual Admin Account]
V_ADM -->|Action| OS[Windows System]
# 2. JEA Konfiguration in der Praxis
Der Weg zum sicheren Endpunkt.
Ein JEA-Setup besteht aus zwei Dateien:
# Schritt 1: Role Capability (.psrc)
Hier definieren wir, was erlaubt ist.
# MyRole.psrc
VisibleCmdlets = @(
'Restart-Service',
@{ Name = 'Get-Service'; Parameters = @{ Name = 'Name' } }
)
VisibleFunctions = 'Get-NetIPAddress'
# Schritt 2: Session Configuration (.pssc)
Hier definieren wir, WER diese Rolle nutzen darf.
# MyConfig.pssc
RoleDefinitions = @{
'FIRMA\G-Helpdesk' = @{ RoleCapabilities = 'MyRole' }
}
SessionType = 'RestrictedRemoteServer'
RunAsVirtualAccount = $true
# Schritt 3: Endpunkt registrieren
Register-PSSessionConfiguration -Name "ServiceHelpdesk" -Path ".\MyConfig.pssc"
# 3. Deep Dive: Sichtbare Befehle & Parameter
Den Aktionsradius einschränken.
Ein mächtiges Feature von JEA ist die Parameter-Validierung.
- Beispiel: Der User darf
Restart-Serviceausführen, aber nur für den DienstSpooler.
VisibleCmdlets = @(
@{ Name = 'Restart-Service'; ArgumentsAllowList = 'Spooler' }
)
Dies verhindert, dass ein Helpdesk-Mitarbeiter versehentlich den lsass oder dns Dienst abschießt.
# 4. Day-2 Operations: Auditing & Monitoring
Wer hat was getan?
Einer der größten Vorteile von JEA ist die lückenlose Protokollierung.
- Transcript Logging: Jede Eingabe und jeder Output wird in einem geschützten Verzeichnis mitgeschrieben.
- Event Logs: Im Log
Microsoft-Windows-PowerShell/Operationalsehen Sie exakt, welcher User welchen Befehl im virtuellen Admin-Kontext ausgeführt hat.
# 5. Troubleshooting & “War Stories”
Wenn die Shell zu eng ist.
# Top 3 Fehlerbilder
-
Symptom: User erhält “Befehl nicht gefunden”, obwohl er in der
.psrcsteht.- Ursache: Das Modul, das den Befehl enthält, wurde nicht importiert oder der Befehl ist ein Alias.
- Lösung:
ModulesToImportin der.psrcexplizit angeben.
-
Symptom: Skripte schlagen fehl, weil sie auf Laufwerke zugreifen wollen.
- Ursache: Der virtuelle Account hat keine Berechtigungen auf Netzwerk-Shares.
- Lösung: Nutzen Sie gMSAs (Group Managed Service Accounts) für den JEA-Endpunkt.
-
Symptom: Endpunkt lässt sich nicht registrieren.
- Lösung: Prüfen Sie, ob der WinRM Dienst läuft und ob die
.psscDatei valide ist (Test-PSSessionConfigurationFile).
- Lösung: Prüfen Sie, ob der WinRM Dienst läuft und ob die
# “War Story”: Der “DNS-Retter”
Ein Unternehmen hatte ständig Probleme mit einem instabilen DNS-Forwarder. Nachts musste immer der Senior Admin raus, um den Dienst neuzustarten.
Die Lösung: Wir erstellten einen JEA-Endpunkt für den Nachtportier (Wachschutz). Er bekam eine Verknüpfung auf seinem Desktop, die via Invoke-Command exakt einen Befehl ausführte: Restart-Service DNS.
Ergebnis: Der Senior Admin konnte schlafen, der Nachtportier fühlte sich wie ein Hacker, und das System war nach 10 Sekunden wieder online.
Lehre: Delegation erhöht die Resilienz der gesamten Organisation.
# 6. Monitoring & Reporting
Compliance-Check.
# JEA Endpunkte auditieren
# Zeigt alle registrierten Endpunkte und deren Berechtigungen
Get-PSSessionConfiguration | Select-Object Name, Permission
# 7. Fazit & Empfehlung
JEA ist das ultimative Härtungs-Tool für Windows-Infrastrukturen.
- Empfehlung: Nutzen Sie JEA für alle Routine-Aufgaben des Helpdesks.
- Strategie: Kombinieren Sie JEA mit PAM (Privileged Access Management) Lösungen für eine vollständige Überwachung kritischer Zugriffe.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| Rolle erstellen | New-PSRoleCapabilityFile |
| Config erstellen | New-PSSessionConfigurationFile |
| Verbindung testen | Enter-PSSession -ConfigurationName "..." |
| Endpunkt löschen | Unregister-PSSessionConfiguration |