Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

E-Commerce

PayPal SSL 3.0 wird abgeschaltet: So funktioniert PayPal ab dem 03.12 in deinem Shop [Update]

    PayPal SSL 3.0 wird abgeschaltet: So funktioniert PayPal ab dem 03.12 in deinem Shop [Update]

So funktioniert die Paypal-Anpassung.(Foto: Steve Ganz / Flickr Lizenz: CC BY 2.0)

PayPal deaktiviert am 03. Dezember die SSL-3.0-Unterstützung aufgrund einer Sicherheitslücke. Wir erklären, wie Shopbetreiber weiterhin PayPal im Onlineshop akzeptieren können und welche Anpassungen gegebenenfalls durchgeführt werden müssen – mit Codebeispielen.

PayPal hat angekündigt, die Unterstützung für SSL 3.0 zu deaktivieren. In der Folge sind in den PayPal-Modulen diverser Shopsysteme entweder Änderungen nötig oder das Modul muss auf die neueste Fassung aktualisiert werden – einfach per Update. In den seltensten Fällen handelt es sich um ein Update des Shopsystems selbst – das kann maximal dann passieren, wenn das System so veraltet ist, dass es mit dem aktuellen PayPal-Modul des Herstellers nicht mehr zusammenarbeitet. Wir erklären Schritt für Schritt, wie ihr überprüfen könnt, ob euer Onlineshop betroffen ist – und was ihr in diesem Fall unternehmen müsst. Unsere Anleitung ist auch für Nicht-Programmierer verständlich.

Update vom 02. Dezember 2014: PayPal teilt soeben mit, dass die Frist für die Umstellung unter bestimmten Vorausetzungen bis zum 12. Januar 2015 verlängert wird: Händler die von dieser Regelung ausgenommen sind, wurden von PayPal bereits aktiv informiert.

PayPal wird am 3. Dezember 2014 die Unterstützung von bestimmten SSL 3.0-Versionen einstellen. Da zurzeit nicht alle Versionen von SSL 3.0 von der Sicherheitslücke POODLE betroffen sind, können wir für diese nicht betroffenen Versionen die Frist bis zum 12. Januar 2015 verlängern. Auf diese Weise bleiben die Konten unserer Kunden sicher und vor der POODLE Sicherheitslücke geschützt. Gleichzeitig ermöglichen wir es so der Mehrheit unserer Händler, während dieser für den Handel wichtigsten Jahreszeit auch weiterhin PayPal-Zahlungen abzuwickeln. Am 12. Januar 2015 wird PayPal die Unterstützung aller SSL 3.0 Versionen vollständig einstellen.Trotz unserer Bemühungen der Abmilderung wird eine kleine Anzahl an Händlern nach dem 3. Dezember 2014 keine PayPal-Zahlungen mehr abwickeln können, da ihre Integration durch POODLE angreifbar ist. Diese Unternehmen müssen vor dem Ablauf der Frist bis zum 3. Dezember ein Upgrade ihrer Integration vornehmen. Wir stehen in direktem Kontakt mit diesen Händlern, um diese bestmöglich bei der Vorbereitung zu unterstützen und mögliche Auswirkungen zu minimieren.POODLE SSL v3 technische Verlängerung bis zum 12. Januar 2015 | 2. Dezember 2014 PayPal-Blog

Update vom 25. November 2014: PayPal informiert bekannte betroffene Händler per Mail und blendet im Händlerkonto seit vergangener Woche eine Meldung ein, die unter anderem auch die unten aufgeführten Informationen enthält. Darüberhinaus haben die PayPal-Techniker eine Microsite mit weiterführenden Informationen eingerichtet zum Thema des Poodle-Sicherheitslecks. Dort finden sich Links zu Lösungen für die Shopsysteme ASecureCart, CubeCart, Etsy, Gambio, GoDaddy, Magento, Miva, OpenCart, osCommerce, OXID, PrestaShop, WP eCommerce, X-Cart, xt:Commerce, ZenCart sowie zu den betroffenen SDKs und API-Endpoints. Händler finden dort ebenfalls den deutschsprachigen „Merchant-Response-Guide“, eine Zusammenstellung von Handlungsempfehlungen.
Paypal-SSL-3-Problem: Paypal-Module oder auch Shopsysteme müssen aktuell angepasst oder aktualisiert werden, damit ab dem 03. Dezember weiterhin Paypal-Zahlungen akzeptiert werden können.  (Screenshot: electronista.com)
PayPal-SSL-3-Problem: PayPal-Module oder auch Shopsysteme müssen aktuell angepasst oder aktualisiert werden, damit ab dem 03. Dezember weiterhin PayPal-Zahlungen akzeptiert werden können. (Screenshot: electronista.com)

PayPal schaltet SSL 3.0 ab: Was soll das eigentlich?

Ganz kurz gesagt: Es handelt sich hier bei um ein veraltetes Protokoll für eine gesicherte Internetverbindung, das heute eigentlich nicht mehr im Einsatz sein sollte. Die meisten Webserver kommunizieren mit Zahlungsanbietern bereits über das neuere TLS-Protokoll. Vor kurzem ist eine Sicherheitslücke beziehungsweise eine Attacke namens „Poodle“ bekannt geworden, die PayPal zum Handeln zwingt – genauer gesagt: zur Abschaltung des Protokolls. In der Folge müssen Shopbetreiber ihre PayPal-Module auf den neuesten Stand bringen.

PayPal SSL 3.0 Abschaltung: Hier liegt das Problem

Beteiligt an dem Prozess sind das Shopsystem, die PayPal-Module oder Plugins in eurem Shopsystem und euer Webserver. Der Webserver muss über TLS kommunizieren können, das ist aber eigentlich schon Standard, insofern sollten hier keine Änderungen nötig sein. Das Shopsystem hat eigentlich am wenigsten mit dem eigentlichen Problem zu tun, es kann eher indirekt betroffen sein, falls ein neues System nötig ist, um auch ein neues PayPal-Modul installieren zu können.

Das PayPal-Modul, das für die Zahlungsabwicklung zuständig ist, nutzt in manchen Fällen Bibliotheken, die eine Verbindung über cURL herstellen. Das ist ein Programm beziehungsweise eine Bibliothek, die Dateiübertragungen vornimmt. Soweit, so gut. Jetzt kommt der Haken, der bei einigen Shopsystemen zu einer notwendigen Änderung führt: Manche PayPal-Bibliotheken zwingen cURL dazu, die Kommunikation des Webservers mit PayPal über die SSL-Version 3.0 herzustellen. Normalerweise sucht sich cURL selbst die beste Verbindungsart aus, damit wäre das Problem behoben. So sind leider Änderungen nötig.

Die Checkliste: So funktioniert PayPal weiterhin in eurem Onlineshop

  1. Überprüfen, ob ihr betroffen seid: In unserem Artikel „PayPal deaktiviert SSL 3.0: „Diese Shopsysteme müssen jetzt aktualisiert werden“ findet ihr Informationen zu den gängigsten Shopsystemen.
  2. Keine Infos zu eurem Shopsystem gefunden? Kontaktiert den Hersteller eures PayPal-Moduls. Wenn ihr unsicher seid, wer das ist: Kontaktiert zunächst den Shophersteller. Anmerkung: Der Webhoster ist nicht der richtige Ansprechpartner.
  3. Wenn ihr jetzt feststellt, dass ihr euer System selbst anpassen müsst, findet ihr weitere Informationen einen Absatz tiefer.
  4. Backup vom Live-System anfertigen, zum Beispiel den Hoster einen Snapshot anfertigen lassen.
  5. Update des PayPal-Moduls oder Shopsystems durchführen.

Die Probe: Ist mein Shop betroffen?

Um es klar zu sagen: So weit sollte es eigentlich nicht kommen. Der Systemhersteller oder der Modul-Hersteller sollten euch mit Informationen versorgen, ob ihr betroffen seid oder nicht. In den meisten Fällen ist das in den letzten Tagen auch passiert. Es gibt neben der simplen Möglichkeit, sich zu informieren, nämlich nur zwei praktische Vorgehensweisen, um festzustellen, ob der eigene Onlineshop betroffen ist:

  • Die PayPal-Zahlungen im System auf die Sandbox umstellen und einen Probeeinkauf durchführen. Wenn kein zusätzliches Entwicklungssystem vorhanden ist, wird es heikel: Das Umstellen auf die Sandbox hat zur Folge, dass der Onlineshop keine PayPal-Zahlungen abwickeln kann. Bestellungen gehen verloren oder bleiben offen. Deshalb sollten Onlineshop-Betreiber einen Zeitraum wählen, in dem, schätzungsweise, rund 30 Minuten PayPal-Downtime möglichst wenig Schaden anrichten.
  • Den Quellcode der Checkout-Datei im PayPal-Modul untersuchen. Wenn eine bestimmte Zeile im Quellcode zu finden ist, dann muss eine Änderung durchgeführt werden. In der Regel müsste die Zeile aussehen wie eines der beiden unten stehenden Beispiele:
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);

Ein Schritt tiefer: Manuelle Lösung des PayPal-Problems

Der Hersteller des Shopsystems bietet keine aktualisierte Fassung des Moduls an und ihr müsst selbst feststellen, ob das System betroffen bist und wie das Problem zu lösen ist? Dann wird es jetzt etwas aufwendiger und gefährlicher, denn eine Änderung am Live-System ist notwendig. Empfohlen ist die Nutzung einer Testumgebung, um den laufenden Betrieb des Onlineshops nicht zu gefährden. Solltet ihr  keine Entwicklungsumgebung haben, ist es jetzt sinnlos, eine zu empfehlen. Da müssen wir wohl durch. Ihr solltet aber nicht ohne Backup arbeiten. Lasst euren Hoster einen Snapshot von der laufenden Umgebung machen oder findet heraus, wie ihr das selbst erledigen könnt. Folgt den nun beschriebenen Schritten:

1. Sucht die PayPal-Checkout-Datei in den Klassen. Beispielsweise „paypal-checkout.php“.

2. Fertigt ein Backup davon an.

3. Löscht die Codezeile, die hier die SSL-Version auf 3 setzt. In der Regel müsste die Zeile aussehen wie eines der beiden unten stehenden Beispiele:

curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3);
  • Die manuelle Auswahl des SSL-Protokolls aus dem Quelltext zu nehmen ist die beste Lösung. Dazu müsst ihr tatsächlich nur die Codezeile löschen, die cURL dazu zwingt, SSL 3.0 zu nutzen. Gelegentlich ist zwar zu lesen, dass man die SSL-Version auf TLS setzen soll – meiner Meinung nach nicht sinnvoll. Denn das manuelle Setzen einer fixen SSL-Version war Auslöser der ganzen Problematik – und man muss ja nicht zwei Mal hintereinander denselben Fehler begehen.

4. Funktionstüchtigkeit mit der PayPal-Sandbox prüfen.

So funktioniert die Überpüfung mit der PayPal-Sandbox

  1. Bei PayPal einen kostenlosen Sandbox-Account anlegen – wie das geht, wird in diesem PayPal-Hilfe-Dokument Schritt für Schritt auf Deutsch erklärt. In der Sandbox werden ein Händleraccount, ein Kundenaccount und eine API-Berechtigung benötigt.
  2. Bei PayPal im Entwicklerportal eingeloggt bleiben.
  3. Im Onlineshop-Backend findet sich meist eine Möglichkeit, den Sandbox-Modus einzuschalten und auch um die nötigen Informationen zu hinterlegen: die API-URL https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/ sowie die API-Berechtigung. Gibt es keinen Sandbox-Modus, muss man die Live-Integration anpacken. Unbedingt die Zugangsdaten sichern, die bisher hier eingetragen sind!
  4. Ein, zwei, drei Testeinkäufe durchführen. Bekommt ihr keine Fehlermeldung: Herzlichen Glückwunsch, ihr habt es geschafft!

Für weiterführende Informationen steht euch auch diese offizielle Hilfestellung zur PayPal-SSL-3-Problematik zur Verfügung.

Finde einen Job, den du liebst zum Thema PayPal, Sicherheitslücke

3 Reaktionen
Julian
Julian

Ich habe drei Shops getestet (über Sandbox mit Paypal). Zwei laufen auf xtCommerce 4.1.00, PayPal Plugin 2.1.5, der andere auf xtCommerce 4.0.12 mit PayPal Plugin 1.0.0. Bei allen läuft der Bestell- und Bezahlungsvorgang reibungslos durch. Sehe ich das richtig, dass dann kein Handlungsbedarf besteht? (Dass die Shops/Plugins ruhig mal geupdated werden könnten, ist mir klar.)

Antworten
ak811
ak811

Wir können hiermit bestätigen, dass die Onlineshop Software commerce:seo von diesem Problem nicht betroffen ist. Das SSL Protokoll wird bei den PayPal Zahlungsmodulen nicht auf v3 erzwungen. Wir haben das bereits getestet. Somit funktioniert der Onlineshop auch nach der Abschaltung des SSL v3 Protokolls bei PayPal :-)
Weitere Informationen auch auf http://www.commerce-seo.de

Antworten
Oink
Oink

Danke das ihr hier mal technisch ins Detail geht. Überall war nur zu lesen, das man was anpassen muss, aber nicht genau was. Bzw. war mir nicht ganz klar, wie das Paypalmodul auf SSL3 erzwungen wurde, da bei mir diese Codezeilen fehlten.

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen