Shopware — Alle Security-Header-Anleitungen
Schritt-für-Schritt-Anleitungen für jeden Security Header in Shopware 6. Natives CSP-System mit Payment-Provider-Integration, EventSubscriber für weitere Header — von HSTS bis PCI DSS Compliance.
Security Headers in Shopware 6 — zwei Konfigurationswege
Shopware 6.5+ basiert auf Symfony und bietet zwei Wege zur Header-Konfiguration:
Die native shopware.yaml unter config/packages/ für das CSP-System
mit vier Kontexten (default, storefront, administration, store-api) und Symfony EventSubscriber
für alle weiteren HTTP-Security-Header.
Als DACH-Marktführer im E-Commerce verarbeitet Shopware sensible Zahlungsdaten über integrierte Payment-Provider wie PayPal, Stripe, Klarna und Mollie. Die korrekte CSP-Konfiguration ist daher nicht nur Best Practice, sondern seit März 2025 durch PCI DSS 4.0 Requirement 6.4.3 verpflichtend für alle Shops mit Online-Zahlungen.
Wichtig: Nach jeder Konfigurationsänderung muss der Shopware-Cache mit
bin/console cache:clear geleert werden. Ohne Cache-Invalidierung werden neue
Header-Konfigurationen nicht wirksam.
Shopware-Anleitungen nach Thema
Jede Anleitung erklärt einen Security Header Schritt für Schritt — mit Shopware-spezifischen Konfigurationen für shopware.yaml und EventSubscriber. Die Punkte zeigen den Einfluss auf Ihre Web Security Note.
Implementierungs-Architektur
Security Headers zentral über shopware.yaml und Symfony EventSubscriber — 4 CSP-Kontexte und Plugin-System.
Content Security Policy (CSP)
Natives CSP über shopware.yaml csp_templates mit %nonce%, Payment-Provider-Domains und Storefront vs Administration.
HTTP Strict Transport Security
HTTPS erzwingen per shopware.yaml oder EventSubscriber — SSL-Konfiguration für Storefront und Admin.
Sichere Cookie-Konfiguration
framework.yaml Session-Config: SameSite, Secure, HttpOnly für Storefront- und Admin-Sessions.
Permissions Policy
Browser-APIs einschränken per EventSubscriber — Kamera, Mikrofon, Geolocation und Payment sperren.
Clickjacking-Schutz
X-Frame-Options per EventSubscriber — Payment-iFrames erlauben, Administration schützen.
Referrer-Policy
Referrer-Informationen kontrollieren per EventSubscriber — Datenschutz für Checkout und Kundendaten.
X-Content-Type-Options
MIME-Sniffing verhindern per EventSubscriber — Schutz für Upload-Dateien und Assets.
Cross-Origin Headers
CORP, COEP und COOP per EventSubscriber — Vorsicht mit Payment-iFrames und externen Integrationen.
Subresource Integrity
Hash-Prüfung externer Scripts in Twig-Templates — Shopware Asset-System und Build-Pipeline.
security.txt
Kontaktdatei unter public/.well-known/ — direkt im Shopware-Root oder per Plugin.
TLS & Zertifikate
TLS auf Server-Ebene plus Shopware Sales Channel Domain-Einstellungen mit HTTPS.
Cache-Control
shopware.yaml http_cache Config, Varnish-Integration und sicherheitsrelevante Cache-Direktiven.
Reporting API
Report-To und Reporting-Endpoints per EventSubscriber — CSP-Violations automatisch erfassen.
Clear-Site-Data
Browser-Daten beim Logout löschen über EventSubscriber auf customer.logout Route.
Erweiterte Header
Origin-Agent-Cluster, Fetch Metadata und X-DNS-Prefetch-Control per EventSubscriber.
In 3 Schritten zum sicheren Shopware-Shop
Status prüfen
Starten Sie mit dem kostenlosen Web Security Check. 166 Prüfpunkte zeigen Ihnen in Sekunden, welche Header fehlen und wo Handlungsbedarf besteht.
CSP über shopware.yaml konfigurieren
Nutzen Sie das native CSP-System in
config/packages/shopware.yaml mit csp_templates. Definieren Sie
separate Policies für Storefront und Administration — inklusive Payment-Provider-Domains.
EventSubscriber für weitere Header
Erstellen Sie einen Symfony EventSubscriber für HSTS, Referrer-Policy, X-Content-Type-Options und alle weiteren Header, die nicht nativ in shopware.yaml konfigurierbar sind.
Nicht Shopware? Andere Anleitungen verfügbar
Webserver
CMS & Shop-Systeme
Frameworks & Sprachen
Hosting-Anbieter
Wie sicher ist Ihre Website?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.
Häufig gestellte Fragen
Wie funktioniert das native CSP-System in Shopware 6?
Shopware 6.5+ bietet ein natives CSP-System über config/packages/shopware.yaml unter shopware.security.csp_templates. Sie definieren CSP-Regeln für vier Kontexte: default, storefront, administration und store-api. Shopware unterstützt den %nonce%-Platzhalter, der automatisch pro Request durch einen kryptographisch sicheren Nonce ersetzt wird.
Welche Payment-Provider-Domains muss ich in der CSP freigeben?
Die häufigsten: PayPal (*.paypal.com, *.paypalobjects.com), Stripe (js.stripe.com, *.stripe.com), Klarna (*.klarna.com, *.klarnaservices.com), Mollie (js.mollie.com, *.mollie.com) und Amazon Pay (*.amazonpay.com, *.amazon.de). Jeder Provider braucht Einträge in script-src, frame-src und connect-src. Ohne diese Domains bricht der Checkout.
Was ist der Unterschied zwischen Shopware Cloud und Self-Hosted?
Bei Shopware Cloud haben Sie keinen Zugriff auf Server-Konfigurationen (Nginx, Apache). Security Headers konfigurieren Sie ausschließlich über shopware.yaml und Plugins. Bei Self-Hosted können Sie zusätzlich den Webserver direkt konfigurieren. Unsere Anleitungen zeigen immer beide Wege: shopware.yaml (funktioniert überall) und EventSubscriber (Self-Hosted und Cloud).
Wie setze ich Header die nicht in shopware.yaml konfigurierbar sind?
Über einen Symfony EventSubscriber. Sie erstellen eine PHP-Klasse die auf kernel.response Events hört und dort beliebige HTTP-Header setzt. Der EventSubscriber wird als Service in services.xml registriert und funktioniert sowohl in Shopware Cloud als auch Self-Hosted. Für Header wie Permissions-Policy, Referrer-Policy oder X-Content-Type-Options ist das der empfohlene Weg.
Ist Shopware PCI DSS 4.0 konform ohne CSP?
Nein. PCI DSS 4.0 Requirement 6.4.3 (seit März 2025 verpflichtend) fordert, dass alle auf Zahlungsseiten geladenen Scripts autorisiert und überwacht werden. Eine Content Security Policy ist die effektivste Methode diese Anforderung zu erfüllen. Ohne CSP auf dem Checkout riskieren Sie die PCI-DSS-Compliance — besonders relevant für Shopware-Shops mit integrierten Payment-Providern.