Startseite
Impressum
Skills
Referenzen
pfeil Produkte
Links
pfeil Tips
Benutzerverwaltung 1
Benutzerverwaltung 2
Das ideale Paßwort
Datum und SQL-DB
DSL-Probleme
Dr. Watson Teil 1
Dr. Watson Teil 2
DTS Automatisierung
Installation autom.
Kalender und Zeit
Mail Automatisierung
Office Automation
Stack Frame
SQL Server
Strings + Unicode
VB 6 Tips & Tricks
Windows-Uhrzeit

 

Drucker - freundliche Darstellung


  zalando.de - Schuhe und Fashion online

 

Letzte Aktualisierung: 04.01.2023



Windows Benutzerverwaltung, Teil 2

In diesem Teil wird erklärt, wie mittels Access Control Lists (ACL) die Überprüfung gemacht wird, welcher Benutzer was darf, was ein AccessToken und eine Policy ist, und wie Privilegien verwaltet werden.

Access Control Lists

Access Tokens

Privilegien

Netzwerk-Kennwörter-Cache in Windows Vista

Buchtips

Einige Links zum Thema

Access Control Lists

Wenn ein Benutzer auf eine Ressource (z.B. eine Datei, ein Ordner, ein Laufwerk, ein Drucker) zugreift, so muß das Betriebssystem prüfen, ob der Benutzer dazu berechtigt ist. Dazu kann man für jede dieser Ressourcen eine Berechtigung festlegen.

Bedingung bei Dateien und Ordnern: Die entsprechende Partition muß eine Zugriffsverwaltung unterstützen. Die Formatierung mit "FAT" und "FAT32", wie sie von Windows 95 / 98 / Me verwendet wird, unterstützen diese Zugriffsverwaltung nicht, so daß man hier keine Zugriffsberechtigungen konfigurieren kann. Häufig wundern sich Anwender, die ein Upgrade auf Windows 2000 oder XP gemacht haben ohne die Festplatten - Partition zu verändern, daß sie überraschenderweise keine Sperren einrichten können. "NTFS", das Dateisystem von Windows NT, welches auch unter Windows 2000 und Windows XP standardmäßig zur Formatierung benutzt wird, unterstützt dagegen die Zugriffsverwaltung. Disketten hingegen werden stets mit "FAT" formatiert, und auch CD-ROMs mit ihrem UDF-Format unterstützen die Zugriffsverwaltung nicht.

Exkurs: Disketten mit NTFS formatieren
Mark Russinovich hat ein Tool namens NTFSflp entwickelt, mit dem man auch Disketten unter NTFS formatieren kann, zumindest unter Windows NT 4.0: http://www.sysinternals.com/ntw2k/freeware/ntfsfloppy.shtml
Es scheint jedoch fraglich, ob die Vorteile (Rechteverwaltung der Dateien, Komprimierungs- und Verschlüsselungsmöglichkeit) die Nachteile überwiegen (vor dem ersten Disketten-Zugriff muß ein Programm aufgerufen werden, ständige Aktivität auf dem Laufwerk, vor dem Entfernen der Diskette muß ein Extra Synchro-Befehl aufgerufen werden, nur ca. 1,0 MB der Diskette ist benutzbar). Offenbar wird das Tool auch seit 1997 nicht mehr weiterentwickelt.
Danke an Jochen Betz für den Tip.

Bei CD-ROMs, Disketten und FAT - Partitionen kann man sich höchstens gegen Netzwerk - Zugriffe schützen, indem man für das komplette Laufwerk eine entsprechende Freigabe konfiguriert.

Im Bild links kann man erkennen, wie man die Zugriffsberechtigungen einrichten kann. Das Fenster wurde mit der rechten Maustaste auf dem Ordner "C:\Programme" geöffnet, nach der Auswahl von "Eigenschaften". Im oberen Teil sind einzelne Benutzergruppen aufgelistet, erkennbar am Symbol "Doppelkopf". Es können dort auch einzelne Benutzeraccounts aufgeführt sein, die haben dann nur einen Kopf.

Zu jedem Benutzergruppen - Eintrag gibt es unten eine Liste der Berechtigungen, bei denen man Zugriffe zulassen oder verweigern kann. In dem Beispiel dürfen Mitglieder der Gruppe "Benutzer" den Inhalt des Ordners auflisten, einzelne Dateien lesen und ausführen, aber keine Änderungen vornehmen. Dies bedeutet zum Beispiel, daß ein normaler Benutzer keinen neuen Ordner erstellen darf.

Intern wird diese Konfiguration natürlich irgendwo gespeichert. Das Bild rechts zeigt schematisch, wie dies technisch bewerkstelligt wird. Jede Ressource hat neben ihrem eigentlichen Inhalt noch einen sogenannten "Security-Descriptor" (SD), der die genauen Zugriffsberechtigungen enthält. In diesem SD gibt es unter anderem eine "Discretionary Access Control List" (DACL), dies ist eine Liste, in der die einzelnen Berechtigungen aufgelistet sind. Jeder einzelne Eintrag in dieser Liste ist eine Struktur vom Typ "Access Control Entry" (ACE), die Liste kann aber auch leer sein (dazu später mehr). Ein ACE enthält immer einen SID zur Identifikation des Benutzers oder der Gruppe um die es geht, und eine Liste mit Genehmigungen oder Verboten, wie im Beispiel rechts dargestellt. Anhand dieser Liste wird stets entschieden, ob der aktuelle versuchte Zugriff gestattet wird oder nicht. Ein ACE ist immer von einer der Sorten "access-allowed-ACE" oder "access-denied-ACE" (die Sonderform "System-Audit-ACE" hat mit der eigentlichen Zugriffsberechtigung nichts zu tun).

Es kann dabei durchaus zu Konflikten kommen: Der Benutzer Meyer kann ein Verbot haben, auf eine Datei zuzugreifen. Er ist aber Mitglied der Gruppe "Generalsekretäre", und diese Gruppe hat das Zugriffsrecht. Die Strategie geht daher so: Bei der Überprüfung wird ACE für ACE abgearbeitet. Wird ein ACE angetroffen, der auch nur eine der angefragten Berechtigungen verbietet, so ist der Vergleich fertig und der Zugriff wird verweigert. Wird ein ACE angetroffen, der alle angefragten Rechte erteilt, wird der Zugriff erlaubt. Es ist also wichtig, in welcher Reihenfolge die Einträge in der Liste stehen. Windows setzt daher standardmäßig ACEs, die einen Zugriff verbieten, vor andere ACEs, die einen Zugriff erlauben (siehe auch Bild rechts).

Neben der gezeigten DACL enthält ein Security Descriptor auch noch eine SACL ("System Access Control List"), die dafür verwendet wird, um alle Versuche (ob gelungen oder gescheitert), auf eine Ressource zuzugreifen, in ein spezielles Protokoll zu schreiben.

Es gibt die Sonderfälle, daß ein Security Descriptor überhaupt keine DACL enthält (eine sogenannte "NULL-DACL"), in diesem Fall darf jedermann beliebig zugreifen. Existiert die DACL, aber sie enthält keine Einträge (keine ACEs), dann darf NIEMAND auf die Ressource zugreifen.

Wenn ich jetzt eine neue Datei anlege, wie bekommt die denn ihren Security Descriptor überhaupt mit Einträgen gefüllt ? Um diese Frage zu klären, müssen erst die Access Tokens erklärt werden.

Access Tokens

Wenn sich ein Benutzer in Windows anmeldet, erhält er vom Betriebssystem ein sogenanntes Access Token.

Das Bild links enthält nicht alle, aber die wesentlichen Elemente eines Access Tokens. Das wichtigste ist der Benutzer - Account, für den das Token erstellt wurde. Damit kann das Token wie eine Art "Personalausweis" für den entsprechenden Benutzer verwendet werden: Wann immer der Benutzer einen Zugriff auf eine Ressource tätigen will, "zeigt" er sein Token, und das Betriebssystem kann dann entscheiden, ob er Zugriff erhält oder nicht.

Alle Benutzergruppen, in denen der jeweilige Benutzer Mitglied ist, sind in dem Token aufgelistet, so daß eine vollständige Berechtigungsprüfung durchgeführt werden kann.

Dieses Token wird im Verlauf der Windows - Sitzung kopiert für jeden Prozess, den der Benutzer startet. Das heißt, daß jeder Prozess, der auf dem Betriebssystem läuft, immer auch ein Token hat, welches abgefragt werden kann, und welches Informationen über den Erzeuger des Prozesses hat. Wer sich im Task-Manager die Prozessliste ansieht, bekommt diesen Benutzernamen angezeigt.

Das Access Token enthält auch eine sogenannte "Default DACL": Diese wird dazu verwendet, einen neuen Security Descriptor zu erzeugen, wenn der zugehörige Benutzer eine neue Ressource erstellt. Damit beantwortet sich auch die Frage aus dem letzten Abschnitt. Diese Default DACL wird beim Anmeldevorgang bereits zusammengestellt, damit nicht bei jeder Ressourcenerzeugung eine neue DACL erstellt werden muß. Sie ist natürlich so aufgebaut, daß der Erzeuger der Ressource auch Besitzer der Ressource wird.

Schließlich enthält das Token noch die Liste der Privilegien des Benutzers; was es damit auf sich hat, wird im nächsten Abschnitt erklärt.

Privilegien

Wir haben jetzt gesehen, mit welcher Technik der Zugriff auf Objekte und Ressourcen geregelt wird. Es gibt darüberhinaus aber noch gewisse Rechte, die sich nicht auf konkrete Objekte beziehen, sondern die in gewisser Weise eine Berechtigung zur Durchführung bestimmter Aktionen darstellen. Diese Rechte nennt man "Privilegien", und man kann sie Benutzern oder Gruppen einzeln zuweisen.

Einige Beispiele seien genannt:

  • SeShutdown, zu Deutsch "Herunterfahren des Systems": Nur wer dieses Privileg hat, darf einen Rechner auch herunterfahren. Man kann dieses Privileg zum Beispiel Benutzern entziehen, die sich auf einem Server anmelden, der gleichzeitig als Datei - Server für andere zur Verfügung stehen muß.

  • SeDebugPrivilege, "Debuggen von Programmen": Wenn es einem Benutzer gelingt, ein laufendes Programm zu debuggen, so kann er potentiell sehr viel Unheil auf dem Rechner anstellen: Wer einen fremden Prozess, der womöglich noch unter einem Sytem- oder Administratoraccount läuft, debuggt, kann dort beliebig die Codeinstruktionen verändern, und damit die volle Kontrolle über einen Rechner erhalten. Dieses Privileg bezieht sich aber immer nur auf Prozesse, die nicht von mir selbst gestartet wurden; meine eigenen Prozesse darf ich grundsätzlich debuggen.

  • SeChangeNotifyPrivilege, "Auslassen der durchsuchenden Überprüfung": Wenn man jemandem die Berechtigung entzieht, auf einen bestimmten Ordner zuzugreifen, z.B. "C:\Firmendaten", dann kann man erwarten, daß auch auf alle Unterordner dieser Schutz automatisch zutrifft. Wenn man aber einem Benutzer dieses Privileg erteilt (und es ist standardmäßig an), dann kann man einen Unterordner erzeugen (z.B. "C:\Firmendaten\MeyerStatistik", in dem man dem Benutzer dort die Rechte erteilt, die er im übergeordneten Ordner nicht hat.

  • SeBackupPrivilege, "Sichern von Dateien und Verzeichnissen": Wenn ein Backup - Programm eine Datensicherung aller Ordner und Dateien machen soll, so muß es natürlich lesend auf jede, wirklich jede Datei zugreifen dürfen, sonst macht das Backup keinen Sinn. Um dem armen Administrator zu ersparen, daß er diese Regel bei den Rechtezuweisungen ständig überprüfen muß, gibt es dieses Privileg: Wer dieses Privileg besitzt, der kann die üblichen Zugriffsbeschränkungen via DACL umgehen, zumindest für den lesenden Dateizugriff, und problemlos Daten sichern. Eine interessante Eigenschaft hat dieses Privileg unter Windows 2000: Wer das Privileg hat, der kann sein Eventlog sichern (als Datei abspeichern). Warum dafür ausgerechnet dieses Privileg nötig ist, ist mir nie ganz eingeleuchtet.

Die vollständige Liste der Privilegien findet man im MSDN unter dem Suchbegriff "Windows NT Privileges", ein Online - Link ist unten angegeben (unter Links).

Man kann die Privilegien erteilen oder entziehen, indem man in der Systemsteuerung unter "Verwaltung" das Tool "Lokale Sicherheitsrichtlinie" aufruft. Dort wird zu jedem Privileg die Liste der Benutzer und Benutzergruppen aufgeführt, die dieses Privileg haben.

Netzwerk-Kennwort-Cache

Ab Windows Vista gibt es einen neuen Netzwerk-Kennwort-Cache, mit dem Windows-Authentifizierungen im Netzwerk für spätere Zugriffe gespeichert werden können.
Beispiel: Sie möchten auf ein Laufwerk einer anderen Abteilung Ihrer Firma zugreifen, die von einer anderen Windows-Domäne verwaltet wird. Dann müssen Sie sich beim ersten Zugriff zunächst authentifizieren.



In diesem Beispiel-Screenshot authentifiziere ich mich am Rechner 192.168.9.230, der von der Domäne "MITTELERDE" verwaltet wird, als Benutzer "Sauron". Wenn man das Häkchen "Kennwort speichern" aktiviert, dann wird diese Authentifizierung im eben erwähnten Netzwerk-Kennwort-Cache gespeichert, und beim nächsten Zugriffsversuch authentifiziert mich Windows automatisch an diesem Rechner. Das ganze ist wunderbar, so lange nirgendwo eine Policy eingeführt wird, die die Benutzer zu Änderungen des Paßworts in regelmäßigen Rhythmen zwingt.

Exkurs: Erzwungene Paßwortwechsel seitens des Systems
Diesen kleinen Exkurs kann ich mir einfach nicht verkneifen. Schon mehrfach habe ich jetzt Firmen erlebt, die folgenden Prozess durchmachen:
1. Jemand aus dem mittleren Management schlägt seinem Vorgesetzten vor, daß man doch ganz einfach eine Policy einrichten kann, mit der alle Mitarbeiter gezwungen werden, alle 4 Wochen ihr Paßwort zu ändern. Garniert wird das mit Behauptungen, das sei jetzt so vorgeschrieben, allgemein sei dies üblich, die Bundesregierung empfehle das, und alles mögliche mehr.
2. Der Vorgesetzte denkt: Toll, das machen wir jetzt, das erhöht die Sicherheit. Vor allem hat der Datenschutzbeauftragte jetzt etwas tolles, was er in seine Doku schreiben kann.
3. Der IT-Administrator warnt eindringlich, doch es ist zu spät. Er hat das Thema an der Backe und muß es jetzt umsetzen
4. Am Tag X + 28 geht das Chaos los. Die IT-Hotline bricht zusammen, weil allen Mitarbeitern (trotz vorheriger Rundmails) jetzt erklärt werden muß, daß sie sich ein neues Paßwort ausdenken müssen. Und nach 5 Minuten ruft jeder Mitarbeiter wieder in der IT an, weil es nicht das zuletzt benutzte, und auch nicht das von davor sein darf. Es muß etwas ganz neues sein. Und es muß jetzt Buchstaben, Ziffern und Sonderzeichen wie §, $ oder # enthalten.
5. Nach spätestens zwei Monaten hat sich das ganze System etabliert, und das Murren der Mitarbeiter hat aufgehört. Es gibt nun zwei Klassen von Mitarbeitern, die sorglosen, und die cleveren.
6. Möchten Sie sich am PC eines Sorglosen einloggen ? Dann schauen Sie einfach nach so etwas:

7. Kein Sticker am Monitor ? Beim Cleveren findet man es hier:

8. Fazit: Statt eines vermeintlichen Gewinns an Sicherheit kann nun jeder Fremde sich an jedem beliebigen Platz einloggen. Kein normaler Mitarbeiter ist dauerhaft in der Lage, sich alle paar Wochen ein neues Paßwort zu merken, das nur morgens benötigt wird, zwingend Sonderzeichen/Buchstaben/Ziffern enthalten muß, und nicht identisch mit den letzten 10 Varianten sein darf.
P.S.: Wir sollten uns nicht beschweren. Wer auch immer auf dieser Seite gelandet ist, hat seinen sicheren Arbeitsplatz bzw. treuen Auftraggeber eben auch wegen solcher Dinge :-)

So, nun haben wir solch einen Fall, bei dem Windows sich die komplette Authentifizierung gemerkt hat, die verwaltende Domäne wurde aber durch oben genannte Policy vergewaltigt. Was passiert ? An dem Tag, an dem das alte Paßwort abläuft, funktionieren die Netzlaufwerke nicht mehr, und nach einigen Telefonaten mit der IT kam heraus, daß der Grund das abgelaufene alte Paßwort ist. Aber viel schlimmer noch: Der ganze Benutzer-Account ist jetzt dauerhaft gesperrt, weil Windows, fleißig und pflichtbewußt, sich mehrfach mit der alten Authentifizierung an der vergewaltigten Domäne anmelden will, und diese wiederum das ganze nach X versuchen unterbindet, indem sie den Account komplett sperrt. Und das passiert dem Mitarbeiter ab jetzt jeden Tag, selbst wenn er morgens versucht, sich manuell mit dem neuen Paßwort anzumelden - Windows war garantiert schneller.

Was tun ? An folgender Stelle kann man die gespeicherten Authentifizierungen finden: Systemsteuerung / Benutzerkonten / Eigene Netzwerkkennwörter verwalten:



Damit erscheint folgendes Fenster, in dem man die ungültigen Authentifizierungen entfernen kann:



Wenn diese Option in den Benutzerkontoeinstellungen nicht vorhanden ist, dann kann man mit folgendem Kommandozeilen-Befehl dieses Cache-Fenster aufrufen (klappt auch bei nicht-Admins):

rundll32.exe keymgr.dll, KRShowKeyMgr

Buchtips

"Windows Internals" von Solomon / Russinovich ist der Klassiker, um die Interna von Windows zu verstehen. Der Windows - Sicherheit ist ein eigenes Kapitel gewidmet, aus dem ich viele Anregungen für diesen Artikel erhalten habe. Solomon / Russinovich sind absolute Experten auf dem Gebiet der Windows - Betriebssysteme, sie haben unter anderem die Webseiten www.sysinternals.com und www.winternals.com erschaffen, wo es etliche Tools gibt, mit denen man dem Betriebssystem unter die Haube schauen kann.

Informationen zum Buch



"Taschenratgeber: Windows Vista" Diese Bücher sind der praktische Ratgeber für die tägliche Arbeit von Netzwerkadministratoren in kleinen, mittleren und großen Unternehmen. Ideal für den Arbeitsplatz oder den Einsatz unterwegs, denn diese Bücher zeigen Ihnen sofort die Antworten auf Fragen in den verschiedensten Situationen der Windows Vista - Administration und des Supports. Aber auch Windows - Poweruser können von diesem Buch profitieren. Übersichtliche Tabellen, Listen, Befehle und zahllose Schritt-für-Schritt-Anleitungen zeichnen diese Bücher aus: kurz, klar, präzise.

"Windows Befehle - kurz & gut" von Aeleen Frisch enthält praktisch alle Kommandozeilenbefehle, die man unter Windows zur Verfügung hat. Angefangen von den klassischen DOS - Befehlen über die Active Directory Konfiguration bis zur Prozeß- und Threadverwaltung ist alles drin, was das Herz des Skript - Programmierers begehrt.

Kleines, wertvolles Taschenbuch für 13 Euro: ein Muß für jeden Windows - Administrator.

Links

Ein kleines Tool, mit dem man sich die wichtigsten Informationen zu einem Benutzer - Account anzeigen lassen kann, findet man unter Produkte / AccountCheck

Das, was hier beschrieben wurde, gibt es in recht technischem englisch und nicht ganz so ausführlich auch bei Microsoft offiziell nachzulesen:

MSDN Security Portal

Die Liste aller Privilegien in Windows

Support, Feedback, Anregungen

Alles verstanden ? Oder noch Fragen ? Wir freuen uns über Feedback zu den Tips, auch über Verbesserungsvorschläge. Schreiben Sie an support@a-m-i.de.