So genannte "Application Server" werden von immer mehr Unternehmen eingesetzt. So rücken auch Webanwendungen immer stärker in den Fokus von Hackern und Spionen: Über Sicherheitslücken verschaffen sich die Angreifer Kontrolle über die Applikationen, stehlen oder manipulieren die Inhalte von Datenbanken. ChannelPartner-Schwester-Publikation PC-Welt verrät Ihnen, wie Sie die Websoftware Ihrer Kunden richtig absichern können.
Viele Anwendungen verlagern sich heute ins Web. In Sachen Firmenpräsentation und Kommunikation ist längst nicht mehr nur die Firmen-Website gemeint: Auch webbasierte Unternehmensportale, E-Shops oder gehostete CRM-Software haben für Firmen enorme Vorteile. Sie machen die Mitarbeiter mobil und flexibel und verbessern den Austausch und die Beziehungen mit Geschäftspartnern und Kunden. Diese Webanwendungen stehen auf vorgeschobenem Posten und werden besonders häufig zum Ziel für Angreifer.
Die Sicherheitsstrategie vieler Unternehmen adressiert allerdings nur die üblichen Angriffsformen auf das Netzwerk. Virenscanner, Firewalls und Spamfilter schützen zwar die Systeme im Inneren des Firmennetzes, doch reicht dieser Schutz nur bis zum Internet-Gateway. Die von außen erreichbaren Webserver, die im eigenen Serverraum stehen oder beim Hosting-Provider, bedürfen besonderer Sicherheitsmechanismen.
Mehr Security-News
Je nachdem, ob es sich bei der Websoftware um eine Eigenentwicklung handelt oder um eine fertige Anwendung, kommen unterschiedliche Techniken und Tools für die Absicherung in Frage. Dieser Artikel erklärt, wie Sie Web-Content-Management-Systeme, Datenbanken, Groupware und ähnliche Software schützen.
Ist Open Source anfälliger?
Es ist ein weit verbreiteter Irrglaube, dass Open Source unsicherer ist als kommerzielle Lösungen. Dadurch, dass der Quellcode der freien Tools offen liegt, werden Sicherheitslücken in Programmen zwar schneller gefunden und gemeldet. Eine aktive Entwicklergemeinde vorausgesetzt, werden die Anwender aber auch umgehend mit Updates versorgt und Sicherheitsprobleme damit zeitnah entschärft. Wer also auf Open-Source-Webanwendungen setzt, sollte sich auf gelegentliche Wartungsarbeiten einstellen. Kommerzielle Software-Hersteller reagieren gelegentlich etwas unflexibler, wenn es um Komplikationen außerhalb des geplanten Release-Zyklus oder die Kommunikation entdeckter Schwachstellen geht.
Angriffspunkte für Hacker
Durch einen falsch konfigurierten Webserver haben Angreifer oft schon leichtes Spiel. Hier sind nicht nur einfach zu knackende oder zu erratende Passwörter ein Problem. Falsch gesetzte Zugriffsrechte, ein freizügiger Zugang externer Anwendungen auf die eigenen Daten oder leicht einsehbare Verzeichnisse und Dateien mit Login-Daten im Klartext – meist sind es solche einfachen Schusselfehler, die einem Hacker den Weg auf das System bereiten. Auch Denial-of-Service-Attacken (DoS) werden durch laxe Sicherheitseinstellungen am Server begünstigt. Administratoren sollten deshalb zuerst die Grundkonfiguration ihres Webservers überprüfen und diesen selbst auch auf dem neuesten Stand halten, bevor sie sich mit der installierten Software im Detail beschäftigen.
Eine häufige Methode, sich Zugang zu einem Webserver zu verschaffen, ist das Ausnutzen von Schwachstellen in Webanwendungen. Mit den richtigen Tricks können versierte Angreifer von unscheinbaren Fehlern in Programmen Gebrauch machen, was dazu führt, dass der Hacker durch die Maschen schlüpft: Der unerwünschte Besucher erhält beispielsweise Zugriff auf Daten oder kann in die Verwaltungsoberfläche der Software eindringen und Software und Server übernehmen.
XSS, SQL Injection und Co.
Eine oft genutzte Angriffsform ist das Cross-Site-Scripting (XSS). Mit eingeschleustem Code wandeln Angreifer ungenügend abgesicherte Webanwendungen für ihre eigenen Zwecke um. Sie können über eine so manipulierte Website Phishing-Attacken einleiten oder Schadcode im Browser des Anwenders ausführen lassen. Oft liegt diesen Angriffen eine mangelhafte Validierung von Eingaben in interaktiven Bereichen einer Website zugrunde. Werden beispielsweise Weblog-Kommentare oder Foren-Postings ungeprüft und samt Code-Eingaben übernommen, hat ein Hacker leichtes Spiel.
Ebenso bekannt ist die Technik der SQL Injection, bei der wiederum über eine Sicherheitslücke in einer Webanwendung, die eine Datenbankanbindung nutzt, manipulierter Code in die Datenbank eingeschmuggelt wird. Mit präparierten SQL-Befehlen kann sich der Angreifer an den Daten zu schaffen machen oder gleich die gesamten Daten kapern.
In diesem Ratgeber können Sie sich ausführlich über XSS und SQL Injection informieren.
Manipulierte Informationen oder gestohlene Kundendaten ärgern nicht nur den Webadmin, sondern können auch ein übles Nachspiel für das Unternehmen haben: Datenschutzverletzungen, Umsatzeinbußen durch Ausfall der Website und Imageschäden sind nicht über Nacht ausgebügelt. Besser, Sie wissen über Sicherheitslücken in Ihren Anwendungen bescheid, bevor es ein anderer tut. Topaktuelle Sicherheitlücken meldet beispielsweise die National Vulnerability Database des NIST und die Open Source Vulnerability Database (OSVDB).
Webattacken simulieren
Was kann man nun tun gegen Angriffe auf Webseiten, das Ausnutzen von Schlupflöchern in Webanwendungen und Datenklau? Das hängt zunächst einmal davon ab, ob es sich um eine Anwendung handelt, auf deren Code Sie Zugriff haben. Das wäre bei Eigenentwicklungen und Open Source der Fall. Hier können Sie mit einem Scanner den Quellcode prüfen und die Probleme direkt an der Basis beheben. Steht diese Option nicht zur Wahl, ist es möglich, einen Security-Scanner direkt auf die installierten Programme loszulassen, um zu sehen, ob ein simulierter Angriff Erfolg hat. Der gebräuchlichste Weg ist es dann, die Webanwendungen mit Web Application Firewalls (WAF) gegen Angriffe zu verbarrikadieren.
Security-Scanner finden Lücken
Security-Scanner gibt es fürs Netzwerk und ebenso auch für Webanwendungen. Ein solcher Web Application Security Scanner wird auf einem Client im Web auf die zu untersuchende Website losgelassen und durchsucht alle erreichbaren Seiten, Elemente und Anwendungen. Dabei verhält sich der Scanner im Grunde wie ein Internet-User, denn er "klickt" alle Links an, füllt Formularfelder aus, untersucht die Seitenstruktur und Skripte und lernt so die Website kennen. Allerdings versucht der Scanner dann mit den gewonnenen Erkenntnissen über die Funktionsweise der Webanwendungen in das System einzudringen.
Der Scanner sammelt bei seinem Einbruchsversuch Daten über Funktion, Aufbau und Schwachstellen der gefundenen Elemente und protokolliert die eigenen Angriffsmuster. Das Ergebnis ist eine umfassende Sicherheitsanalyse des eigenen Webservers, die dem Administrator das nötige Wissen zum gezielten Schließen von Lücken und Vorbeugen ähnlicher, realer Hacker-Angriffe vermittelt.
Sicherheitsscanner für Webanwendungen gibt es auf Open-Source-Basis und von kommerziellen Software-Anbietern. IBM bietet zum Beispiel Rational AppScan für verschiedene Unternehmensgrößen an. Die Software deckt die üblichen Skriptsprachen und Angriffsmethoden ab und führt automatisierte Tests aus. Art of Defence bietet mit Hyperscan einen Web Application Scanner. Hier sind sogar Compliance-Checks der Website inklusive. Einer der freien Vertreter ist Metasploit, ein umfassendes Security-Framework mit zahlreichen Tools zum Abklopfen von Webanwendungen, SQL-Datenbankservern und Webservern unter Windows, Linux und Unix auf Schwachstellen.
Quellcode-Analyse und Web-Bollwerke
Web Application Scanner eignen sich für einen umfassenden Sicherheitscheck der fertigen Webanwendungen, optimalerweise bevor diese auf einem Live-System implementiert und von außen zugänglich gemacht werden. Mit einem Source-Code-Scanner wie beispielsweise Hypersource können Programmierer dagegen schon ab einem frühen Entwicklungsstadium ihrer Webanwendungen die Sicherheit ihres Quellcodes kontrollieren und sofort nachrüsten. Auch Coverity hat spezialisierte Code-Analyse-Tools für bestimmte Programmiersprachen zur Wahl.
Schutzmantel für Webanwendungen
Wie es der Name verrät, schützt eine Web Application Firewall (WAF) Webanwendungen und erledigt damit im übertragenen Sinne das, was eine Firewall für das Netzwerk leistet. Sie wird den Webanwendungen vorgeschaltet und prüft alle Anfragen an den Webserver und dessen Antworten. Bei verdächtigen Anfragen blockiert die WAF die Kommunikation. Damit bietet eine Web Application Firewall einen guten Schutz gegen SQL Injection, Cookie Poisoning, XSS, Attacken durch Pufferüberläufe und weitere Angriffsformen. Wenn ein Webserver durch eine Web Application Firewall geschützt wird, werden also auch bestehende Sicherheitslücken in Webanwendungen entschärft.
Ein bekannter Vertreter aus der Open-Source-Gemeinschaft ist ModSecurity, das als Apache-Erweiterung arbeitet. Kommerzielle WAFs gibt es zum Beispiel von Art of Defence, F5 und Citrix.
Sicherheit auch für Altsysteme
Eine Web Application Firewall dürfte das Mittel der Wahl für die meisten Webserver sein, denn eine große Zahl an bekannten und sogar neuartigen Angriffsmethoden wird abgefangen. Sie ist auch als Sicherheitsmaßnahme für ältere Systeme zu empfehlen, die nicht mehr weiterentwickelt und mit Sicherheitsupdates versorgt werden. Ebenso bietet sich die WAF zum Schutz von Fremdsoftware an und verringert so die Abhängigkeit von Patches des Herstellers. Allerdings sollte vor der Inbetriebnahme ein Testlauf angesetzt werden, um die korrekte Konfiguration für einen reibungslosen Betrieb herausfinden. Denn wie bei der Netzwerk-Firewall gilt auch hier: Ist die Firewall zu scharf eingestellt, lässt sie eventuell auch korrekte Anfragen nicht mehr passieren und stört die Auslieferung der Webanwendungen.
Auf Web Application Security spezialisierte Beratungsunternehmen wie Securenet helfen Unternehmen, die richtige Technologie und Implementierungsstrategie für den Schutz ihrer Webserver und Applikationen zu finden. (PC Welt/rw)