Microsoft Home Microsoft Home
Resource-Kit für Microsoft FrontPage-Servererweiterungen-Logo  Resource-Kit für Microsoft FrontPage 2000-Servererweiterungen

Sicherheit unter UNIX


 1 von 10     Das UNIX-Sicherheitsmodell

Die meisten UNIX-Webserver verwalten eine Liste der Benutzer, die berechtigt sind, den Webserver zu verwenden. Diese Zugriffsdatei wird von dem Webserver verwaltet und ist vollständig von der Liste der Benutzer und Gruppen getrennt, die sich interaktiv am Computer anmelden können.

   

Viele Webserver, die unter Microsoft® Windows® 95/98 und Microsoft® Windows NT® laufen, verwenden ebenfalls das UNIX-Sicherheitsmodell. Dazu zählen folgende Webserver, für die die Microsoft® FrontPage®-Servererweiterungen verfügbar sind: FrontPage Personal Web Server, Netscape FastTrack, Netscape Enterprise, Netscape Communications, Netscape Commerce und O'Reilly WebSite. Die vorliegende Beschreibung des UNIX-Sicherheitsmodells gilt ebenfalls für diese Server.

   

Die Zugriffsdatei eines Webservers enthält neben Namen und Kennwörtern für alle Benutzer sowie detaillierten Informationen über den Inhalt auch CGI-Skripts (Common Gateway Interface) und andere Ressourcen, auf die jeder Benutzer zugreifen darf. Bei Apache- und NCSA-Webservern heisst diese Datei .htaccess, bei Netscape-Servern .nsconfig. Die Zugriffsdatei ordnet Benutzer, Gruppen und IP-Adressen verschiedenen Berechtigungsstufen zu: GET (lesen), POST (ausführen), PUT (schreiben) und DELETE (löschen). Ein Autor, der FrontPage verwendet, würde beispielsweise über die Berechtigung verfügen, HTTP POST-Befehle zu verwenden (um auf die FrontPage-Servererweiterungen zuzugreifen und neue Inhalte zu speichern), und ein Sitebesucher mit Berechtigung zum Lesezugriff dürfte HTTP GET-Befehle verwenden (um den Inhalt zu lesen). Die Listen, die die Mitglieder der einzelnen Gruppen (zum Beispiel: Autoren) definieren, sind in getrennten Dateien festgelegt, auf die von der Zugriffsdatei verwiesen wird.

Auf einem Webserver sind oftmals mehrere Zugriffsdateien gespeichert. Jede Zugriffsdatei bietet Sicherheit sowohl für das Verzeichnis, in dem sie enthalten ist, als auch für alle Unterverzeichnisse dieses Verzeichnisses, die keine eigenen Zugriffsdateien enthalten. Indem für den gesamten Inhalt eines Webservers Zugriffsdateien erstellt werden, können unterschiedlichen Benutzergruppen unterschiedliche Berechtigungsstufen für die verschiedenen Bereiche des Servers erteilt werden.

Für den Zugriff auf das Dateisystem des Hostcomputers und zum Ausführen von Skripts und Programmen auf dem Hostcomputer wird der Webserver als UNIX-Konto ausgeführt (normalerweise "www."). Da der Webserver unter einem UNIX-Konto ausgeführt wird, müssen alle ausgeführten Prozesse und alle Dateien, auf die ein Zugriff erfolgt, mit den Berechtigungen des betreffenden UNIX-Kontos verfügbar sein. Dies kann in einer Multihostingumgebung zu Sicherheitsproblemen führen, da ein CGI-Skript eines Benutzers auf dem Server unter Umständen Dateien im Inhaltsbereich eines anderen Benutzers lesen kann. Dieses Problem wird vergrößert, wenn Schreibzugriff unterstützt wird, wie dies beim FrontPage-Client der Fall ist. Wenn ein CGI-Skript eines Benutzers über ausreichende Berechtigungen für den Schreibzugriff im eigenen Inhaltsbereich des Benutzers verfügt, kann das CGI-Skript Dateien in den Inhaltsbereichen anderer Benutzer ändern oder überschreiben.

Um dieses Sicherheitsproblem (das bei allen CGI-Skripts, darunter auch die FrontPage-Servererweiterungen, auftritt) zu umgehen, können Sie das SUID-Bit (Set User ID) der Ausführungsberechtigungen eines CGI-Skripts setzen. Dies zwingt den Webserver und den erstellten Inhalt, zu dem UNIX-Benutzerkonto des Besitzers des CGI-Skriptprozesses zu wechseln, wenn das Skript ausgeführt wird. Da das Skript in einem Inhaltsbereich gespeichert ist und das Konto des Inhaltsbesitzers sehr wahrscheinlich nicht berechtigt ist, in die Inhaltsbereiche anderer Benutzer zu schreiben, schützt das Setzen des SUID-Bits gegen das unberechtigte Schreiben von Dateien. Mithilfe der Verwaltungstools der FrontPage-Servererweiterungen können Sie festlegen, dass die ausführbaren Dateien der FrontPage-Servererweiterungen in jedem Inhaltsbereich die Benutzer-ID festlegen.

Bei der UNIX-Webserverauthentifizierung erfolgt der Zugriff eines Sitebesuchers auf eine Seite des Webservers wie folgt:

  1. Der Webserver empfängt eine HTTP GET-Anforderung mit einem Benutzernamen und -kennwort.
  2. Der Webserver überprüft die Berechtigungen des Benutzers in der entsprechenden Zugriffsdatei.

    Falls die GET-Anforderung mit den Anmeldeinformationen des Benutzers nicht ausgeführt werden kann, gibt der Webserver einen 401-Fehler zurück und kennzeichnet so, dass der Benutzer nicht berechtigt ist. Der Webbrowser fordert dann einen neuen Namen und ein neues Kennwort an und sendet die Anforderung erneut.

  3. Nach der Authentifizierung des Benutzers versucht der Webserver, den Inhalt aus dem UNIX-Dateisystem zu holen. Wenn das Dateisystem dem Webserver einen Zugriff auf den Inhalt erlaubt, wird dieser per HTTP an den Webbrowser gesendet.

   

UNIX-Authentifizierung

   

POST-Anforderungen werden auf vergleichbare Weise bearbeitet. Wenn ein Webserver eine HTTP POST-Anforderung empfängt, beispielsweise wenn ein FrontPage-Autor eine Anforderung an die FrontPage-Servererweiterungen sendet, überprüft der Webserver die Berechtigungen des Benutzers in der entsprechenden Zugriffsdatei. Sobald der Benutzer authentifiziert ist, versucht der Webserver, das in der POST-Anforderung angeforderte Programm auszuführen. Wenn das SUID-Bit des Programms gesetzt ist, wird der Prozess unter dem UNIX-Benutzerkonto des Dateibesitzers ausgeführt. Andernfalls wird der Prozess unter dem UNIX-Konto des Webservers ausgeführt.

Die Authentifizierung von Clientprogrammen erfolgt bei UNIX-Webservern normalerweise mithilfe der Standardauthentifizierung. Wenn der Server die Standardauthentifizierung verwendet, fordert der Webbrowser (bzw. der FrontPage-Client) den Benutzer auf, Benutzername und Kennwort einzugeben. Benutzername und Kennwort werden anschließend unverschlüsselt übertragen. (Einige Webserver verwenden eine Verschlüsselungstechnik, die als MD5 bezeichnet wird. FrontPage unterstützt diese Methode jedoch nicht.)

FrontPage verwendet die Standardauthentifizierung, da es sich dabei um das einzige Authentifizierungsverfahren handelt, das mit allen Firewalls und Proxyserver funktioniert. Da bei der Standardauthentifizierung Kennwörter in einem leicht dekodierbaren Format über das Netzwerk übertragen werden, können Spione im Netzwerk auf einfache Weise Kennwörter ausspionieren, die in dieser Form gesendet werden. Wenn die Sicherheit von hoher Bedeutung ist, sollten Sie SSL (Secure Sockets Layer) einsetzen, um jegliche Datenübertragungen vom und zum Webserver zu verschlüsseln.

Grafik für Sicherheitsabschnitt
  Einführung
  Sicherheit unter
  Windows NT
  Sicherheit unter UNIX

     1 von 10      NACH OBEN
   
    Letzte Aktualisierung: November 1998
©1998 Microsoft Corporation. Alle Rechte vorbehalten. Nutzungsbedingungen.