©
TRAC Optische Computer Sensorik, Stuttgart 2002
,
em@il:
trac@n.zgs.de
Das Windows NT Sicherheitssystem
Inhalt
Regulieren
der Benutzung
Login:
Herausfiltern der berechtigten Anwender
Eindeutige
Identifikation von Benutzern mittels SID
Benutzergruppen
Vordefinierte
Gruppen
Das
Rechtssystem in NT
Automatische
Überwachung der Zugriffsberechtigungen durch Windows NT
Regulieren
der Benutzung im Netzwerk: NT- Domänen
Regulieren der
Benutzung
Das zentrale Instrument für ein
sicheres Computersystem ist unter Windows NT die Regulierung der
Benutzung. Darunter ist die individuellen Definition von
Benutzungsregeln für das Computersystems und das automatische
Überwachen dieser durch das Betriebssystem zu verstehen.
Durch Benutzungsregeln wird festgelegt:
wer an einem Computer überhaupt
arbeiten darf und
welche Resourcen auf dem Computer
und im Netz von zugelassenen Anwendern genutzt werden können
Login: Herausfiltern der berechtigten Anwender
Jede Sitzung auf einem NT-
Rechner startet mit einer Anmeldung. Dabei muss der der Anwender eine
ihm bekannte Kombination aus
userid
und
passwort
eingeben.
Ein spezieller NT- Dienst, genannt Sicherheitsautorität,
vergleicht die Eingaben mit den Einträgen einer systeminternen
Datenbank, genannt Benutzerdatenbank.
Wird ein Datensatz mit übereinstimmender userid und passwort
gefunden, dann startet die Sitzung, sonst wird der Anwender
abgewiesen.
Die
Eingabe einer speziellen Kombination aus userid und passwort, die dem
System bekannt ist, stellt eine Anmelderegel dar. Durch diese
Anmelderegeln autoriserte Anwendern, die gültige
userid/passwort- Kombinationen kennen von nichtautorisierten
Anwendern getrennt.
Eindeutige Identifikation von Benutzern mittels SID
Wird in der Benutzerdatenbank ein neuer Eintrag angelegt, dann
erzeugt die Sicherheitsautorität einen neuen Schlüsselwert,
genannt Security Identifier (kurz
SID). Die SID wird im neuen Eintrag gespeichert. Die SID hat im NT-
Sicherheitssystem zentrale Bedeutung: Berechtigungen und Verbote im
System werden immer für bestimmte SID's ausgesprochen, und nicht
für die userid's.
Das Verfahren, nach dem die
Sicherheitsautorität die SID erzeugt, garantiert, daß jede
SID weltweit für alle Zeit eindeutig ist. Wird zum Beispiel ein
Konto mit der userid anton gelöscht, und zu einem
späteren Zeitpunkt wieder angelegt, dann erhält das neue
Konto eine SID, die mit der SID aus dem alten Konto nicht
übereinstimmt. Damit haben Verbote und Berechtigungen, die mit
dem alten Konto verbunden waren, auf das neue Konto keinen Einfluss.
Benutzergruppen
Neben Benutzern gibt es in Windows NT noch eine zweite Klasse von
Objekten, genannt Benutzergruppen, denen SID's zugeordnet
werden. Benutzergruppen sind damit genauso wie Benutzern
Berechtigungen und Verbote zuweisbar.
Der Sinn der Benutzergruppen besteht darin, das ihnen wiederum
eine Vielzahl einzelner Benutzer zugewiesen werden kann. Die
Zuweisung eines Benutzers zu einer Gruppe wir Mitgliedschaft
genannt. Benutzer, die einer
Benutzergruppe zugewiesen sind, erben von diesen die Zugriffsrechte
wie Berechtigungen und Verbote. Dadurch wird die Verwaltung einer
Vielzahl von Benutzern vereinfacht: Änderungen an den
Zugriffsrechten einer Gruppe wirken sich sofort auf alle
Gruppenmitglieder aus.
Die Mitgliedschaften von Benutzern und
Gruppen in Gruppen werden in der Benutzerdatenbank gespeichert.
Meldet sich ein Benutzer an einer Arbeitsstation erfolgreich an, dann
fragt die Sicherheitsautorität alle SID's der Gruppen, in denen
der Benutzer Mitglied ist, aus der Datenbank ab. Zusammen mit der SID
des Benutzers wird aus diesen ein spezieller Datensatz für die
Sitzung erzeugt, genannt Sicherheitstoken oder kurz Token.
Dieses Token wird in der Sitzung vor jedem Zugriff auf eine Resource
durch das Betriebssystem mit den Berechtigungen verglichen, die im
Sicherheitsdeskriptor einer Resource abgespeichert sind.
Vordefinierte
Gruppen
Vordefinierte Gruppen in NT- Workstation
Gruppe
|
Mitglieder
|
verwaltet von
|
Rechte
|
Administratoren (Administrators)
|
Administrator
|
Administratoren
|
Zugriff auf alle Sytemresourcen, kann jede Resource in Besitz
nehmen
|
Hauptbenutzer (PowerUsers)
|
|
Administratoren, Hauptbenutzer
|
Kann lokale Resourcen im Netz freigeben
|
Gäste (Guests)
|
|
Administratoren, Hauptbenutzer
|
|
Sicherungs Operatoren (Backup Operators)
|
|
Administratoren
|
Datensicherung und Restore sämtlicher Resourcen mittels
NTBackup
|
Vordefinierte Gruppen im NT- Server
lokal/netz
|
Gruppe
|
Mitglieder
|
verwaltet von
|
Rechte
|
lokal
|
Administratoren (Administrators)
|
Domänen Admins, Administrator
|
Administratoren
|
Zugriff auf alle Sytemresourcen, kann jede Resource in Besitz
nehmen
|
lokal
|
Benutzer (Users)
|
Domänen Benutzer, Administrator
|
Administratoren, Konten Operatoren
|
Zugriff auf selbst erstellte Resourcen und Resourcen, auf die
Zugriff erteilt wurde
|
lokal
|
Gäste (Guests)
|
Domänen Gäste, Gast
|
Administratoren, Konten Operatoren
|
|
lokal
|
Server Operatoren (Server Operators)
|
|
Administratoren
|
Zugriff auf sämtliche lokalen Resourcen des Servers
|
lokal
|
Konten Operatoren (Account Operators)
|
|
Administratoren
|
Zugriff auf die Benutzer- und Gruppenkontenverwaltung
|
lokal
|
Sicherungs Operatoren (Backup Operators)
|
|
Administratoren
|
Datensicherung und Restore sämtlicher Resourcen mittels
NTBackup
|
lokal
|
Reproduktions Operatoren (Replicator)
|
|
Administratoren,
Konten Operatoren
|
Konfiguration und Steuerun der Verzeichnisreplikation in einer
Domäne
|
global
|
Domänen Admins
|
Administrator
|
Administratoren
|
Zugriff auf sämtliche Resourcen in der Domäne
|
global
|
Domänen Benutzer
|
Administrator
|
Administratoren, Konten Operatoren
|
|
global
|
Domänen Gäste
|
Gast
|
Administratoren, Konten Operatoren
|
|
Das
Rechtssystem in NT
Der Zugriff auf die Resourcen des Computersystems durch
angemeldete Benutzer wird durch ein Rechtssystem geregelt, welches
auf dem Grundsatz von Eigentum/Besitz an
Resourcen basiert. Ein Benutzer wird zum Besitzer einer Resource,
indem er sie erzeugt wie z.B. Dateien und Verzeichnisse. Oder er wird
durch Aufruf einer speziellen Betriebssystemfunktion zum Besitzer.
Als
Besitzer einer Resource kann ein Benutzer/Gruppe den Zugriff auf
diese durch einen andere Benutzer/Gruppen verbieten
(AccessDenied) oder gewähren (AccessAllowed).
Sicherheitsdeskriptoren
Zugriffsrechte für Resourcen werden in speziellen
Datensätzen, genannt Sicherheitsdeskriptoren
abgespeichert. Ein Sicherheitsdeskriptor besteht aus der SID des
Besitzers sowie eine Zugriffskontrolliste (ACL=
Access Control List). Die ACL wiederum besteht aus einzelnen
Datensetzen, genannt ACE's (Access Control Entries), die jeweils ein
spezielles Zugriffsrecht darstellen. Dazu speichert jeder ACE die SID
des Beutzers/der Gruppe, für die dieses Recht gilt, sowie
Attribute, die das Recht näher beschreiben.
Die ACE's sind in drei Klassen
eingeteilt:
AccessDenied: Verbietet dem
durch die SID repräsentierten Benutzer/Gruppe die durch weitere
Attribute bezeichneten Operationen mit der Resource
AccessAllowed: Erlaubt dem
durch die SID repräsentierten Benutzer/Gruppe die durch weiter
Attribute bezeichneten Operationen mit der Resource
SystemAudit:
Aktiviert die Überwachung der Zugriffe auf die Resource des
durch die SID repräsentierten Benutzer/Gruppe
In der ACL sind
die ACE's gemäß der Klassenzugehörigkeit sortiert:
Zuerst kommen die AccessDenied- Einträge, dann die
AccessAllowed- und schließlich die SystemAudit- Einträge.
Diese Reihenfolge ist von Bedeutung wie im Folgenden ersichtlich
wird.
Damit hat ein
Sicherheitsdeskriptor folgenden Aufbau:
<Sicherheitsdeskriptor> ::= <SID- Besitzer> <ACL>
<ACL> ::= [{<AccessDenied>}] [{<AccessAllowed}] [{SystemAudit}]
<ACE> ::= <SID, für die Recht gilt> {<Attribut- Zugriffsoperation>}
<AccessDenied> ::= <ACE>
<AccessAllowed> ::= <ACE>
<SystemAudit> ::= <ACE>
Sicherheitsdeskriptoren für Systemresourcen wie Drucker und
Netzwerkverbindungen werden in Systemdateien gespeichert (Registry).
Um auch für Dateien und Verzeichnisse Sicherheitsdeskriptoren
anlegen zu können, muss das Dateisystem NTFS installiert sein.
Nur NTFS speichert einen Sicherheitsdeskriptor zu jedem einzelnen
Dateisystemobjekt mit ab.
Automatische Überwachung der Zugriffsberechtigungen durch
Windows NT
Ein Benutzer möchte z.B. die Datei GEHALT.XLS in einer Excel-
Sitzung öffnen. In Excel kann die Datei eingesehen und verändert
werden. Das Öffnen in Excel stellt damit einen
Lese/Schreibzugriff auf die Datei GEHALT.XLS dar. Excel erzeugt als
erstes einen speziellen Datensatz, in dem der gewünschte Lese-
und Schreibzugriff durch jeweils ein Attribut für jede Operation
(z.B. R für Lesen und W für Schreiben) dargestellt wird.
Dieser Datensatz wird als Zugriffsmaske bezeichnet. Die
Zugriffsmaske wird mit dem Sicherheitstoken, das die
Sicherheitsautorität für den Benutzer beim Login angelegt
hat, an den die Betriebssystemfunktion zum Öffnen von Datein
übergeben (Open(...)).
NT schaltet jetzt in den Kernelmode um,
und übergibt Sicherheitstoken + Zugriffsmaske an den
Sicherheitsmonitor. Dieser liest den Sicherheitsdeskriptor der Datei
GEHALT.XLS und prüft als erstes, ob die eine SID aus dem
Sicherheitstoken der SID des Besitzers aus dem Sicherheitsdeskriptor
entspricht. Wenn ja, dann wird der Zugriff gewährt, und die
Open(...) Funktion kann fortgesetzt werden.
Sicherheitstoken: <user=“Fred“ user-sid=“4711“ guppe-sid=“0815“ gruppe-sid=“1234“>
Zugriffsmaske : <op=“R“ op=“W“>
ACL von GEHALT.XLS:
<ACL besitzer-sid=“6789“>
<AccessDenied sid=“3302“ op=“R“>
<AccessDenied sid=“9922“ op=“R“ op=“W“>
<AccessAllowed sid=“0815“ op=“R“>
<AccessAllowed sid=“4711“ op=“R“ op=“W“>
</ACL>
Die Datei GEHALT.XLS kann vom Benutzer Fred mit Excel geöffnet werden, da der letzte
AccessAllowed Eintrag dies für die SID von Fred explizit ermöglicht.
ACL von UMSATZ.XLS:
<ACL besitzer-sid=“6789“>
<AccessDenied sid=“0815“ op=“W“>
<AccessDenied sid=“9922“ op=“R“ op=“W“>
<AccessAllowed sid=“4711“ op=“R“ op=“W“>
</ACL>
Die Datei UMSATZ.XLS kann vom Benutzer Fred nicht mit Excel geöffnet werden, da Fred
laut Zugriffstoken zu einer Gruppe mit der SID 0815 gehört, und für diese Gruppe ist
gemäß dem ersten ACE der Schreibzugriff verboten.
Im anderen Fall wird die ACL von oben nach unten Eintrag für
Eintrag (ACE) mit der Zugriffsmaske verglichen. Zuerst kommen die
AccessDenied Eintrage. Stimmt eine SID aus dem Sicherheitstoken mit
der SID im ACE-, und midestens ein Zugriffsattribut aus der
Zugriffsmaske mit einem Attribut im ACE überein, dann wird der
Zugriff abgelehnt. Die Open(...) - Funktion endet vorzeitig mit einer
Fehlermeldung.
Nach den AccessDenied- Einträgen
kommen die AccessAllowed- Einträge an die Reihe. Stimmt eine SID
aus dem Sicherheitstoken mit der SID im ACE, und alle Attribute aus
der Zugriffsmaske mit den Attributen im ACE überein, dann wird
der Zugriff gewährt, und die Open(...) Funktion wird
fortgesetzt.
Dadurch, daß AccessDenied-
Einträge vor AccessAllowed- Einträgen überprüft
werden, und bei Übereinstimmung zur Zugriffsverweigerung führen,
haben Verbote Vorrang vor Berechtigungen.
Regulieren der Benutzung im Netzwerk: NT- Domänen
Erschöpfende Infos zu diesem Thema gibt es unter:
http://winnt.thema-compact.de/dv/dom/windows-nt.html
Ü1: Arbeitsstation der Domäne hinzufügen
Ü2: Neuen Domänebenutzer anlegen
Ü3: Globale Gruppe anlegen
Ü4: Benutzerprofile erstellen und Verwalten
S. 43 ff
Ü4.1: Veränderliches Benutzerprofil mit individueller
Startleiste
Ü4.2: Veränderliches Benutzerprofil mit
Basisverzeichnis
Ü4.3: Veränderliches Benutzerprofil mit Abgeschalteter
Systemsteuerung- Einschränkung durch Systemrichtlinien
Ü4.4: Verbindliches Benutzerprofil wie Ü4.3 anlegen
S. 44 ff
Ü4.4: Individuelles Benutzerprofil von Arbeitsstation auf
Server kopieren
S. 44 ff
Ü5: Replikation
Ü5.1: Replikation von PDC auf BDC
Ü5.2: BDC zum PDC hochstufen
Ü5.3: Alten PDC wieder in Domäne integrieren
Ü5.4: Verzeichnisreplikation: Benutzerprofile von PDC auf
BDC