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.
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.| Kategorie | Beschreibung |
|---|---|
| Quality Fault | Funktion fehlt oder funktioniert nicht |
| Works | Anwendung erfüllt Anforderungen |
| Security Fault | Ungeplante Eigenschaften ermöglichen Angriffe |