Impressum

Forum   FAQ-Artikel schreiben   Links   Kalender   Erweiterte Suche
Willkommen bei MacOS X FAQ

Ein Sicherheitsproblem im Apache beheben

Apache & Co.

Am 10. Juni 2001 wurde auf der renommierten BugTraq-Liste ein Hinweis auf ein Sicherheitsproblem mit dem bei MacOS X vorinstallierten Apache Webserver gepostet. Demnach ist es unter Umständen möglich, auf eigentlich geschützte Dateien eines mit dem Apache gehosteten Web-Angebots zuzugreifen.

Das Problem steht im Zusammenhang mit dem Dateisystem HFS+, da dieses Groß- und Kleinschreibung von Dateien nicht unterscheidet. Wenn man mit dem Apache ein Web-Angebot auf einem HFS+-Volume betreibt und beispielsweise eine geschützte Datei

/Library/WebServer/Documents/test/index.html

hat, so kann man auf diese auch ohne Berechtigung zugreifen, wenn man einfach den Namen des Verzeichnisses, in dem die Datei liegt, anders schreibt, z.B.

/Library/WebServer/Documents/TeSt/index.html

Verwendet man statt HFS+ das Filesystem UFS so tritt dieser Fehler nicht auf, da UFS Groß- und Kleinschreibung bei Dateinamen unterscheidet (der Ordner in der Schreibweise "TeSt" wäre dort ein anderer Ordner als "test" und würde erst gar nicht gefunden werden). Ferner trat das Problem auch nur in der Consumer-Version von MacOS X auf, nicht jedoch in MacOS X Server, da Apple dort ein Modul für den Apache mitliefert, das das Problem behebt.

Ende Juli hat Apple dann endlich das Web Sharing Update veröffentlicht, das dieses Modul enthält und auch unter der Consumer-Version von MacOS X installiert (zudem wird noch der Apache und OpenSSL aktualisiert).

Das Modul selbst übersetzen und installieren

Die folgende Beschreibung stammt noch aus der Zeit, als das Modul nur im Quelltext erhätlich war und beschreibt das Übersetzen und Installieren des Moduls "von Hand". Diese Schritte sind nicht nötig, wenn man stattdessen das o.g. Web Sharing Update einspielt.

Um das Modul herunterladen zu können, benötigt man einen Login, der jedoch kostenlos erhältlich ist. Apple will damit nur sicherstellen, dass man die Apple Public Source License, unter der dieses Modul veröffentlicht wird, akzeptiert. Dazu geht man wie folgt vor:

Unter der Adresse http://www.opensource.apple.com/projects/darwin/darwinserver/ findet sich der Quelltext des benötigten Apache-Moduls (zusammen mit drei weiteren Modulen). Klickt man auf "Apache Modules (tar+gzip archive)", so wird man zur Eingabe einer ID und eines Passworts aufgefordert. Wenn man noch keinen Login hat, kann man einfach auf Abbruch klicken. Dann wird man auf eine Seite verwiesen, auf der man die Apple Public Source License akzeptieren und anschließend per Formular einen Login erhalten kann. Mit diesem kehrt man dann zur Download-Seite zurück und kann das Modul nun herunterladen.

Nach dem Entpacken des Archivs erhält man insgesamt vier Ordner für ebensoviele Module. Uns soll hier aber nur das Modul "mod_hfs_apple" im gleichnamigen Ordner interessieren. Zum Übersetzen und Installieren des Moduls ist es nötig, ins Terminal zu wechseln:

cd mod_hfs_apple
make

Damit ist das Modul auch schon übersetzt. Für die eigentliche Installation ist noch etwas mehr Handarbeit nötig (diese Kommandos müssen mit root-Rechten durchgeführt werden):

su root
cp mod_hfs_apple.so /usr/libexec/httpd
cd /usr/libexec/httpd
chown root mod_hfs_apple.so
chgrp wheel mod_hfs_apple.so
chmod a+x mod_hfs_apple.so

Damit wurde das Modul in das richtige Verzeichnis kopiert und die Rechte richtig gesetzt. Nun müssen wir nur noch dem Apache mitteilen, dass er dieses Modul auch verwenden soll.

Dazu müssen zwei Zeilen in die Datei /etc/httpd/httpd.conf eingetragen werden. Man lädt diese Datei also von der Kommandozeile aus in seinen bevorzugten Editor (pico oder vi). In der Conf-Datei gibt es einen Abschnitt mit vielen LoadModule-Anweisungen. Ans Ende dieses Anweisungsblocks schreiben wir die neue Zeile

LoadModule apple_hfs_module libexec/httpd/mod_hfs_apple.so

Direkt hinter dem Block mit den LoadModule-Anweisungen folgt ein Block von AddModule-Anweisungen. Ans Ende dieses Blocks fügen wir folgende Zeile an:

AddModule mod_hfs_apple.c

Es ist dabei wichtig, dass die neuen LoadModule- bzw. AddModule-Anweisungen an der gleichen Stelle des jeweiligen Blocks stehen, d.h. man könnte sie auch jeweils als erste Zeile des jeweiligen Blocks einfügen, nicht aber die eine Zeile an den Anfang und die andere ans Ende. Die Reihenfolge der Module in den beiden Anweisungsblöcken muss übereinstimmen.

Nach dem Speichern der httpd.conf-Datei muss der Apache nur neu gestartet werden.

Problem nicht behoben?

Leider ist damit das Sicherheitsproblem noch nicht vollständig behoben, wie eine Leserzuschrift an die News-Site Macintouch erläutert. Demnach behebt Apples Apache-Modul das Problem nur für Directory-Regeln in der httpd.conf, nicht aber für Files-Regeln.

Wer wirklich sicher gehen will, dass sein Apache sicher ist, muss also diese Regeln auf evtl. Probleme überprüfen oder den Apache besser doch gleich auf einem UFS-Volume betreiben.

Beitrag von: Dirk (16. Sep. 2001)


  

Ein Sicherheitsproblem im Apache beheben

| 0 Kommentar(e) | (Neuen Account anlegen)
Die folgenden Kommentare geben Meinungen von Lesern wieder und entsprechen nicht notwendigerweise der Meinung der Betreiber dieser Site. Die Betreiber behalten sich die Löschung von Kommentaren vor.