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

Sicherheit unter UNIX


 8 von 10     Sicherheitsstrategie des Apache-Patchs

Der FrontPage Apache-Patch besteht aus zwei Teilen:

  • Dem FrontPage Apache-Modul, das Anforderungen vom FrontPage-Client an die ausführbaren Dateien der FrontPage-Servererweiterungen abfängt, Sicherheitsüberprüfungen durchführt und die Anforderung an das Stub-Programm fpexe , dessen SUID auf "root" eingestellt ist, weiterleitet. Da alle Anforderungen auf dem Server selbst abfangen werden, ist kein Skriptalias erforderlich.
  • Dem Programm fpexe, das Schreibanforderungen von dem FrontPage Apache-Modul übernimmt, eine zusätzliche Überprüfung der Sicherheit durchführt, die Benutzer-ID des Webserverprozesses in den Besitzer des Webs mit FrontPage-Servererweiterungen, auf welches der Schreibzugriff erfolgt, ändert und dann das zentrale Exemplar der ausführbaren Dateien der FrontPage-Servererweiterungen aufruft.

   

Da die SUID des Stub-Programms fpexe auf "root" eingestellt werden muss, damit es die Benutzer-IDs des Webserverprozesses in den Besitzer des Webs ändern kann, werden zahlreiche Sicherheitsüberprüfungen durchgeführt, um zu verhindern, dass dieses Stub-Programm ausgenutzt wird. Es werden folgende Sicherheitsüberprüfungen durchgeführt:

  • Überprüfen, ob der Besitzer und die Berechtigungen für das Stub-Programm fpexe und sein Verzeichnis ordnungsgemäß festgelegt sind.
  • Überprüfen, ob der Besitzer und die Berechtigungen für die ausführbaren Programme der Servererweiterungen und ihre Verzeichnisse ordnungsgemäß festgelegt sind.
  • Überprüfen, ob der Webinhaltsbereich, auf den der Schreibzugriff erfolgt, über eine gültige Benutzer-ID verfügt.
  • Überprüfen, ob der Webinhaltsbereich, auf den der Schreibzugriff erfolgt, über eine gültige Gruppen-ID verfügt.
  • Überprüfen, dass nur die ausführbaren CGI-Dateien der FrontPage-Servererweiterungen und keine anderen CGI-Skripts auf dem System ausgeführt werden.
  • Überprüfen, ob die Umgebungsvariablen (einschließlich Pfad) ordnungsgemäß eingestellt sind und nur dann übergeben werden, wenn sich die Variable in einer vordefinierten, überprüften Liste befindet.
  • Überprüfen, ob die ausführbaren Dateien der FrontPage-Servererweiterungen nur von dem Webserver aufgerufen wurden.
  • Überprüfen und Übergeben eines Schlüsselwertes mit 128-Byte, der beim Initialisieren des Webserverprozesses dynamisch erstellt wird, an das Programm fpexe, damit ausschließlich der Webserver fpexe ausführen kann.

   

Der 128-Byte-lange Schlüsselwert wird beim Initialisieren des Webservers dynamisch erzeugt und für Überprüfungszwecke in einer Datei suidkey.* gespeichert. Der Schreib- und Lesezugriff auf diese Datei kann nur durch "root" erfolgen. Die Datei wird in einem Verzeichnis gespeichert, das nur von "root" gelesen werden kann. Ein Beschreiben der Datei suidkey.* ist ausschließlich mit "root"-Berechtigung möglich, da der Webserverprozess bei der Initialisierung als "root" ausgeführt wird und nicht zu einer anderen Benutzer-ID (wie z. B. "www") wechselt, bis die Initialisierung endgültig abgeschlossen ist. Die Dateinamenerweiterung der Datei suidkey.* besteht aus der Prozessgruppen-ID des Webservers.

Der Inhalt dieses dynamischen Schlüsselwertes wird bei der Initialisierung des Webservers folgendermaßen berechnet: Permutation der Ausgabe des Prozessstatusbefehls (ps) und exklusive ODER-Verknüpfung mit dem Inhalt einer administratorkontrollierten benutzerdefinierten Schlüsseldatei, die in /usr/local/frontpage/version4.0/apache-fp/suidkey gespeichert ist. Diese benutzerdefinierte Schlüsseldatei muss existieren, der Besitzer muss "root" sein, der Lesezugriff darf nur von "root" erfolgen und die Datei muss mindestens 8 Byte Daten enthalten.

Ändern Sie als Bestandteil der Serverwartung den Inhalt der benutzerdefinierten Schlüsseldatei bei jedem Neustart des Servers. Dies dient dem Schutz des Schlüsselwertes.

Wenn von dem FrontPage Apache-Modul eine Anforderung verarbeitet wird, die ausführbaren Dateien der FrontPage-Servererweiterungen aufzurufen, führt das Modul zunächst eine vorgeschaltete Überprüfung der Anforderung durch und leitet die Anforderung an das Stub-Programm fpexe weiter. Der 128-Byteschlüsselwert, der beim Initialisieren des Server erzeugt wurde, wird über eine Pipe an fpexe übergeben und ist daher in der Programmumgebung nicht sichtbar. Der 128-Byteschlüsselwert wird von fpexe aus der Pipe gelesen und dann mit dem Inhalt der dynamisch erzeugten Datei suidkey.* verglichen, die beim Initialisieren des Webserver erstellt wurde. Da die Benutzer-ID von fpexe auf "root" eingestellt ist, kann das Programm den Inhalt der Datei suidkey.* verarbeiten. Unter der Annahme, dass die Datei suidkey.* weiterhin über die richtigen Berechtigungen (Lesezugriff nur durch "root" in einem Verzeichnis, das nur von "root" gelesen werden kann) verfügt, und dass der 128-Byteschlüsselwert passt, führt fpexe anschließend weitere Überprüfungen durch, um Benutzer-ID, Gruppen-ID und Besitzer der ausführbaren Zieldateien der FrontPage-Servererweiterungen zu überprüfen.

Sind alle Tests erfolgreich verlaufen, wechselt fpexe die Benutzer und Gruppen-IDs des Serverprozesses in die des Besitzers des Webinhalts und führt dann die ausführbaren Dateien der FrontPage-Servererweiterungen aus. Falls einer dieser Überprüfungen fehlschlägt, wird ein Fehler in das Webserverprotokoll geschrieben und die Servererweiterungen nicht ausgeführt.

Beachten Sie, dass die Sicherheitsüberprüfungen des FrontPage Apache-Moduls das Sicherheitssystem des Webservers mit der Datei .htaccess nicht ersetzen. Beide Systeme arbeiten zusammen, um die Sicherheit für das Web mit FrontPage-Servererweiterungen zu gewährleisten. Die .htaccess-Sicherheit des Webservers schützt den Remote-Zugriff auf den Webinhalt, indem gewährleistet wird, dass es sich bei dem Benutzer der FrontPage-Servererweiterungen um einen registrierten Sitebesucher, Autor oder Administrator des Webs handelt. Zusätzlich zu dieser Normalstufe der Sicherheitsüberprüfung stellen die Sicherheitsüberprüfungen des FrontPage Apache-Moduls sicher, dass das Programm fpexe nicht verwendet wird, um unberechtigten Zugriff als "root" auf den Webserver zu erlangen.

Da Programme, bei denen die Benutzer-ID auf "root" festgelegt ist, für Serveradministratoren von Interesse sind, stellt Microsoft den Quellcode des FrontPage Apache-Moduls und des Stub-Programms als "root" zur Einsicht zur Verfügung. Der aktuellste Quellcode ist im Downloadkit der FrontPage 2000-Servererweiterungen enthalten. Der Quellcode ist ausführlich mit einer Erläuterung der durchgeführten Überprüfungen und der Wiederherstellungsaktionen kommentiert, die durchgeführt werden müssen, wenn ein Fehler mit dem Hinweis auf eine unsichere Konfiguration von dem FrontPage Apache-Modul oder von fpexe protokolliert wird.

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

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