Security-Header-Architektur für LiteSpeed

Alle Security Headers an einem Ort: .htaccess, Web Admin Console oder Virtual-Host-Config — die konsolidierte Architektur für OpenLiteSpeed und LiteSpeed Enterprise.

LiteSpeed · Schritt für Schritt

Konsolidierte Header-Architektur in LiteSpeed

LiteSpeed bietet als Apache-kompatibler Hochleistungs-Webserver drei Wege, Security Headers zu konfigurieren. Die Wahl des richtigen Ansatzes hängt von Ihrer Server-Umgebung ab: Shared Hosting mit .htaccess, eigener Server mit Virtual-Host-Config oder die grafische Web Admin Console.

Der entscheidende Unterschied zu Apache: LiteSpeed cached .htaccess-Dateien. Änderungen werden nicht sofort wirksam — ein Graceful Restart ist nötig. Die Web Admin Console (Port 7080) hat außerdem Vorrang über .htaccess-Direktiven. Der Wolf-Agents Web Security Check prüft 166 Punkte und zeigt, welche Header fehlen.

Diese Anleitung zeigt die zentrale Konfiguration aller Security Headers in einer einzigen Datei — statt Header für Header einzeln zu konfigurieren. Ideal als Ausgangspunkt, bevor Sie in den Einzelkapiteln Feintuning vornehmen.

1 Variante 1: .htaccess

Zentrale .htaccess mit allen Security Headers

Die .htaccess-Methode ist ideal für Shared Hosting bei DACH-Hostern wie Hetzner, Strato oder IONOS, wo LiteSpeed häufig als Apache-Ersatz eingesetzt wird. Die Apache-kompatible mod_headers-Syntax funktioniert ohne Anpassungen. Legen Sie die Datei im Document Root ab.

.htaccess (Document Root) Apache-kompatibel
# .htaccess — Alle Security Headers (LiteSpeed-kompatibel)
<IfModule mod_headers.c>
    # --- Transport Security ---
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS

    # --- Content Security ---
    Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self'; frame-ancestors 'self'; object-src 'none'; base-uri 'self'; form-action 'self'"

    # --- Clickjacking & MIME ---
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"

    # --- Permissions ---
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()"

    # --- Cross-Origin ---
    Header always set Cross-Origin-Opener-Policy "same-origin"
    Header always set Cross-Origin-Resource-Policy "same-origin"
</IfModule>

# HTTP → HTTPS Redirect
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
LiteSpeed cached .htaccess!

Anders als Apache liest LiteSpeed .htaccess-Dateien nicht bei jedem Request neu. Nach Änderungen müssen Sie einen Graceful Restart ausführen: /usr/local/lsws/bin/lswsctrl restart oder über die Web Admin Console.

2 Variante 2: Virtual-Host-Config

Header in der vhconf.conf

Auf eigenen Servern mit Root-Zugriff ist die Virtual-Host-Konfiguration die bevorzugte Methode. Header in der vhconf.conf werden serverseitig verwaltet, sind nicht durch .htaccess überschreibbar und bieten volle Kontrolle über alle Kontexte.

vhconf.conf Empfohlen
# /usr/local/lsws/conf/vhosts/example/vhconf.conf
# Virtual Host > Context > Header Operations

context / {
  type                    NULL
  location                $DOC_ROOT/

  extraHeaders {
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; object-src 'none'; base-uri 'self'"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  }
}
Web Admin Console (Port 7080)

Alternativ können Sie Header über die grafische Oberfläche setzen: Virtual Hosts > [vhost] > Context > Header Operations. Einstellungen der Web Admin Console haben höchste Priorität und überschreiben .htaccess und vhconf.conf.

Verifizierung nach dem Graceful Restart

Nach dem Setzen der Header ist ein Graceful Restart zwingend erforderlich, damit LiteSpeed den .htaccess-Cache aktualisiert. Prüfen Sie anschließend alle Header mit einem einzigen curl-Befehl. Der Wolf-Agents Web Security Check verifiziert alle 166 Prüfpunkte automatisch.

Terminal Verifizierung
# 1. Graceful Restart (LiteSpeed cached .htaccess!)
/usr/local/lsws/bin/lswsctrl restart
# oder: systemctl reload lsws

# 2. Alle Security Headers prüfen
curl -sI https://ihre-domain.de | grep -iE "strict-transport|content-security|x-content-type|x-frame|referrer-policy|permissions-policy"

# Erwartete Ausgabe:
# Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
# Content-Security-Policy: default-src 'self'; ...
# X-Content-Type-Options: nosniff
# X-Frame-Options: SAMEORIGIN
# Referrer-Policy: strict-origin-when-cross-origin
# Permissions-Policy: camera=(), microphone=(), geolocation=()

# 3. LiteSpeed-Version prüfen
/usr/local/lsws/bin/lshttpd -v
Auf Shared Hosting ohne SSH-Zugriff können Sie den Cache-Flush über das Plesk LiteSpeed-Plugin oder den Hoster-Support anstoßen. Alternativ ändert sich der Cache automatisch nach dem konfigurierten TTL.

Häufige Fehler bei der LiteSpeed-Architektur

LiteSpeed-spezifische Fallstricke unterscheiden sich deutlich von Apache. Diese Fehler treten in der Praxis am häufigsten auf und führen zu fehlenden oder falschen Security Headers.

Web Admin Console überschreibt .htaccess

Header in der Web Admin Console haben höchste Priorität. Wenn Sie dort bereits Header gesetzt haben, werden .htaccess-Direktiven ignoriert. Prüfen Sie Virtual Hosts > Context > Header Operations.

.htaccess-Änderungen nicht sichtbar

LiteSpeed cached .htaccess-Dateien. Nach Änderungen ist ein Graceful Restart nötig: /usr/local/lsws/bin/lswsctrl restart. Ohne Restart bleiben alte Header aktiv.

Plesk LiteSpeed-Plugin überschreibt manuelle Config

Das Plesk LiteSpeed-Plugin hat ein eigenes Header-Management. Manuelle Änderungen an der vhconf.conf können beim nächsten Plesk-Update überschrieben werden. Nutzen Sie das Plugin-Interface oder .htaccess.

OpenLiteSpeed vs. LSWS Config-Pfade

OpenLiteSpeed: /usr/local/lsws/conf/httpd_config.conf. LSWS mit cPanel: /usr/local/lsws/conf/httpd_config.xml. Die Pfade und Formate unterscheiden sich — prüfen Sie Ihre Installation.

Compliance-Relevanz

Eine konsolidierte Header-Architektur erleichtert die Erfüllung regulatorischer Anforderungen erheblich. Alle Header an einem Ort bedeutet: ein Audit-Punkt, ein Change-Log, ein Review-Prozess.

PCI DSS 4.0 (Anforderung 6.4.3) fordert die Kontrolle aller auf Zahlungsseiten geladenen Scripts — eine zentrale CSP-Konfiguration erfüllt diese Anforderung. NIS2 verlangt technische Maßnahmen zur Cybersicherheit, und BSI IT-Grundschutz empfiehlt den Einsatz von Security Headers als Härtungsmaßnahme. Der Wolf-Agents Web Security Check dokumentiert den Umsetzungsstand mit 166 Prüfpunkten.

Wie steht Ihre Domain bei Implementierungs-Architektur?

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

Häufig gestellte Fragen

Welche Methode hat Vorrang bei Konflikten?

Die LiteSpeed Web Admin Console hat die höchste Priorität, gefolgt von der Virtual-Host-Konfiguration (vhconf.conf). .htaccess-Direktiven werden zuletzt ausgewertet. Bei Konflikten gewinnt immer die höhere Ebene.

Warum werden meine .htaccess-Änderungen nicht sofort wirksam?

LiteSpeed cached .htaccess-Dateien für bessere Performance. Anders als Apache liest LiteSpeed die Datei nicht bei jedem Request neu. Führen Sie einen Graceful Restart durch oder nutzen Sie die Web Admin Console zum Cache-Flush.

Funktioniert die gleiche .htaccess auf Apache und LiteSpeed?

Ja, LiteSpeed ist vollständig .htaccess-kompatibel. Die gleichen mod_headers-Direktiven funktionieren auf beiden Servern. Beachten Sie jedoch, dass LiteSpeed .htaccess cached — Änderungen sind nicht sofort sichtbar.

Was ist der Unterschied zwischen OpenLiteSpeed und LSWS?

OpenLiteSpeed (OLS) ist die kostenlose Open-Source-Version. LiteSpeed Enterprise (LSWS) bietet zusätzlich LSCache, mod_security-Kompatibilität und cPanel/Plesk-Integration. Beide unterstützen die gleiche .htaccess-Syntax und Web Admin Console.