Ursachen
Aufbau von Web-Applikationen
Web-Applikationen (Online-Applikationen) ermöglichen die Zusammenarbeit zwischen Nutzern und Dienstanbietern über das Internet.
Typischer Aufbau:
Zugriff über HTTP/HTTPS
Bereitstellung über Webserver (z. B. Apache HTTP Server oder Microsoft IIS)
Entwicklung mit Technologien wie:
.NET
PHP
JSP
Python
Speicherung der Daten in SQL-Datenbanken
Der Zugriff erfolgt über eine URL (Uniform Resource Locator).
https://max:muster@www.example.com:8080/index.html?p1=A&p2=B#resourceFunktionale Infrastruktur
Clientseitige Infrastruktur (Browser)
Die clientseitige Infrastruktur läuft auf dem Gerät des Benutzers. Der Webbrowser übernimmt:
Darstellung von HTML, CSS und JavaScript
Verarbeitung von Benutzereingaben
Kommunikation mit dem Server über HTTP/HTTPS
Forward Proxy (im Unternehmensnetzwerk)
Ein Forward Proxy kann den Internetverkehr kontrollieren.
Caching
Schnellere Ladezeiten
Regelbasiertes Surfen
Zugriffsbeschränkung
Protokollierung
Nachverfolgung von Zugriffen
Content Filtering
Prüfung auf Schadcode
Serverseitige Infrastruktur
Eine sichere Webapplikation besteht aus mehreren Sicherheits- und Verarbeitungsschichten.

Netzwerk-Firewall
Schützt Netzwerk vor unbefugtem Zugriff
Erlaubt nur notwendige Ports (z. B. 80 und 443)
Server befinden sich oft in einer DMZ (Demilitarized Zone), um interne Netzwerke zu schützen.
TLS/SSL-Gateway
Verschlüsselt und entschlüsselt den Datenverkehr zwischen Client und Server
Schützt Daten während der Übertragung
Web Application Firewall (WAF)
Eine Web Application Firewall schützt Webapplikationen vor typischen Angriffen wie:
Cross-Site Scripting
SQL-Injection
CSRF
Sie analysiert den Datenverkehr auf Anwendungsebene (Layer 7).
HTTP-Server
Nimmt Anfragen von Clients entgegen
Liefert statische Inhalte (HTML, Bilder)
Leitet dynamische Anfragen an Backend weiter
Verbessert Performance durch Caching
Webapplikationsserver
Der Applikationsserver führt die Geschäftslogik der Anwendung aus.
Verarbeitung von Benutzeranfragen
Eingabevalidierung
Authentifizierung
Kommunikation mit Datenbanken
Datenbank
Die Datenbank speichert und verwaltet Daten der Anwendung. Sie bietet Mechanismen für:
Datenintegrität
Zugriffskontrolle
Verschlüsselung
Reverse-Proxy
Ein Reverse Proxy befindet sich vor dem Webserver und schützt die Infrastruktur.
Filterung von Anfragen
Caching und Komprimierung
TLS/SSL-Verarbeitung
Benutzerauthentifizierung
Load Balancing
Für den Benutzer ist der Proxy unsichtbar.
Sicherheitsrisiken und Herausforderungen
Viele Angriffe nutzen bekannte Schwachstellen aus.
Hauptursache
Die meisten Sicherheitslücken entstehen durch Programmierfehler.
Studien zeigen, dass etwa 75 % der Hackerangriffe direkt Webapplikationen betreffen und nicht das Netzwerk. Daher sollte Sicherheit bereits während der Softwareentwicklung berücksichtigt werden.
Qualität vs. Sicherheit
Nicht jeder Fehler ist gleich.
Quality Fault
Funktion fehlt oder funktioniert nicht
Works
Anwendung erfüllt Anforderungen
Security Fault
Ungeplante Eigenschaften ermöglichen Angriffe
Ein Sicherheitsproblem ist also nicht unbedingt ein Programmfehler, sondern kann auch eine unerwartete Funktion sein.
Bedeutung von Tests
Neben funktionalen Tests sind auch nicht-funktionale Tests wichtig: Sicherheitstests, Lasttests, Usabilitytests, Recoverytests.
Diese helfen, Schwachstellen frühzeitig zu erkennen und zu beheben.
Zuletzt aktualisiert