Was ist Cross-Site-Request-Forgery (CSRF)?

Hacker Security

Seit einiger Zeit setzt Shopware auf den Einsatz einer Token Protection gegen CSRF Attacken. Doch was hat es damit auf sich? Und solltest Du die CSRF Protection einfach deaktivieren?

Gleich vorweg meine klare Antwort auf diese Frage: NEIN. Shopware bietet zwar die Möglichkeit CSRF global in der Config zu deaktivieren (siehe nachfolgende Konfiguration für die config.php), allerdings verlierst Du damit einen wichtigen Schutzmechanismus für Dein System.

// CSRF Schutz global deaktivieren
csrfProtection' => [
    'frontend' => false,
    'backend' => false
]

Mögliche Lösungen für ein Problem mit der CSRF Protection

Da die CSRF Protection in Shopware aktuell (5.2.10) immer wieder zu Fragen und Problemen führt, habe ich in einem anderen Artikel bekannte Lösungen und Workarounds gesammelt: https://synonymous.rocks/shopware-5-2-csrf-token-is-invalid/

Doch was ist CSRF eigentlich?

Und warum ist dieser Schutzmechanismus so wichtig? Nachdem es im Netz umfassende und detaillierte Beschreibungen zu CSRF gibt möchte ich hier nur kurz und knapp mit einem Beispiel erläutern, warum CSRF Attacken für Dein System gefährlich werden können. Im Grunde geht es darum, dass ein Angreifer den Browser Deiner Kunden bzw. deren User Session mißbraucht um einen Request an den Server zu senden.

Ein kurzes Beispiel: Ein Kunde ist in Deinem Shop mit seiner E-Mail Adresse und seinem Passwort eingeloggt. Der Angreifer schafft es nun in seinem Namen einen Request an Deinen Server zu senden, der dafür sorgt, dass sein Passwort auf eines das dem Angreifer bekannt ist geändert wird. Weiters liest er die E-Mail Adresse aus – zum Beispiel aus einem HTML Element – und sendet diese an den Server des Angreifers, wo sie zusammen mit dem Passwort gespeichert wird. Schon kann sich der Angreifer mit dem Account Deines Kunden einloggen und z.B. seine Bestellungen verändern oder in seinem Namen bestellen.

Wie kann der Angreifer in meinem Namen einen Request schicken?

Hier gibt es mehrere Möglichkeiten. Eine sehr populäre Variante ist XSS (Cross-Site-Scripting). Dabei schreibt der Angreifer zum Beispiel ein Kommentar zu einem Produkt und hinterlegt mit diesem Kommentar den Aufruf eines externen (Java-)Scripts. Wenn nun ein eingeloggter Kunde dieses Kommentar liest, kann das Script den entsprechenden Request an Deinen Server im Namen des Kunden senden und entsprechenden Schaden verursachen.

Wie schützt die CSRF Protection?

Die CSRF Protection sorgt nun dafür, dass jeder Request vom Client an den Server mit einem „Token“ (ein eindeutiger Schlüssel) versehen wird der sicherstellt, dass der Request tatsächlich von Dir kommt. Damit das Script nun seinen schädigenden Request erfolgreich abschicken kann, müsste der Angreifer den Token herausfinden, was einen Angriff erheblich erschwert.

Wie Du an diesem kurzen Beispiel siehst, ist die CSRF Protection ein wichtiger Faktor in Sachen Security und sollte bei Shopware keinesfalls deaktiviert werden.

Zusammenfassung
Was ist Cross-Site-Request-Forgery (CSRF)?
Titel
Was ist Cross-Site-Request-Forgery (CSRF)?
Beschreibung
Seit einiger Zeit setzt Shopware auf den Einsatz einer Token Protection gegen CSRF Attacken. Doch was hat es damit auf sich? Und solltest Du die CSRF Protection einfach deaktivieren?
Autor
Publisher
synonymous.rocks
Logo

2 Kommentare

In diesem Beitrag kannst Du Kommentare verfassen.


  • Wäre nur schon wenn das keine Probleme bereiten würde. Kann mich bei Shopware 5.2.10 nicht mehr am Handy einloggen. Immer CSRF Fehler, selbst das deaktivieren bringt nichts, dann kommt zwar nicht die ups…Seite aber die Login Seite wird einfach so neu geladen…

    Markus 2 Jahren ago Antworten


  • Das klingt sinnvoll.
    Aber wir brauchen eine Lösung, wie das Ganze dann auch problemlos funktioniert.
    Unsere Kunden jedenfalls dürfen UNTER KEINEN UMSTÄNDEN ihr Passwort vergessen. 😀 Also bitte, falls jemandem etwas dazu einfällt…. Bitte bitte bitte….

    weblab 1 Jahr ago Antworten


Kommentar verfassen

Folge mir auf Twitter

Hol Dir kostenlos Tipps und Tricks zu Shopware, E-Commerce und andere Open-Source Produkte.

Folge @synonymousrocks