GPO: CMD für nicht-Admins blockieren

Xep22

New Member
moin, ich übe mich gerade mit Domain Controllern auf einer VM rum und will jetzt eine GPO erstellen, damit die cmd nur User aus der Gruppe "Techniker" nutzen können. Habe es erst in der "Default Domain Policy" deaktiviert, doch dann kann es ja keiner. Doch wenn ich hier bei der Sicherheitsfilterung die Gruppe hinzufüge macht das ja auch kein Sinn. Daher dachte ich folgendes geht:

- Bei der Default Domain Policy die CMD blockieren
- Neues GPO Objekt, dort bei der Sicherheitsfilterung die Gruppe hinzugefügt, und "Zugriff auf Eingabeaufforderung verhindern" auf "Deaktiviert" gestellt.

doch auch jetzt ist die CMD für jeden blockiert :(

Komme nicht mehr weiter, wie kann ich das denn umsetzen wie ich es will ?
 

nexus

Active Member
Sicherheit.
Dann mußt du aber auch konsequent sein und WIN+R (Ausführen) und die PowerShell verbieten.

Unerwünschte Aktionen, die Anwender auf der Kommandozeile ausführen könnten, sollte man besser durch entsprechendes Rechte-Management verhindern als durch die Sperrung von cmd.exe.
 

danton

Debian User
Diese Einstellung bringt keine Sicherheit, denn damit blockierst du z.B. nicht die Powershell. Und die Powershell möchtest du nicht blockieren, denn sie wird auch von einigen Programmen im Hintergrund für bestimmte Aufgaben verwendet.
Ansonsten sollte es aber folgendermassen funktionieren. Eine neue GPO erstellen, in der die gewünschte Einstellung aktiviert ist. Nun gibt es zwei Methoden (wenn es sich wie oben um eine Benutzerrichtlinie handelt): Die GPO wird nur den OUs zugewiesen, in denen die User sind, die diese Einstellung bekommen sollen. Würde bedeuten, dass deine "Techniker" in eine separate OU kommen, der diese GPO nicht zugewiesen wird. Die zweite Möglichkeit ist, über die Delegierung zu arbeiten und bei den erweiteren Rechten deiner Gruppe "Techniker" das Lese-Recht zu verbieten (Verbot hat immer Vorrang vor Erlauben!).
 

Firewire2002

Registered User
Diese Einstellung bringt keine Sicherheit, denn damit blockierst du z.B. nicht die Powershell. Und die Powershell möchtest du nicht blockieren, denn sie wird auch von einigen Programmen im Hintergrund für bestimmte Aufgaben verwendet.
Sind die Leute hier mittlerweile so jung, dass keiner mehr dran denkt, dass die beschriebene Powershell-Nutzung seit Jahrzehnten gängige Praxis mit der cmd ist? Unzählige Anwendungen nutzen diese für Batch-Wrapper-Scripte beim Starten; viele Admins nutzen sie selbst für Login-Scripte im Benutzerkontext; Softwareinstallationen; Integrationen von Software in den Windows Explorer. Da läuft soviel über die cmd.exe...
Dem Benutzer die Rechte darauf zu entziehen ist ein ziemlicher Schuss ins Knie.

Wenn man für Sicherheit sorgen will, begrenzt man das, worauf der Benutzer mit dem Tool Zugriff haben könnte und nicht das Tool selbst.
Sonst bringt der Benutzer sich halt selbst ein Tool mit und macht die schlimmen Dinge, die er nicht soll.

So dumm man als Admin seine User auch manchmal halten möge, aber unterschätze niemals die Kreativität und Böswilligkeit dieser.
 

danton

Debian User
Das Sperren der CMD ist meines Wissens noch ein altes Überbleibsel aus der Pre-Powershell-Ära, eine vergleichbare Option für die Powershell habe ich zumindest in den GPOs nicht gefunden. Und das ist auch gut so, wie @Firewire2002 es bereits beschrieben hat.
In einem Punkt bin ich allerdings anderer Meinung: Die cmd.exe ist weitestgehend verzichtbar, auch für cmd-Wrapper-Scripte zum Starten von Powershell-Anwendungen gibt es andere Wege (man kann das Script z.B. über eine Verknüpfung auch direkt starten) und meines Wissens will Microsoft auch die cmd.exe irgendwann komplett ablösen. Den letztendlich gibt es in der CMD nichts, was nicht auch mit Powershell erledigt werden kann - und daher ist ein Sperren der cmd.exe kein Sicherheitsgewinn und ein Sperren der Powershell würde viel zu viele Einschränkungen mit sich bringen.
 

Firewire2002

Registered User
In einem Punkt bin ich allerdings anderer Meinung: Die cmd.exe ist weitestgehend verzichtbar, auch für cmd-Wrapper-Scripte zum Starten von Powershell-Anwendungen gibt es andere Wege (man kann das Script z.B. über eine Verknüpfung auch direkt starten)
Natürlich ist sie technisch verzichtbar, weil die Powershell das gleiche und noch viel mehr kann. ABER die cmd ist organisatorisch nicht verzichtbar. Es gibt einfach viel zu viele BESTEHENDE Abhängigkeiten darauf.
Das man sie nicht unbedingt bevorzugt, wenn man neues baut ok. Als Admin kommst du um die cmd nicht drum herum ohne dir mächtig ins Knie zu schießen, sehr viel Arbeit zu investieren um alle Abhängigkeiten zu finden oder dem Chef den Mittelfinger zu zeigen, weil seine Lieblingssoftware nur mit cmd-Wrapper daher kommt. ;)
Zu sagen, man braucht sie nicht, ist nicht weit genug gedacht, weil vieles, auf das man keinen Einfluss hat, sie einfach erwartet.

und meines Wissens will Microsoft auch die cmd.exe irgendwann komplett ablösen.
Angedeutet haben sie es mal. Aufgrund eben erwähnter Abhängigkeiten glaube ich allerdings nicht daran, dass ich es noch erleben werde, dass es unter Windows keine cmd.exe mehr geben wird.
Ich gehe eher davon aus, dass sie den Inhalt der cmd.exe durch einen Powershell-Wrapper ersetzen werden um nicht 2 Shells parallel pflegen zu müssen. Aber die cmd.exe an sich wird uns noch sehr lange erhalten bleiben.
 
Top