Einführung in Betriebssystemevon Prof. Jürgen Plate |
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:
Das Paßwort ist der kritische Punkt in jeder Benutzerauthentisierung. Man hat deshalb die Sicherheit von Paßwortprüfungen ständig verbessert.
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:
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.
Die zentrale Benutzerverwaltung kann man in zwei Gruppen einteilen:
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:
Die seriellen Schnittstellen, an denen Modems angeschlossen sind, werden der Gruppe "Modem" zugeordnet. Um Benutzern den Zugriff auf die Modems zu gestatten, muß der Systemverwalter nur diese Benutzer der Gruppe "Modem" zuordnen.
Bei einigen Betriebssystemen werden die Zugriffsrechte noch verfeinert, so läßt sich beispielsweise die Schreiberlaubnis noch weiter unterteilen:
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 |
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.:
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).
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 |