Warum ist der JEDER Account ein Sicherheitsrisiko?

Sicherheits-Szenarien

JEDER Berechtigungen auf Fileservern

In BSI-Grundschutz (Bundesamt für Sicherheit in der Informationstechnik) Maßnahme M2.8 ist die Vergabe von Zugriffsrechten beschrieben. Wichtig hierbei ist das „Need-to-know-Prinzip“, welches besagt, dass ein Mitarbeiter nur solche Zugriffsberechtigung haben sollte, die er für seine Arbeit benötigt.

Der JEDER-Account widerspricht nun im Microsoft-Umfeld diesem Prinzip, da hier wirklich JEDER Benutzer gemeint ist, welcher sich mit dem Netzwerk verbinden kann. Dadurch können nicht nur Mitarbeiter der eigenen Firma auf die Daten zugreifen, sondern auch alle „Gäste“ und anonyme Personen, welche ein offenes WLAN finden oder sich über eine „Netzwerkdose“ verbinden können und damit eine IP zugewiesen bekommen.

Folgende Szenarien sind dabei sehr gefährlich:

  1. JEDER bekommt über den Share Vollzugriff
  2. JEDER bekommt Lese- oder Ordnerinhalte anzeigen-Berechtigung im NTFS

Share-Berechtigungen

Einer der häufigsten Sicherheitsrisiken aus der Vergangenheit ist, dass man bei der Share-Berechtigung JEDER einen Vollzugriff gegeben hat. Erst dadurch ermöglicht man Benutzern, dass diese bei falsch gesetzter NTFS-Berechtigung auf alles zugreifen können und ggf. die Struktur und die Berechtigungen ungewollt verändern. Im folgenden Bild sind Share-Berechtigungen zu sehen, wie sie historisch oft wegen Unix-Kompatibilität vergeben wurden.

Warum ist das historisch so gewachsen? In früheren Jahren gab es sehr viele Linux/Unix File Server, die über SAMBA in die Windows-Welt eingebunden wurden. Weil man sich das Leben leicht machen wollte, wurden die Shares entweder automatisiert, oder auch manuell immer mit JEDER hat VOLLZUGRIFF angelegt. Eine  extremere Variante ist hier, dass auch die sogenannte „NULL DACL“ erzeugt wurde. Diese „NULL DACL“ (Discretionary Access Control kurz ACL) ist technisch ein großes Sicherheitsrisiko, da es ein echter NULL Pointer ist. DIes kann im Rest der Computer-Welt zu Abstürzen führen, jedoch im NTFS-Umfeld ganz normal ein JEDER Vollzugriff bedeutet. Diese „NULL DACL“ ist nicht mit einer leeren DACL zu verwechseln. Eine leere DACL enthält keine Einträge. Somit hat niemand  Zugriff, es ist also genau das Gegenteil.

Microsoft hat diese Schwachstelle zwar etwas gelindert, so dass die automatischen Tools, wie u.a. das Home Directory Share oder SAMBA Verbindungen diese „NULL DACL“ nicht mehr erzeugen, aber rein technisch kann man diese Berechtigung immer noch programmatisch erzeugen.

Nicht nur Microsoft hat diese Sicherheitslücke erzeugt, sondern auch die beiden großen Hersteller EMC und NetApp. Per Default erzeugen beide weiterhin JEDER VOLLZUGRIFF und einige dieser Systeme auch noch immer mit einer „NULL DACL“.

Optimaler wäre ist es, wenn man Domänen Benutzer maximal die „Ändern“ Berechtigungen gibt und den Domänen Admi-nistratoren den Vollzugriff, wie im nachfolgenden Bild zu sehen.

Das hat weiterhin den Vorteil, dass Benutzer selbst wenn sie Besitzer eines Verzeichnisses wären, die Berechtigung nicht verändern dürfen. Dafür gibt es ein eigenes Kapitel „Besitzer, die nicht Admin sind“ oder „Ersteller-Besitzer“.

Lese- oder Ordnerinhalte anzeigen Berechtigungen

Die JEDER Berechtigung wurde in der Vergangenheit oft für die Lesen- oder die Ordnerinhalte anzeigen Berechtigungen genutzt. Neuere Filesever nutzen hingegen per Default die Benutzer mit diesem Recht. Der Unterschied zwischen Lesen und Ordnerinhalte anzeigen ist, dass beim Lesen auch die Dateien gelesen und ausgeführt und somit auch kopiert werden dürfen.

Links sieht man die Lese-Berechtigung und rechts die Ordnerinhalte anzeigen Berechtigung. Klarer wird der Unterschied, wenn man sich das Anwenden auf anschaut. Hier zuerst das Lesen-Recht:

Und dann den Ordner Inhalte Recht sieht fast genauso aus.

Daher ist die Ordnerinhalte anzeigen Berechtigung das kleinere Risiko. Aus Least-Privilege-Sicht aber immer noch ein Verstoß, da der Benutzer hier noch zu viel Information erhält. Daher sollte man das JEDER Recht nur mit Bedacht einsetzen oder besser ganz darauf zu verzichten. Da es heute schon einige Berechtigungsmanagements-Tools gibt, die dieses Risiko gut darstellen, kann man dieses Risiko auch minimieren oder ganz verhindern.

Auch im NTFS kann man eine „NULL DACL“ erzeugen. Auch hier hat Microsoft ab Windows Server 2008 einige Security-Verbesserungen vorgenommen, so dass diese nicht mehr automatisch durch Microsoft-Tools erstellt werden. Außerdem führte Microsoft mit Windows Server 2008 auch die Dynamischen ACLs ein, um einerseits den Token Bloat entgegenzutreten. Anderseits erzwingt dieses Verfahren ein Setzen der ACL, so dass keine „NULL DACL“ mehr entstehen kann. Aber auch im NTFS bedeutet eine „NULL DACL“ JEDER VOLLZUGRIFF und ist ein absolutes Sicherheitsrisiko!

Empfehlung für die Sicherheit

Verwenden Sie die JEDER Gruppe nur für Daten, welche belanglos für Ihre Firma sind und diese einfach zugänglich gemacht werden sollen. Ansonsten sollte man selbst bei Shares diesen Account entfernen und mindestens gegen Authentifizierte Benutzer austauschen, damit so der anonyme Zugriff verhindert wird.

Um das Risiko zu minimieren, erstellen Sie mit ARM einen Report für die JEDER Gruppe über folgende Wege:

  1. ARM-Windows-Applikation
  2. ARM-Web Client