Shopware CSRF Token Protection

Shopware CSRF Token Protection

In Version 5.2. brachte Shopware ein sogenanntes CSRF Token mit sich. Eine gute Sache. Eigentlich.

 

Bedauerlicherweise kommt es in Vorgängerversionen von Shopware und im Zusammenspiel mit älteren Plugins immer wieder zu Fehlermeldungen – CSRFToken is invalid.

Was bringt das Shopware CSRF Token?

CSRF (Cross-Site-Request-Forgery) ist eine ernst zu nehmende Bedrohung im Netz. Das Kürzel CSRF setzt sich aus folgender Begriff-Konstellation zusammen:

  • Cross-Site: Dies bedeutet nichts anderes, als dass das Sicherheitsrisiko durch eine andere Webseite hervorgerufen wird, also durch eine Seite, auf die wir keinen Einfluss haben.
  • Request-Forgery: Hierin ist beschrieben, dass eine Anfrage an die eigene Webseite von außen gefälscht wird.

 

Beispiel: Sie sind auf zwei verschiedenen Seiten (in zwei verschiedenen Tabs) unterwegs. Seite eins ist so manipuliert, dass sie an Seite zwei eine gefälschte Anfrage senden kann. Wird sich nun in Seite zwei eingeloggt z. B. in einer Social Media Plattform wie Facebook, kann die manipulierte Webseite Anfragen an Facebook senden, um z. B. ungewünschten Kontent über die so gekaperten Profile weiterverbreiten zu können. Wer jetzt in Panik verfällt, sollte allerdings wissen: Facebook hat natürlich mit einem eingebauten CSRF-Schutz für solche Fälle vorgesorgt.

Das Shopware CSRF Token soll sowohl vor Spam, als auch vor der geschilderten Art und Weise eines Angriffs schützen.

„Ups ein Fehler ist aufgetreten“

Leider ist dieser Schutz nur gewährleistet, wenn alles reibungslos funktioniert. Probleme treten oft nach einem Update auf Version 5.2. auf. Vorgekommen ist  beispielsweise, dass Besucher keine Artikel in den Warenkorb legen konnten oder eine Fehlermeldung mit dem Wortlaut „Ups ein Fehler ist aufgetreten“ angezeigt wurde. Shopbetreiber bekommen bei aktivierter Fehlerbenachrichtigung eine E-Mail zum Geschehen.

Um diesen Fehler zu beheben, kann unter Zuhilfenahme des folgenden Codes, eine Deaktivierung des CSRF Tokens in der config.php Datei helfen:

‚csrfProtection‘ => [

‚frontend‘ => false,

‚backend‘ => false

],

Probleme trotz Deaktivierung

Ist das Shopware CSRF Token erst mal deaktiviert, hat dies meist ebenfalls eine Fehlermeldung wegen unzustellbarer E-Mails zur Folge. Dies kann mit Einstellungen im Footer zusammenhängen. Da  Bots sich oftmals mit ungültigen E-Mail-Adressen registrieren, schickt Shopware dann folgende Fehlermeldung raus:

exception ‚Shopware\Components\CSRFTokenValidationException‘ with message ‚The provided X-CSRF-Token is invalid. Please go back, reload the page and try again.‘ in /var/www/html/engine/Shopware/Components/CSRFTokenValidator.php:161

Sollten derartige Meldungen sich häufen, oder gar überhand nehmen, so können die Benachrichtigungen von Shopware im Backend deaktiviert werden.

Alle diese Maßnahmen sind natürlich nur Behelfslösungen und sollten mit Vorsicht eingesetzt werden. Die sicherste und zielführendste Methode um trotz CSRF-Schutz Fehlermeldungen zu vermeiden ist immer noch die naheliegendste: Halten Sie Shopware und die dazugehörigen Plugins immer auf den neusten Stand! Bei Fragen hierzu geben wir Ihnen gerne Hilfestellung.