Einführung in Betriebssysteme


von Prof. Jürgen Plate

5 Benutzerverwaltung

5.1 Benutzer-Zugang

In Mehrbenutzersystemen ist es üblich, jedem Einzelbenutzer eine fest eingegrenzte Arbeitsumgebung zu bieten, die ihn von anderen Benutzern abschirmt:

Bei besonders kritischer Rechnerumgebung kann es sogar wünschenswert erscheinen, daß sich die Benutzer beim Aufruf bestimmter Programme nochmals identifizieren müssen.
Die o. g. Schutzmaßnahmen sind ins BS integriert (z. B. Prozeß-Schutz oder Dateischutz). Die Benutzeridentifikation wird durch ein eigenes Login-Programm vollzogen.
Spezielle Geräte erfordern besondere Schutzmaßnahmen; so ist es inzwischen üblich, bei Benutzern, die sich über einen Modem (also per Telefon) anmelden, diesen nicht sofort Zugang zum Rechner zu gewähren, sondern den Anschluß des Benutzers vom Rechner aus zurückzurufen. Zusätzliche Aufgaben der Benutzerverwaltung betreffen Abrechnungsinformationen:

Derartige Informationen werden in bestimmten Dateien des Betriebssystems protokolliert (sogenammte 'Logfiles'), deren Information statistisch ausgewertet werden kann.

Arten der Autorisierung

Das Paßwort ist der kritische Punkt in jeder Benutzerauthentisierung. Man hat deshalb die Sicherheit von Paßwortprüfungen ständig verbessert.

  1. Paßworte werden einwegverschlüsselt gespeichert. Sie sind nicht entschlüsselbar. Die Prüfung erfolgt durch Einwegverschlüsselung der Tastatureingabe und Vergleich der beiden einwegverschlüsselten Bitmuster.
  2. Paßworte müssen eine definierte Mindest- und Maximallänge haben.
  3. In einer Liste festgelegte Worte oder Wortbestandteile dürfen nicht verwendet werden, um leicht zu erratende "weiche" Paßworte wie "System", "Test" usw. zu verhindern.
  4. Paßworte müssen nach Ablauf einer definierten Frist geändert werden.
  5. Paßworte dürfen nicht oder erst nach n-maliger Änderung wieder benutzt werden.

Trotzdem ist das Paßwort in Verruf geraten, weil seine Sicherheit ausschließlich vom sorgfältigen Umgang des Benutzers abhängt. Befragungen von Computerbenutzern haben immer wieder ergeben, daß sie das Paßwort nur allzu sorglos behandeln.
Eine vernünftige Paßwortpolitik trägt in sehr wesentlichem Maße zur Sicherheit bei. Dies setzt voraus, daß die Benutzer die Bedeutung von Paßwörtern und deren Verwendung respektieren. Es gibt jedoch von Unternehmen zu Unternehmen und von Mitarbeiter zu Mitarbeiter große Unterschiede im Grad der Paßwortdisziplin. Die wenigsten Mitarbeiter würden auch nur davon träumen, die ID-Karte ihrer Firma irgendwo liegenzulassen, wohingegen dieselbe Person weit größere Nachlässigkeit im Zusammenhang mit der Wahl oder Weitergabe von Paßwörtern zeigt. Nutzlose Paßwörter, wie z. B. der Vorname des Benutzers oder gleich die Benutzer-ID, kommen auch häufig vor.
Damit die Paßwörter effektiv angewendet werden, ist es notwendig, eine Reihe von Richtlinien in Form einer entsprechenden Paßwortpolitik festzulegen. Die Paßwortpolitk des lokalen Netzes sollte Richtlinien für folgende Punkte enthalten:

Im Gegensatz zu einem physischen Gegenstand, wie z. B. ein Schlüssel, dessen Verlust man bemerkt, kann ein Paßwort entschlüsselt werden, ohne daß sich der Benutzer dessen unmittelbar bewußt wird. Dagegen hilft nur die zeitliche Begrenzung des Gültigkeitszeitraums von Paßwörtern. Die Regel sollte streng gehandhabt werden, d. h. Sperrung von Benutzer-IDs, die es unterlassen, ihr Paßwort zu ändern. Müssen Paßwörter zu häufig aktualisiert werden, tendieren die Benutzer dazu, Paßwörter aufzuschreiben. Bei 30-tägiger Paßwortlebensdauer neigen viele Benutzer dazu, den Monatsnamen als Paßwort zu verwenden. Benutzer-ID und Paßwort dürfen nie von mehreren Benutzern gleichzeitig verwendet werden. Paßwörter müssen streng vertraulich und persönlich sein. Ein Benutzer darf unter keinen Umständen sein Paßwort an andere weitergeben.

Die Paßwortpolitik des Netzes sollte aus den Benutzungsrichtlinien deutlich hervorgehen und konsequent gehandhabt werden. Eine starke Authentisierung, wie sie zunehmend gefordert wird, kann jedoch nicht mehr auf dem Paßwort basieren. Sie kann beispielsweise auf dem "Challenge-Response"-Prinzip beruhen. Voraussetzung hierfür ist neben der Software ein sogenannter Token, ein spezieller Taschenrechner im Kreditkartenformat mit Tastatur, Verschlüsselungsprozessor und persönlichem Schlüssel (z.B. die SecureID-Card). Zunächst muß sich der Benutzer des Tokens durch Eingabe seiner PIN als berechtigter Besitzer ausweisen. Wenn der Benutzer sich am Computersystem anmelden möchte, generiert dieser eine Zufallszahl (Challenge), die am Bildschirm erscheint. Der Benutzer tippt die Challenge in seinen Token ein, der durch Verschlüsselung die Antwort (Response) ermittelt. Diese wiederum wird als Paßwort in die Computertastatur eingegeben und vom Computersystem verifiziert. Manche Tokens, wie z.B. SecureID, generieren die Zufallszahl zeitabhängig selbst, so daß eine Eingabe entfällt. Challenge-Response hat folgende Vorteile:

  1. Ein Paßwort besteht immer nur für eine Sitzung. Ein Hacker, der das Paßwort abfangen würde, könnte damit nichts anfangen, weil bei der nächsten Anmeldung ein neues Paßwort generiert wird.
  2. Es wird das Prinzip "Besitz und Wissen" angewendet. Ein Benutzer muß über einen Token verfügen und die richtige PIN kennen. Ein verlorener Token ist für den Finder solange wertlos, solange die PIN unbekannt bleibt.

Die Verwendung von SmartCards als Token anstelle des speziellen Rechners macht die starke Authentisierung benutzerfreundlicher und sehr sicher. Das Verfahren ist ähnlich, läuft aber im wesentlichen automatisch ab. Die einzige Aktion des Benutzers besteht aus seiner Authentisierung gegenüber der SmartCard durch Eingabe einer PIN oder durch ein biometrisches Merkmal. Danach fordert der Host die SmartCard durch Übermittlung einer Random-Zahl heraus (Challenge). Die SmartCard errechnet die Antwort und sendet sie an den Host zurück, der sie verifiziert (Response). Nachdem die Anwendung von SmartCards nicht mehr so teuer ist, hat sie nur noch Vorteile gegenüber den auf Taschenrechnem basierenden Tokens.

Möglichkeiten der Benutzerverwaltung im Netzwerk

Die einfachste Möglichkeit stellt die Arbeitsgruppe dar, wie sie beispielsweise bei Windows 95/98/ME oder MacOS zu finden ist. Es gibt keine zentrale Benutzerverwaltung. Der Verwaltungsaufwand ist gering, aber nur für wenige Benutzer und Rechner geeignet ('Wohngemeinschafts-Netz'). Bei größeren Systemen greift man zum 'Domänen-Service', wie er beim Windows NT/2000 Server (mit Domain Controler) oder bei NIS, NIS+ (Network Informationen Services, zuerst bei UNIX verwendet), NDS (Network Directory Services von Novell) und LDAP (Lightweight Directory Access Protocol, eine vereinfachte und für das TCP/IP-Protokoll angepaßte Version des X.500 Protokolls). Die Benutzerverwaltung erfolgt zentral für alle Rechner. Das System ist übersichtlich, leichter zu warten und bietet hohe Sicherheit im Betrieb und Kontrolle. Nachteil: Benutzung ist von zentralen Komponenten abhängig.

Die zentrale Benutzerverwaltung kann man in zwei Gruppen einteilen:

5.2 Datei-Zugriffsschutz

Der Dateieintrag im Verzeichnis wird um einen Schutzeintrag erweitert, das die Zugriffsrechte festlegt. Diese Rechte können je nach System feiner oder gröber gestaffelt sein. Am einfachsten ist die Vergabe von Lese- oder Schreibrecht für alle Benutzer. Die Zugriffsrechte selbst lassen sich weiter unterteilen und auch für verschiedene Benutzer unterschiedlich gestalten - bis hin zur Zuteilung dedizierter Rechte an einen oder mehrere bestimmten Benutzer.

Einen Mittelweg beschreitet UNIX, das hier als einfaches Beispiel dienen soll. Für eine Datei gibt es unter UNIX drei Zugriffsarten:

Da es durchaus möglich sein sollte, anderen Benutzern das Lesen (nicht aber das Schreiben) einer Datei zu gestatten; es u. U. auch Dateien mit wichtigen Informationen gibt, die man vor eigenen Fehlern schützen will, gibt es drei Gruppen der Zugriffsberechtigung:

Es ergeben sich also neun Zugriffsrechte:

Die im Bild links angegebenen weiteren drei Zugriffsrechte dienen besonderen Aufgaben. Ein Benutzer kann durchaus mehreren Arbeitsgruppen angehören. Durch die Zuordnung von Gerätedateien zu bestimmten Gruppen, kann man die Verwendung der Geräte auf eine bestimmte Gruppe von Programmen beschränken. Beispiele:

Bei einigen Betriebssystemen werden die Zugriffsrechte noch verfeinert, so läßt sich beispielsweise die Schreiberlaubnis noch weiter unterteilen:

Rechte und Attribute auf Dateien im Vergleich

Attribut/Recht Windows NT/2000 Unix Netware
Lesen R r R
Schreiben W w W
Löschen D w E
Ausführen X x X
Rechte setzen P w (Verzeichnis) A
Besitzer ändern O w (Verzeichnis) A
Attribute ändern W w (Verzeichnis) M
Super-Rechte   root-User S

Rechte und Attribute auf Verzeichnisse

Attribut/Recht Windows NT/2000 Unix Netware
Schreiben W w W
Löschen D w E
Verzeichnis anzeigen X x F
Rechte setzen P w A
Besitzer ändern O w A
Attribute ändern W w M
Super-Rechte û root-User S
Dateien anlegen C w C

Anmerkungen: Unter Windows NT/2000 können mit jeder Freigabe (Share) allgemeine rechte für Benutzer und Gruppen eingestellt werden. Dies ist eine Art von "Ersatz" für die fehlende Vererbung. Das "x" unter Unix kennzeichnet ausführbare Dateien. Die Nameserweiterung ist bei UNIX vollkommen egal. Das "X" unter Windows NT/2000 und Netware ist ein 'eXecute only'-Attribut. Unter Unix gibt es noch die Attribute "l" für symbolischeLinks (Zeiger auf eine andere Datei, 'Verknüpfung'), "s" beim Eingentümer für SUID (Ausführbare Dateien behalten die User-ID des Dateieigentümers, denn normalerweise laufen alle Programme unter der User-ID des Aufrufenden.) und "s" bei der Gruppe für SGID (Bei Dateien wie SUID, jedoch gruppenbezogen, bei Verzeichnissen wird die Gruppenzugehörigkeit neuer Dateien automatisch auf die des Verzeichnisses gesetzt).

Die Dateifreigabe erfolgt mit den jeweiligen Kommandos des Betriebssystems. Bei UNIX ist dies meist das Shell-Kommando 'chmod' (Change Modus), mit dem für Dateien, Verzeichnisse oder ganze Verzeichnisbäume die Zugriffsrechte gesetzt werden können. Die Zuordnung der Datenen und Verzeichnisse zu bestimmten Benutzern und Gruppen erfolgt über die Kommandos 'chown' (Change Owner) und 'chgrp' (Change Group), die aber nur vom Superuser 'root' verwendet werden können.

Bei Windows 95/98 können Sie Ordner und Drucker freigeben, indem Sie mit der rechten Maustaste darauf klicken und Freigabe auswählen. Dabei ist es möglich, nur Lese- oder Lese- und Schreibzugriff zu gestatten und dafür jeweils Paßwörter einsetzen. Die Option Freigabe auf Benutzerebene kann nur in Verbindung mit einem Windows NT- oder Windows 2000-Server verwendet werden. Die Freigabe der Ordner und Drucker erfolgt ebenfalls durch unter 'Freigabe' im jeweiligen Kontextmenü (rechte Maustaste). Bei NTFS-Laufwerken Windows NT/2000) können Sie detaillierte Rechte für das Verzeichnis, alle Unterverzeichnisse oder auch einzelne Dateien vergeben. Im Kontextmenü unter Sicherheit-Berechtigungen legen Sie fest, welche Benutzer welche Aktionen ausführen dürfen. Sind Windows 95/98-Rechner im Netzwerk aktiv, dürfen Sie für die Freigabenamen nicht mehr als zwölf Zeichen verwenden. Ansonsten erscheint die Freigabe auf diesen Rechnern nicht. Windows NT/2000 versucht zunächst, Sie mit dem Benutzernamen und Kennwort anzumelden, das Sie bei der Windows-Anmeldung verwendet haben. Ist damit keine Anmeldung möglich, können Sie Kenn- und Paßwort neu eingeben. Datei- und Druckerfreigaben sollten immer mit Paßwort geschützt werden.

Viele Betriebssysteme kennen weitere Einschrängungen, z. B.:

5.3 Verteile Dateisysteme (Beispiel NFS)

Das Network File System (NFS) ist ein verteiltes Dateisystem, das transparenten Zugriff auf die Festplatten eines fernen Rechners bietet. Für den Benutzer unterscheiden sich ferne über NFS eingehängte Dateisysteme nicht von lokalen Dateisystemen. NFS stellt eine Client/Server-Beziehung zwischen den beteiligten Rechnern her. Der NFS-Server stellt Dateisysteme im Netz zur Verfügung, die ein NFS-Client mit Hilfe des mount-Protokolls in sein lokales Dateisystem einhängen kann. Auch wenn das NFS-Protokoll seinen Ursprung in der Unix-Welt hat, ist es auf Portabilität zwischen verschiedenen Rechnerarchitekturen, Betriebssystemen und Netzwerkarchitekturen ausgelegt. Als offener Standard für die Nutzung zentraler Dateisysteme ist NFS in heterogenen Netzen oft eine bessere Lösung als proprietäre Protokolle. NFS betrachtet immer nur Komponenten eines Pfades, nie den kompletten Pfad auf einmal. Der Grund ist, daß verschiedene Betriebssysteme verschiedene Darstellungsformen für Pfade haben. Die Auflösung von Pfadnamen in die Komponenten erfolgt clientseitig.

Ziel der Entwicklung von NFS war ein zustandsloses Protokoll. Der Server braucht keine Informationen über die Zustände seiner Clients zu speichern. Zustandslose Server haben im Fehlerfall einen entscheidenden Vorteil gegenüber zustandsbehafteten Servern, da nach einem Neustart keine Zustände wiederhergestellt werden müssen. Ein Client braucht seine Anfrage nur solange wiederholen, bis der Server antwortet. Wenn der Server kurzzeitig nicht erreichbar ist, kann die Clientanfrage, sobald der Server wieder läuft, bearbeitet werden. Bei zustands-behafteten Protokollen hätte der Client dagegen nach dem Serverneustart dessen Zustand wieder aufbauen müssen (z.B neue Anmeldung) oder die Operation abbrechen müssen. Dies ermöglicht sehr einfache Serverimplementierungen ohne komplizierte Fehlerbehandlung. Einige Datei- und Verzeichnisoperationen, z.B. das exklusive Öffnen von Dateien (locking), sind jedoch zustandsbehaftet. Deshalb werden diese nicht im NFS-Server, sondern als separate Dienste (z.B. der Network Lock Manager für das Sperren von Dateien) implementiert.

Zum Nutzen entfernter Dateisysteme müssen diese zuerst lokal bekanntgemacht werden. Dies geschieht mit Hilfe des Mount-Protokolls. Man spricht vom Mounten oder Einhängen der entfernten Dateisysteme. Das Mount-Protokoll ist strenggenommen nicht Teil des NFS-Protokolls, wird aber für dessen korrekte Funktionsweise benötigt.Der Client kann eine Anfrage nach einer Serverfreigabe an den Mount-Server stellen. Dieser liefert, falls diese Freigabe exisitiert und der Client das Zugriffsrecht besitzt, ein Handle zurück. Mit Hilfe dieses Starthandles kann der Client das entfernte Dateisystem per NFS durchsuchen. Der Mount-Server ist ein zustandsbehafteter Server. Er verwaltet eine Liste aller Clients mit gemounteten Dateisystemen. Diese Liste ist jedoch für die korrekte Funktionsweise nicht nötig, sie wird nur für Nachrichten an die Clients genutzt (z.B. vor dem Herunterfahren des Servers).

5.4 Remote-Zugang

Der Zugang zum Netz über Wählleitungen (analoges Telefon, ISDN, xDSL) erfolgt normalerweise über einen oder mehrere Remote Access Server (RAS), in Einzelfällen auch üner einen Rechner mit angeschlossenem Modem, ISDN-Karte oder xDSL-Anschluß. Deren Aufgabe ist es, ankommende digitale oder analoge Anrufe entgegenzunehmen, eine Benutzerauthorisierung durchzuführen und, falls diese erfolgreich war, die Verbindung des anrufenden Rechners mit dem internen Datennetz freizugeben. Der ferne Rechner verhält sich dann so, als ob er direkt am Datennetz angeschlossen wäre. Als Übertragungsprotokoll wird in der Regel PPP (Point to Point Protokoll, erlaubt IP- und IPX-Verbindungen), SLIP (Serial Line Internet Protokoll, veraltet, nur für IP-Verbindungen) und ggf. ARAv2 (Apple Remote Access Version 2) angeboten.

Ein spezieller Terminalserver-Modus gestattet es, sich mit einem normalen Terminalprogramm (z.B. Hyperterminal, Kermit, usw.) auf dem Access Server anzumelden und von dort aus Telnetverbindungen aufzubauen. IP Adressen werden normalerweise aus einem IP Adresspool vergeben. Oft werden auch virtuelle Verbindungen unterstützt. Diese erlauben den physikalischen Abbau von Verbindungen, wenn gerade keine Daten übertragen werden, ohne daß die logische Verbindung verloren geht. Die Verbindung wird automatisch mit den gleichen Parametern wie vorher wieder aufgebaut, wenn Daten wieder übertragen werden müssen. Für die standardisierte Authentifizierung am Modem- und am Internetzugang setzt sich zunehmend das RADIUS-Protokoll (Remote Authentication and Dial-In User Service) durch. Seine Client-Proxy-Server-Architektur erlaubt die flexible Positionierung an Netzzugangspunkten und wird von fast allen Herstellern von Modemservern unterstützt. In Kombination mit DHCP und PPP ist die Aufgabe der Konfiguration der anwählenden Endsysteme in automatisierter Weise gelöst. Der Radius-Server ist ein zentraler Authentifizierungs-Server, an den sich alle RAS-Server wenden. Auf diese Weise lassen sich unabhängig von der Netz-Infrastruktur alle Remote-User zentral verwalten und Benutzerprofile mit Zugangsrestriktionen definieren, aber auch zusätzliche Sicherheitsverfahren vorsehen. Beispielsweise kann festgelegt werden, dass der Nutzer nur nach einem Rückruf durch den Einwahlknoten an eine zuvor vereinbarte Rufnummer Zugriff auf das Unternehmensnetzwerk bekommen darf. Diese Informationen übergibt der Radius-Server an den RA-Server, der das weitere Login entsprechend koordiniert. Der Vorteil dieses Verfahrens liegt in den einmalig generierten Zugangsdaten der Nutzer, die auch in verteilten Netzwerken jederzeit aktuell verfügbar sind und mit einfachen administrativen Eingriffen an zentraler Stelle definiert und verändert werden können. Darüber hinaus ist die innerbetriebliche Abrechnung der Nutzung des Systems durch ein entsprechendes Accounting möglich.

Das Radius-Protokoll setzt auf UDP auf. Die Struktur eines Radius-Pakets ist ausgesprochen einfach. Es besteht aus fünf grundlegenden Elementen:einem Radius-Code, einem Identifier, einer Angabe zur Paketlänge, einem Authenticator und gegebenenfalls aus einer Reihe von Attributen. Der Radius-Code beschreibt die Aufgabe des Datenpakets. Die Codes 1, 2 und 3 verwalten den reinen Access vom Request bis zur Bestätigung oder Abweisung. Die Codes 4 und 5 dienen dem Accounting. Der Identifier ist acht Bit lang und dient der Zuordnung von Anfragen und Antworten. Das sicherheitstechnisch wichtigste Feld eines Radius-Rahmens ist der Authenticator, der eine Länge von 16 Oktetts beziehungsweise vier 32-Bit-Worten hat. Dabei wird zwischen dem Request Authenticator und dem Response Authenticator unterschieden. Inhalt des Request Authenticators ist eine Zufallszahl, die das gesamte Feld ausfüllt. Die Länge dieser Zufallszahl gewährleistet mit einer sehr hohen Wahrscheinlichkeit die Einmaligkeit dieses Wertes. Damit bietet das System einen gewissen Schutz vor Hackerattacken. Mit dem Versand des Request Authenticators werden die Zugangsdaten des Nutzers, der sich im gesicherten Netzwerk anmelden möchte, als Attribute übergeben. Der Radius-Server wird diese Anfrage entweder mit einer Access-Accept-, Access-Reject- oder Access-Challenge-Nachricht beantworten, die ihrerseits mit einem 16 Oktett langen Response Authenticator versehen ist. Dieser ist ein MD5-Hash-Fingerprint setzt sich zusammen aus dem empfangenen Radius-Paket einschließlich der Attribute sowie den geheimen Zugangsdaten, die auf dem Server abgelegt sind, zusammensetzt. Die Attribute eines Radius-Pakets beinhalten alle wichtigen Informationen, die zwischen dem RAS und dem Radius-Server ausgetauscht werden müssen. Aufgrund dieser Werte wird dann der Benutzer vom RAS akzeptiert oder zurückgewiesen.

Der Remote angemeldete Benutzer kann nach der Authentisierung auf alle Serverdienste innerhalb des Firmennetzes zugreifen. Problematisch wird es, wenn auch ein administrativer Zugriff auf die Server erfolgen soll. Bei Servern auf UNIX- oder Linux-Basis ist der Zugang über Telnet möglich. Der Administrator hat dann ein Terminal-Fenster mit textbasiertem Dialog auf seinem lokalen Rechner und kann per Kommandozeilen alle Aufgaben erledigt. Da beim Telnet-Protokoll alle Informationen im Klartext übertragen werden, ist es auf jeden Fall ratsam, statt Telnet die 'Secure Shell' (SSH) zu verwenden, bei der alle Datendialoge verschlüsselt erfolgen. Ist der Rechner des Administrators mit einer grafischen Oberfläche (X Window System) ausgestattet, können die Arbeiten des Administrators auch grafisch erfolgen.

Bei Windows-Servern ist die Fernadministration schon schwieriger. Bei Windows NT ist man auf Fernwartungs-Programme wie "Pcanywhere" von Symantec oder das kostenlose Hackertool "BackOrifice" (http://www.cultdeadcow.com/tools/bo.html) angewiesen. Die Installation von Windows 2000 ist in bezug auf Kommandozeilen-Utilities für die Remote-Administration etwas mangelhaft. Unter Windows 2000 wurde für die Fernadministration von Servern ein Remoteverwaltungstool entwickelt, der in den Termenial-Server Diensten integriert wurde. Bei Windows 2000 wurden zum Unterschied zu Windows NT die Terminalserverdienste schon integriert. Der Terminaldienst kann in zwei Betriebsmodi installiert werden, im "Remoteverwaltungsmodus" oder im "Anwendungsmodus".

Auch der Telnetserver kann zur Fernadministration benutzt werden. Unter Windows NT gab es nur einen Telnet-Client und der Telnet-Server mußte aus dem Resource-Kit oder anderen Tools genommen werden. Windows 2000 liefert nun auch einen Terminal-Server mit, welcher automatisch mit installiert wird, aber noch als Dienst aktiviert werden muß. Der Telnetserver bietet aber nur eine Befehlszeile, wogegen beim Terminalserver auch die grafischen Administrationstools benutzen werden können.

Zum vorhergehenden Abschnitt Zum Inhaltsverzeichnis Zum nächsten Abschnitt


Copyright © FH München, FB 04, Prof. Jürgen Plate