Sicherheit für Webanwendungen

Sicherheit für Webanwendungen

21. April 2006 - Webanwendungen sind auf vielerlei Ebenen angreifbar. Entsprechend muss auch auf mehreren Layern für Sicherheit gesorgt werden.
Artikel erschienen in IT Magazine 2006/08

Sicherheit ist heute eine Notwendigkeit. Sie muss bereits in frühen Entwicklungsstadien einer Software ins Design einbezogen werden und kann kaum später aufgesetzt werden - wenn die Grundlagen einer Anwendung nicht sicher sind, nützen alle später hinzugefügten Sicherheitstechnologien wenig. Dabei kann es nicht schaden, sich in Erinnerung zu rufen, dass es keine wirklich wasserdichte, zu hundert Prozent sichere Software geben kann. Anwendungen sind immer unsicher, die Frage ist bloss, wie unsicher sie sind. Es geht letztlich also nicht darum, Software sicherer, sondern darum, sie weniger unsicher zu machen. Dies gilt umso mehr für Webapplikationen, die gleich auf mehreren verschiedenen Ebenen angegriffen werden können. Dabei handelt es sich hauptsächlich um die folgenden vier Layer:



- Webserver-Ebene: Dieser Layer umfasst nicht nur den eigentlichen Webserver, sondern auch das darunterliegende Betriebssystem. Die Sicherheit auf dieser Ebene ist absolut grundlegend – auch die sicherste Anwendung kann problemlos kompromittiert werden, wenn der Server, auf der sie läuft, angreifbar ist.



-Anwendungs-Ebene (generell): Die generelle Anwendungsebene beinhaltet grundlegende Einstellungen, die für fast jede Webanwendung ähnlich oder identisch sind. Dazu gehören beispielsweise Abfrage-Methoden, Dateizugriffsrechte und ähnliches.



-Anwendungs-Ebene (spezifisch): Auf der spezifischen Anwendungsebene finden sich Vorgänge, die nur für eine bestimmte Webanwendung benötigt werden. Dies könnten in einem E-Commerce-Umfeld beispielsweise Kreditkarten-Transaktionen sein.



-Daten-Ebene: Zur Datenebene schliesslich gehören sämtliche Informationen, die in einer Webanwendung gesammelt und ausgetauscht werden.



Um eine möglichst sichere Webapplikation zu entwickeln, muss jede dieser Ebenen bereits während dem Design-Stadium berücksichtigt werden. Die Unterscheidung von Layern ist dabei hilfreich, indem schrittweise vor-gegangen und jede Ebene einzeln auf ein Minimum an Unsicherheit getrimmt werden kann.


Sicherheitsprinzipien für die Server-Seite

Webserver müssen so konfiguriert werden, dass ihre Angreifbarkeit wirksam minimiert wird. Das beginnt schon bei der Plazierung des Servers im Netz: Ein optimaler Standort ist in einer durch Firewalls geschützten demilitarisierten Zone. Darin sollte der Webserver gemeinsam mit benötigten Zusatzservern wie Applikations- und Datenbankserver, die wiederum über Application-Level-Gateways untereinander und mit dem Webserver verbunden sind, plaziert werden.
Danach gilt es, die zahlreichen potentiellen Schwachstellen der Software durch eine geeignete Konfiguration zu eliminieren. Dafür gibt es wenige feste Regeln, aber zahlreiche Ansatzpunkte. Insbesondere Webserver bieten eine Menge unnötige Angriffsflächen - das beginnt schon bei meist nicht zwingend benötigten, aber dennoch von aussen zugänglichen Diensten wie beispielsweise Telnet. Grundsätzlich sollten alle nicht unbedingt benötigten Serverdienste deaktiviert werden.
Ähnliches gilt für bekannte Schwachstellen, die von Viren oder Würmern gern ausgenützt werden. Sobald Patches für bekannte Löcher in der genutzten Serversoftware veröffentlicht werden, müssen diese sofort installiert werden. Vor der Veröffentlichung von Patches können mitunter Work-arounds den Server provisorisch absichern. Schwachstellen, Angriffspunkte oder Insider-Informationen finden sich aber nicht nur in der eigentlichen Serversoftware, sondern oft auch in Konfigurations- oder Testscripts, die deshalb unmittelbar gelöscht werden sollten, sobald sie nicht mehr zwingend benötigt werden.
Ausserdem sollte in der Server-Konfiguration das Directory-Browsing deaktiviert werden oder pro Verzeichnis zumindest eine Standard-Seite (default.htm) enthalten sein, damit nicht direkt auf die darin enthaltenen Dateien zugegriffen werden kann. Ähnliche Probleme können sich durch veraltete Versionen einer Website ergeben - es ist erstaunlich, wie oft mit der Abfrage nach Verzeichnissen wie /test, /alt oder /archiv auf Daten zugegriffen werden kann, die eigentlich nicht mehr zugänglich sein sollten. Derlei Daten sollten sowohl auf dem Server als auch wenn möglich aus den Verzeichnissen von Suchmaschinen gelöscht werden.
Damit nicht jedermann beliebig Daten verändern kann, ist eine korrekte Rechtevergabe vonnöten. Inhalte sollten einen Besitzer haben, der als Einziger über Schreibrechte verfügt. Besucher dagegen dürfen zwingend nur Leserechte haben. Des weiteren sollte ein Webserver nicht zu ausführliche Fehlermeldungen ausgeben, damit einem Angreifer keine Informationen über die Systemkonfiguration und andere Interna preisgegeben werden.

 
Seite 1 von 2

Neuen Kommentar erfassen

Anti-Spam-Frage Was für Schuhe trug der gestiefelte Kater?
Antwort
Name
E-Mail
GOLD SPONSOREN
SPONSOREN & PARTNER