Um HTTP Strict Transport Security (HSTS) zu implementieren, müssen mehrere Schritte durchgeführt werden, damit die Sicherheit einer Website erhöht wird. HSTS ist ein Web-Sicherheitsmechanismus, bei dem Webbrowser angewiesen werden, nur über HTTPS auf eine Website zuzugreifen, wodurch potenzielle Man-in-the-Middle-Angriffe verhindert werden, bei denen ein Angreifer versucht, die Kommunikation zwischen einem Benutzer und einer Website abzufangen.
1. HTTPS aktivieren: Der erste und grundlegende Schritt besteht darin, sicherzustellen, dass Ihre Website über ein gültiges SSL/TLS-Zertifikat verfügt und korrekt konfiguriert ist, sodass die Website über HTTPS erreichbar ist.
2. HSTS-Header hinzufügen: Um HSTS zu aktivieren, muss ein spezieller HTTP-Header (`Strict-Transport-Security`) an alle Antworten des Webservers angefügt werden. Der Header hat das folgende Format: ```plaintext Strict-Transport-Security: max-age=31536000; includeSubDomains; preload ``` Hier ist eine Erklärung der Parameter: – `max-age`: Die Anzahl der Sekunden, für die der Browser die Anweisung befolgen soll, nur über HTTPS auf die Website zuzugreifen. 31536000 Sekunden entsprechen 1 Jahr. – `includeSubDomains`: Diese Anweisung gilt nicht nur für die Hauptdomain, sondern auch für alle Subdomains. – `preload`: Dies ist optional und wird verwendet, wenn Sie die Website in die HSTS-Preload-Liste aufnehmen möchten (siehe Schritt 4).
3. Webserver-Konfiguration: – Apache: Fügen Sie die folgende Zeile in die Konfigurationsdatei oder die `.htaccess`-Datei ein: ```plaintext Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload“ ``` – Nginx: Fügen Sie die folgende Zeile in die Konfigurationsdatei des Servers ein: ```plaintext add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”; ```
4. HSTS Preload-Liste: Wenn Sie Ihre Website zusätzlich in die HSTS-Preload-Liste aufnehmen möchten, müssen Sie sicherstellen, dass Ihre Konfiguration korrekt ist und dann die Website zur Preload-Liste einreichen. Diese Liste wird von den gängigsten Browsern genutzt, um sicherzustellen, dass die Website auch bei erstmaligem Zugriff nur über HTTPS angesprochen wird. – Besuchen Sie [HSTS Preload Submission](https://hstspreload.org/) und reichen Sie Ihre Domain ein.
5. Testen der Implementierung: Nachdem Sie den HSTS-Header konfiguriert haben, überprüfen Sie, ob der Header korrekt von Ihrem Server gesendet wird. Nutzen Sie dazu Tools wie: – [SSL Labs Test](https://www.ssllabs.com/ssltest/) – Verwenden Sie Browser-Entwicklertools (F12), um die Antwort-Header zu inspizieren.
- Beispiel für Apache-Konfigurationsdatei:
```plaintext
- Beispiel für Nginx-Konfigurationsdatei: ```plaintext server { listen 443 ssl; server_name example.com;
ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”; location / { root /var/www/html; index index.html index.htm; } } ```