["gelöst"] Fehlermeldungen des Shops bzgl. Outlook und Autodiscover nach Update auf 5.2. wg. X-CSRF

Hallo,

ich hoffe ihr könnt mir helfen, ich komme leider nicht weiter. Habe heute auf Shopware 5.2.2. geupdated und nun bekomme ich stündlich vier Emails mit folgendem Fehler-Inhalt:

ERROR

Message:

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/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Components/CSRFTokenValidator.php:151
Stack trace:
#0 [internal function]: Shopware\Components\CSRFTokenValidator->checkFrontendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#2 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#3 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Library/Enlight/Controller/Action.php(143): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#4 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('indexAction')
#5 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#6 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()
#7 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Components/HttpCache/AppCache.php(133): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#13 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /var/www/vhosts/werbeartikel-welt.com/httpdocs/shopware/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#15 {main}

Time:

2016-07-23T21:31:04.893669+0200

Channel:

core

request:

{
    "uri": "/autodiscover/autodiscover.xml",
    "method": "POST",
    "query": {
        "module": "frontend",
        "controller": "autodiscover",
        "action": "autodiscover.xml"
    },
    "post": []
}

session:

{
    "sessionId": "5822d9b35b7249ae37addb4a52230ecfd6406bbf",
    "sArea": null,
    "sCountry": null,
    "sState": null,
    "X-CSRF-Token": "Ryf49NE9QgdVqhzwIOokcRBIrDUVhZ",
    "Bot": null
}

 

Vielen Dank schon mal.

 

Gruß,

Manuel

Was ist denn die Seite autodiscover? Würde sagen da ist was nicht 5.2 kompatibel.

/autodiscover/autodiscover.xml gehört zur Outlook Anywhere (Outlook/Office 365) Funktion.

VG

Was hat denn Autodiscover mit Deinem Shop zu schaffen?? Ich kenne das nur als automatische Auflösung des Exchange Servers / Office365 Servers anhand eines speziellen DNS Eintrags. Und autodiscover.xml ist sicher keine gültige Methode…

Hi, ich habe das Problem auch.

"uri": "/autodiscover/autodiscover.xml",
    "method": "POST",
    "query": {
        "module": "frontend",
        "controller": "autodiscover",
        "action": "autodiscover.xml"
    },
    "post": []
}

Wir nutzen halt den Office365 für Exchange und haben auf unserer Domain folgende Einträge gesetzt:

Jedesmal wenn jetzt eine Outlook Installation gestartet wird bzw. versucht seite Serverdaten abzugleichen bekomme ich von der Shopware eine Fehlermeldung.

Martin Wagner

Also ich hab mal alles durchgeschaut.

  • Das etwas nicht 5.2.2. kompatibel ist sollte eigentlich nicht sein.

  • Nun habe ich mit dem Microsoft Remote Connectivity Analyzer mal getestet und bekomme folgende Fehlermeldung:

    Attempting to test potential Autodiscover URL https://werbeartikel-welt.com:443/Autodiscover/Autodiscover.xml
    Testing of this potential Autodiscover URL failed.
    […]
    The specified port is either blocked, not listening, or not producing the expected response.
    […]
    Analyzing the certificate chains for compatibility problems with versions of Windows.
    Potential compatibility problems were identified with some versions of Windows.
    Additional Details
    The Microsoft Connectivity Analyzer can only validate the certificate chain using the Root Certificate Update functionality from Windows Update. Your certificate may not be trusted on Windows if the „Update Root Certificates“ feature isn’t enabled.

Kann ich nicht nachvollziehen, vor diesem Wochenende (Update auf 5.2.2.) gab es keine Probleme.

 

Auch kommen weiterhin Emails an und werden versandt. Und die Fehlermeldung schickt ja mein Shopware-Shop.

Bin grad ratlos…

Der Remote Connectivity Analyzer kann so natürlich nicht funktionieren.

https://werbeartikel-welt.com:443/Autodiscover/Autodiscover.xml ist Dein Shopware Shop - der Autodiscover Dienst ist da nicht vorhanden und hat dort auch (eigentlich) nichts zu suchen. Microsoft Outlook versucht über die Autodiscovery Funktion den zuständigen Server zu finden - so wie es aussieht, sind Eure DNS Einstellungen für die Autodiscover Funktion von Office 365 falsch.

Detaillierte Informationen zur Autodiscovery Funktion findet Ihr unter http://www.msxfaq.de/e2007/autodiscover.htm

Nur habe ich hier nichts umgestellt. Die DNS Einstellungen sind genauso wie von Microsoft vorgegeben und haben immer funktioniert.

Host Nameautodiscover

TypeCNAME

Addressautodiscover.outlook.com

Es schaut auch alles korrekt aus.

nslookup autodiscover.werbeartikel-welt.com
Server: 8.8.8.8
Address: 8.8.8.8#53
 
Non-authoritative answer:
autodiscover.werbeartikel-welt.com canonical name = autodiscover.outlook.com.
autodiscover.outlook.com canonical name = autodiscover.geo.outlook.com.
autodiscover.geo.outlook.com canonical name = autodiscover.outlook.com.g.outlook.com.
autodiscover.outlook.com.g.outlook.com canonical name = autodiscover-emeacenter.outlook.com.
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.196.40
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.229.120
Name: autodiscover-emeacenter.outlook.com
Address: 40.101.17.104
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.68.248
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.228.200
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.77.40
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.56.120
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.48.40
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.55.8
Name: autodiscover-emeacenter.outlook.com
Address: 132.245.48.24

 

Wie erwähnt - es hat mit Office 365 / DNS / Outlook und der Autodiscovery Funktion zu tun, nicht mit Deinem Shopware Shop.

Das mag ja sein. Bleiben für mich aber weiterhin 2 Fragen offen:

  • warum gibt es dann Email-seitig keine Probleme?
  • warum schickt mir mein Shop die Fehlermeldungen (und nicht z.B. Microsoft)?

Bleibt für mich nur die Vermutung, dass der Shop ein Problem hat (oder meint zu haben) sich mit dem Office365-Konto zu verbinden, aber die Mailer-Konfiguration wurde auch nicht geändert und sollte korrekt sein. Außerdem könnte der Shop ja sonst die Email so nicht verschicken.

Ich könnte natürlich einfach ausstellen, dass der Shop Fehlermeldungen an mich sendet und alles würde ganz problemlos laufen, aber das kann ja auch nicht die Lösung sein…

Update vom Microsoft Support:

Wie telefonisch besprochen, anhand des Autodiscover-Testes ist bei Ihnen den Autodiscover-Dienst ordentlich konfiguriert und es sind keine Probleme dabei zu beachten.

Im Teil, wo https://werbeartikel-welt.com:443/Autodiscover/Autodiscover.xml fehlschlägt - so soll es sein und es ist normal. Für Office365 (Exchange Online Postfächer) wird https://autodiscover-s.outlook.com/Autodiscover/Autodiscover.xml  verwendet, was sich als erfolgreich erweist.

Daran liegts also schon mal nicht.

Prinipiell stört dann eigentlich nur, dass der Shop die Fehlermeldung versendet.

@MIRR_DE schrieb:

Update vom Microsoft Support:

[…] Im Teil, wo https://werbeartikel-welt.com:443/Autodiscover/Autodiscover.xml fehlschlägt - so soll es sein und es ist normal. Für Office365 (Exchange Online Postfächer) wird https://autodiscover-s.outlook.com/Autodiscover/Autodiscover.xml  verwendet, was sich als erfolgreich erweist.

Daran liegts also schon mal nicht.

 Doch. Genau daran liegts. Warum hier von Microsoft eine Konfiguration die bewusst fehlschlagen soll als korrekt und „normal“ dargestellt wird ist mir schleierhaft. Warum gibt es die dann?

Dein Outlook versucht im Shop den Controller autodiscover aufzurufen und den gibt es nicht. Das ist ein Fehler von Outlook. Der Shop bemerkt dann den Fehler und meldet ihn dir. Vermutlich hat sich mit dem Update einfach das Handling nicht vorhandener Controller geändert, so dass hier jetzt eine Fehlermeldung erzeugt wird. Vorher gab es vermutlich einfach einen 404 den Outlook und der Shop dann einfach ignoriert haben.

Ergo: Nimm deine Shopurl aus der Autodiscover Konfiguration oder ignorier die Fehlermeldungen. An deinem Shop ist nichts kaputt, Outlook versucht etwas im Shop aufzurufen das es nicht gibt.

2 „Gefällt mir“

Warum dies jetzt erst mit Shopware 5.2.2 auftritt ist auch einfach zu erklären - siehe Deine ursprüngliche Fehlermeldung:

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/vhosts/werbeartikel-welt.com/httpdocs/shopware/engine/Shopware/Components/CSRFTokenValidator.php:15

Shopware hat mit Version 5.2 zusätzliche Sicherheitsfunktionen eingebaut zur Vermeidung von externen Zugriffen - einfach hier im Forum mal nach „The provided X-CSRF-Token is invalid“ suchen bzw. siehe Shopware Dev Docs.

Dein Outlook versucht eine nicht existente URL in Deinem Shopware Shop aufzurufen (/autodiscover/autodiscover.xml) und wird entsprechend abgeworfen.

1 „Gefällt mir“

Ok. Soweit verstanden. Vielen Dank für die Erklärung. Bin ich wieder ein Stück schlauer.

Da der Abruf von Microsoft aber anscheinend ja so gewollt ist muss ich den Controller “Autodiscover” irgendwie in die Whitelist bringen. Könnt ihr mir erklären wie das geht? Dafür kenn ich mich leider zu wenig aus.

Du kannst diese Sicherheitsfunktion auch komplett abschalten - dann ist auch mit den emails Ruhe, die durch das Outlook Autodiscover Problem in Verbindung mit dem X-CSRF Token generiert werden - siehe https://forum.shopware.com/discussion/comment/166541/#Comment_166541

Ok, das war mir klar. Trotzdem vielen Dank.

Gibt es denn eine Möglichkeit nur das Outlook Autodiscover zu whitelisten? Denn aus Sicherheitsgründen ist CSRF ja gut und will ich nicht unbedingt ausschalten wenn nicht zwingend nötig.

Hat das Problem denn sonst niemand hier?

Das wird nicht so einfach sein. Du kannst aber versuchen, einfach in Deinem Shop-Verzeichnis die Struktur “nachzubauen”, d.h. Du legst einfach in Deinem Shop-Verzeichnis ein neues Verzeichnis “autodiscover” an und da drin eine Textdatei “autodiscover.xml” - diese würde ich zunächst leer lassen und prüfen, ob sich Outlook beschwert (normalerweise sollte mangels Inhalt Outlook versuchen, alsdann autodiscover.outlook.com aufzurufen). Klappt dies nicht, müsstest Du den Inhalt der autodiscover.xml bei Dir im Webspace entsprechend nachbauen und dort die Weiterleitung auf https://autodiscover-s.outlook.com/Autodiscover/Autodiscover.xml hinterlegen.

Siehe hierzu vorangegangenen Link

http://www.msxfaq.de/e2007/autodiscover.htm

Möglicher Inhalt (ungetestet!):

https://oc.aix-cloud.de/s/fPFZjRHK8BdckQf

 

Hi,

oh also erstmal vielen Dank für die Unterstützung @AIXPRO‍
Wir bekommen unsere eMail auch ganz normal und der DNS Eintrag ist bei uns ebenso wie von @microsoft vorgegeben wurde. Ich versuche mal deine Lösungswege nachzuvollziehen und gebe morgen Rückinfo.

Grüße

Martin Wagner

Danke für die Lösungen @AIXPRO‍.

Ich habe beide Varianten getestet, leider bleibt das Problem bestehen. Mein Shop schickt weiterhin die Fehlermeldung. Schade aber auch.

Ich würde hier eher versuchen die Ursache zu finden statt einen Workaround zu implementieren.

  • Woher kommt der Request? (Vermutlich die Mailclients)
  • Wieso schlägt er bei meinem Shopware Server auf?