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
Funktionale 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
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.
Security
Netzwerk-Firewall
Netzwerk-Firewall
- Schützt Netzwerk vor unbefugtem Zugriff
- Erlaubt nur notwendige Ports (z. B. 80 und 443)
TLS/SSL-Gateway
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)
Web Application Firewall (WAF)
Eine Web Application Firewall schützt Webapplikationen vor typischen Angriffen wie:
- Cross-Site Scripting
- SQL-Injection
- CSRF
Access-Gateway
Access-Gateway
- Sorgt für Authentifizierung
- Verwaltet Benutzersitzungen
HTTP-Server
HTTP-Server
- Nimmt Anfragen von Clients entgegen
- Liefert statische Inhalte (HTML, Bilder)
- Leitet dynamische Anfragen an Backend weiter
- Verbessert Performance durch Caching
Webapplikationsserver
Webapplikationsserver
Der Applikationsserver führt die Geschäftslogik der Anwendung aus.
- Verarbeitung von Benutzeranfragen
- Eingabevalidierung
- Authentifizierung
- Kommunikation mit Datenbanken
Datenbank
Datenbank
Die Datenbank speichert und verwaltet Daten der Anwendung. Sie bietet Mechanismen für:
- Datenintegrität
- Zugriffskontrolle
- Verschlüsselung
Reverse-Proxy
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
Sicherheitsrisiken und Herausforderungen
Viele Angriffe nutzen bekannte Schwachstellen aus.XSS
XSS
Einschleusen von Schadcode in Webseiten
SQL Injection
SQL Injection
Manipulation von Datenbankabfragen
Sniffing
Sniffing
Abhören von Netzwerkverkehr
Man-in-the-Middle-Angriff
Man-in-the-Middle-Angriff
Manipulation der Kommunikation
Phishing
Phishing
Täuschung von Benutzern
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.Security
Ein Sicherheitsproblem ist also nicht unbedingt ein Programmfehler, sondern kann auch eine unerwartete Funktion sein.