Mittwoch, 22. August 2012


Topthema

Donnerstag, 13. Oktober 2005 | Topthema

About Security #27: Gefahren für Webserver

(Link zum Artikel: http://www.entwickler.de/dotnet/kolumnen/024694)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

In dieser Folge von About Security erfahren Sie, wie es mit der Sicherheit der den Webanwendungen zugrunde liegenden Webserver bestellt ist.

Nicht behobene Schwachstellen

Veraltete Versionen des Betriebssystems und/oder des Webservers enthalten bekannte Schwachstellen. Einige Würmer, zum Beispiel Code Red, Nimda oder Slapper nutzten solche Schwachstellen zur Verbreitung. Patches für Schwachstellen bzw. Updates, die Schwachstellen beseitigen, müssen bei Verfügbarkeit schnellstmöglich installiert werden. Bis zur Verfügbarkeit von Patches können manchmal Workarounds die Gefahr mindern.

Unnötige Angriffsflächen

Nicht benötigte Dienste auf dem Webserver, die von außen zugänglich sind, bieten eine unnötige Angriffsfläche. Dies trifft insbesondere auf telnet zu. Da telnet die Daten ungeschützt überträgt, sollte, wenn nötig, stattdessen sowieso ssh verwendet werden. Generell sollten alle nicht zwingend benötigten Dienste deaktiviert werden, d.h. wenn kein Fernzugang benötigt wird, darf auch kein telnet/ssh-Server laufen.

Vergessene Programme und Skripts

Nicht entfernte Konfigurations-, Beispiel- und Testskripts bzw. -programme können von Angreifern für ihre Zwecke missbraucht werden. So enthält das oft im Verzeichnis cgi-bin enthaltene Skript formmail.pl in verschiedenen Versionen Schwachstellen, die zum Versand von Spam oder zur Ausführung beliebiger Befehle ausgenutzt werden können.

Aufgelistete Verzeichnisse

Verzeichnisse ohne Default-HTML-Seite zeigen ihren kompletten Inhalt an, sodass auf nicht verlinkte Dateien zugegriffen werden kann. Die Manipulation der Pfade in einem URL ist bekanntlich kein Problem, sodass jedes beliebige Verzeichnis auf dem Webserver angesprochen werden kann.

Ungeschützte Versionen der Website
About Security: Die komplette Serie

Veraltete Versionen oder Testversionen, die nicht verlinkt sind, können abgefragt werden, wenn die entsprechenden Verzeichnisse nicht geschützt sind. Die Suche nach Verzeichnissen wie /archiv, /alt, /test, ... führt sehr oft zum Erfolg. Auch Suchmaschinen listen oft Pfade auf, die auf dem Webserver nicht mehr verlinkt sind. Daten, die über den Webserver nicht mehr abgefragt werden sollen, sollten gelöscht werden. Alternativ können die entsprechenden Verzeichnisse durch den Webserver vor unbefugten Zugriffen geschützt werden.

Schutz der Inhalte

Alle Daten, insbesondere die Webseiten, müssen einem dafür vorgesehenen Benutzer gehören und dürfen nur von diesem zu schreiben sein. Dies verhindert, dass ein Unbefugter Daten ändert oder löscht. Der Webserver muss unter einem anderen Benutzer laufen, der nur lesend auf die Daten zugreifen darf. So kann ein Angreifer, der über eine Schwachstelle in den Server eindringt und die Rechte des Webservers erlangt, keine Änderungen an den Daten vornehmen.

Ausnutzen von Fehlermeldungen

Ausführliche Fehlermeldungen helfen einem Angreifer, Informationen über das System zu erhalten. Einige Beispiele: Aus Versionsnummern kann auf vorhandene Schwachstellen geschlossen werden, vollständige Pfade helfen bei der Durchführung von Directory-Traversal-Angriffen. Benutzernamen, die z.B. bei Datenbankfehlern ausgegeben werden, können zum Ziel von Brute-Force-Angriffen werden, wenn der Angreifer eine Möglichkeit zum Zugriff auf das System bekommt. Produktiv eingesetzte Systeme sollten daher keine ausführlichen Fehlermeldungen ausgeben, sondern diese in Log-Dateien speichern. Dem Benutzer reicht die Information, dass ein Fehler aufgetreten ist. Die Details sind für ihn von geringem Interesse. Viel wichtiger ist ein Hinweis, wie er nun weiter verfahren soll. Und damit ist kein Hinweis "Bitte notieren Sie die lange, unverständliche Fehlermeldung und senden Sie sie an den Webmaster" gemeint. Erstens macht das sowieso niemand, zweitens liest sich das wie "Wir haben keine Ahnung, was hier wie funktioniert".

Speicherung vertraulicher Daten in zugänglichen Verzeichnissen

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Eine weitere häufig auftretende Schwachstelle sind in für den Webserver zugängliche Verzeichnisse gespeicherte Dateien mit vertraulichen Daten. Werden Dateien unterhalb des Document Root gespeichert, können sie über eine URL abgerufen werden. Besonders häufig tritt dies Problem bei virtuellen Webservern auf, bei denen die Wurzel des Kundenververzeichnisses (z.B. /home/www/server/kunde, für den Kunden "/") gleichzeitig die Wurzel des virtuellen Servers ist (z.B. http://www.kunde.example): Alle unterhalb des Wurzelverzeichnisses des Kunden gespeicherte Dateien liegen auch unterhalb des Document Root und sind daher durch den Webserver abrufbar. Zur Beseitigung des Problems gibt es zwei Möglichkeiten: Liegt der Document Root des Webservers tiefer als die Wurzel des Kundenververzeichnisses (z.B. /home/www/server/kunde/www), können weitere Verzeichnisse oberhalb des Document Root angelegt (z.B. /home/www/server/kunde/geheim) und vertrauliche Daten darin gespeichert werden. Alternativ können Verzeichnisse mit vertraulichen Daten durch den Webserver vor Zugriffen über HTTP geschützt werden.

Außer der Beseitigung von Schwachstellen in Konfiguration und Software hat auch die Wahl des richtigen Standorts Auswirkungen auf die Sicherheit des Webservers. In der nächsten Folge werden einige mögliche Standorte und die damit verbundenen Vor- und Nachteile vorgestellt.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Sichere Webanwendungen"

Kommentare

Folgende Links könnten Sie auch interessieren

  • VSTS im Einsatz: Sourcen im Griff  [20.03.2008]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,1607,.html]
  • Aktive Daten  [07.03.2003]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,321,.html]
  • IE - kommt fett!  [03.06.2004]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,569,.html]
  • Zimmer frei?  [11.04.2003]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,332,.html]
  • Dateien mit System  [11.12.2003]
    [http://entwickler.de/zonen/portale/psecom,id,101,online,486,.html]