Sonntag, 21. März 2010

News

präsentiert von: Entwickler Magazin
Donnerstag, 18. Juni 2009

About Security #209: Schwachstellen-Suche: Webserver untersuchen

Was macht man, wenn im eingesetzten Webserver oder anderen für den Betrieb der Webanwendung benötigten Komponenten eine Schwachstelle entdeckt wird? Erst mal muss man selbst davon erfahren, und das am besten, bevor es zu einem Angriff auf den eigenen Server gekommen ist. Wo man entsprechende Informationen finden, wurde in About Security #208 beschrieben.

Schwachstelle gefunden - was nun?

Erster Anlaufpunkt ist immer der jeweilige Hersteller: Gibt es einen Patch oder zumindest einen empfohlenen Workaround? Dabei sollte man nicht nur die auf der Hersteller-Website verfügbaren Informationen durchsuchen, sondern ggf. auch mit dem Support des Herstellers Kontakt aufnehmen. Ein verantwortungsbewusster Hersteller wird seine Kunden über öffentlich bekannte Schwachstellen informieren, evtl. weiss man dort aber noch gar nichts von der Schwachstelle.

Gibt es weder einen Patch noch einen vom Hersteller empfohlenen Workaround, ist Selbsthilfe angesagt: Kann auf Basis der vorhandenen Informationen selbst ein Workaround entwickelt werden? Evtl. reicht eine Änderung der Konfiguration, oder ein Angriff kann über Firewall- oder IPS-Regeln erkannt und abgefangen werden, bevor er Schaden anrichtet. Besonders einfach ist das bei Pufferüberlauf-Schwachstellen: Verwirft die Firewall überlange Werte für den betroffenen Parameter, ist kein Angriff mehr möglich. Dabei braucht man sich nicht darum zu kümmern, ob evtl. auch erwünschte Eingaben verworfen werden: Ist der Wert für den betroffenen Parameter zu lang, kann er sowieso nicht verarbeitet werden. Eine eigentlich erwünschte, aber zu lange Eingabe führt dann sowieso zu einem Fehler, meist einem Absturz des betroffenen Programms. Und das war dann auch schon vor dem Entdecken der Schwachstelle so. Der einzige Unterschied zwischen einer harmlosen und einer bösartigen Eingabe besteht darin, das bei einer harmlosen Eingabe kein eingeschleuster Code ausgeführt wird.

Je nach Gefahrenpotential der Schwachstelle kann es evtl. notwendig sein, vorübergehend Funktionen zu deaktivieren, um einen Angriff zu verhindern. Im Notfall ist es besser, nur eine abgespeckte Website online zu haben, als durch einen Angriff z.B. wichtige Daten ausspähen zu lassen. Von der Peinlichkeit, nach einem erfolgreichen Angriff das Ausspähen von Daten zugeben zu müssen, bzw. "defaced" zu werden, ganz zu schweigen.

Es ist sowieso empfehlenswert, eine "Notfall-Website" aus statischen Seiten mit den notwendigsten Informationen bereit zu halten. Wenn man die nie braucht, ist es um so besser. Aber wenn man eine braucht, und sei es nur zur Überbrückung einer technischen Störung oder einer dringend notwendigen Wartung, hat man i.A. genug anderes zu tun und keine Zeit, sich noch über eine Ersatzseite Gedanken zu machen.

Schwachstellen suchen

Schwachstellen im Webserver und den anderen verwendeten Programmen könnte man suchen, im allgemeinen verzichtet man aber darauf und prüft nur, ob überall die jeweils aktuellste Version samt aller evtl. vorhandenen Patches etc. installiert ist. Wichtiger ist das Prüfen der richtigen Konfiguration bzw. die Suche nach falsch konfigurierten Programmen. Teilweise werden unsichere Default-Konfigurationen ausgeliefert, die ohne Änderung unnötige Angriffspunkte liefern.

Default-Zugangsdaten
About Security: Alle Folgen

Viele Programme und auch Geräte wie Switches und Router stellen eine Webbasierte Administrationsoberfläche zur Verfügung, für die allgemein bekannte Default-Zugangsdaten verwendet werden. Werden die bei der Konfiguration nicht geändert, kann ein Angreifer darüber auf die Administrationsoberfläche zugreifen und Schaden anrichten. Sammlungen von Default-Zugangsdaten gibt es z.B. bei CIRT.net und Phenoelit. Jede Administrationsoberfläche sowie alle sonstigen Zugänge wie z.B. FTP oder SSH müssen auf solche Default-Zugangsdaten geprüft und diese ggf. gelöscht bzw. ersetzt werden.

"Default-Inhalte"

Viele Webserver werden mit einer Reihe von "Default-Inhalten" ausgeliefert, wie Debug- und Testfunktionen, Beispielanwendungen, eigentlich nicht für die Öffentlichkeit gedachte Funktionen, Online-Handbücher,..., die alle unnötige Angriffsflächen bieten.

Debug-Funktionen liefern einem Administrator ebenso wie einem Angreifer nützliche Informationen über die Konfiguration und den Status des Webservers. Ein typisches Bespiel dafür sind Seiten mit der Ausgabe der Funktion phpinfo(), z.B. in Form des in vielen Apache-Installationen vorhandenen Skripts phpinfo.php.

Beispielanwendungen können zum einen unerwünschte Funktionen und zum anderen Schwachstellen enthalten. So wurden in der Vergangenheit z.B. in mehreren mit Tomcat ausgelieferten Beispielanwendungen XSS-Schwachstellen gefunden. Ein typisches Beispiel ist auch das Skript CodeBrws.asp, das in älteren Versionen von Microsofts IIS enthalten war. Eigentlich sollten die Benutzer damit nur den Quelltext anderer Beispielskripte betrachten können, aufgrund einer Directory-Traversal-Schwachstelle konnten aber beliebige Dateien im Webroot-Verzeichnis ausgegeben werden.

Weitere Beispiele für unerwünschte "Default-Inhalte" sowie Hinweise zur sicheren Konfiguration des Webservers gibt es in der nächsten Folge.

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:

Kommentare

Konferenzen

JAX 2010

JAX 2010

3.- 7. Mai 2010
Rheingoldhalle, Mainz

Business Technology Days 2010

Business Technology Days 2010

4.- 6. Mai 2010
Rheingoldhalle Mainz

webinale 2010

webinale 2010

31.- 2. Juni 2010
Maritim proArte, Berlin

Railswaycon 2010

Railswaycon 2010

31.- 2. Juni 2010
Maritim proArte, Berlin

IPC Spring 2010

IPC Spring 2010

31.- 2. Mai 2010
Maritim proArte, Berlin

MobileDevCon 2010

MobileDevCon 2010

6.- 8. September 2010
Rheingoldhalle, Mainz

BASTA! 2010

BASTA! 2010

20.-24. September 2010
Rheingoldhalle, Mainz

Werbung
Top-Jobs

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Ruby on Rails

RailsWay Magazin

Ruby on Rails

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

Bücher




Webhosting und Managed Hosting mit Host Europe