HSTS für TYPO3 konfigurieren

Schritt-für-Schritt-Anleitung: HTTP Strict Transport Security in TYPO3 einrichten, Backend per lockSSL absichern und Preload beantragen.

TYPO3 · Schritt für Schritt

HSTS in TYPO3

HTTP Strict Transport Security (HSTS) weist Browser an, ausschließlich verschlüsselte HTTPS-Verbindungen zu verwenden. HSTS ist mit 15 von 166 Punkten ein wichtiger Faktor im Wolf-Agents Web Security Check. In TYPO3 setzen Sie den Header per TypoScript oder über die .htaccess-Datei.

TYPO3 v12.3+ sendet automatisch Strict-Transport-Security: max-age=31536000 für das Backend, wenn lockSSL = true gesetzt ist. Für das Frontend müssen Sie den Header manuell konfigurieren.

1 Schritt 1 von 3

HSTS-Header per TypoScript setzen

Der einfachste Weg: Setzen Sie den HSTS-Header über config.additionalHeaders in Ihrem TypoScript-Setup. Alternativ nutzen Sie die PSR-15 Middleware aus dem Architektur-Kapitel.

TypoScript Setup Produktiv
# TypoScript Setup — HSTS Header
config.additionalHeaders {
    10.header = Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
}
.htaccess (Shared Hosting) Fallback
# .htaccess — HSTS (Shared-Hosting-Fallback)
<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>
TypoScript vs. .htaccess

TypoScript-Header gelten nur für Seiten, die durch TYPO3 gerendert werden. Die .htaccess-Methode setzt den Header für alle Requests — auch für statische Dateien und gecachte Seiten (EXT:staticfilecache). Auf Shared Hosting empfehlen wir die .htaccess-Methode.

2 Schritt 2 von 3

lockSSL für das Backend aktivieren

TYPO3 v12.3+ sendet automatisch HSTS für das Backend, wenn lockSSL aktiviert ist. Diese Einstellung erzwingt HTTPS für das gesamte Backend und setzt den HSTS-Header automatisch.

config/system/additional.php Backend
// config/system/additional.php
$GLOBALS['TYPO3_CONF_VARS']['BE']['lockSSL'] = true;
Aktivieren Sie lockSSL erst, wenn HTTPS vollständig funktioniert. Ohne gültiges SSL-Zertifikat sperren Sie sich aus dem Backend aus. Stellen Sie sicher, dass die Site Configuration base: 'https://...' verwendet.
3 Schritt 3 von 3

Verifizieren und Preload beantragen

Leeren Sie den TYPO3-Cache und prüfen Sie den HSTS-Header. Anschließend können Sie Ihre Domain bei der HSTS Preload List registrieren.

Terminal Verifizieren
# Cache leeren
vendor/bin/typo3 cache:flush

# HSTS-Header prüfen
curl -sI https://ihre-domain.de | grep -i strict

# Erwartete Ausgabe:
# Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Preload ist quasi-permanent. Die Entfernung dauert Monate. Stellen Sie sicher, dass alle Subdomains HTTPS unterstützen, bevor Sie bei hstspreload.org einreichen.

Häufige Fehler

Doppelter HSTS-Header

Wenn Sie HSTS sowohl per TypoScript als auch per .htaccess setzen, wird der Header doppelt gesendet. Entscheiden Sie sich für eine Methode.

Header nur im Backend

lockSSL setzt HSTS nur für das Backend. Für das Frontend müssen Sie den Header separat konfigurieren.

staticfilecache ignoriert TypoScript

EXT:staticfilecache umgeht TYPO3 — TypoScript-Header werden nicht gesetzt. Nutzen Sie .htaccess oder die Webserver-Konfiguration.

Compliance-Relevanz

HSTS ist eine Grundvoraussetzung für sichere Websites. PCI DSS fordert die ausschließliche Nutzung starker Kryptografie — HSTS stellt sicher, dass keine unverschlüsselten Verbindungen möglich sind. Der Wolf-Agents Web Security Check prüft HSTS inklusive Preload-Status und max-age-Wert.

Wie steht Ihre Domain bei HSTS?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.