Der Shopify Basis Sicherheit Guide

Hinter dem Platzhirsch WordPress ist Shopify mittlerweile das zweitbeliebteste CMS. Während andere CMS allerdings auf Vielseitigkeit setzen und das Erstellen aller möglichen Arten von Seiten (Portfolio, Shop, Forum etc.) ermöglichen, konzentriert sich Shopify auf E-Commerce Lösungen und ist dabei gerade bei kleinen und mittleren Händlern sehr erfolgreich.

Während die bekannten CMS WordPress, Joomla, Typo3 und Drupal allerdings Open Source Software sind, handelt es sich bei Shopify um eine proprietäre Lösung. Shopify stellt seine Software dabei im Rahmen eines Software as a Service (SaaS) zur Verfügung, der Kunde leistet also keine einmalige Zahlung, um die Software zu erwerben, sondern zahlt laufend für deren Nutzung.

Daraus ergeben sich Vor- aber auch Nachteile. Nachteilig ist vor allem, dass außer den Shopify Mitarbeitern niemand Zugriff auf den Sourcecode hat. Man muss also darauf vertrauen, dass bei Shopify sauber programmiert wird und keine Hintertüren in der Software versteckt sind. Bei Open Source Lösungen kann dagegen jeder den Code anschauen, wodurch Sicherheitslücken mit einer größeren Wahrscheinlichkeit gefunden werden. Positiv anzurechnen ist Shopify allerdings, dass sie an einem Bug Bounty Programm teilnehmen und somit Sicherheitsforscher für das Auffinden von Sicherheitslücken bezahlen (innerhalb der letzten 90 Tage wurden 400.000 Dollar ausgezahlt).

Der Vorteil einer SaaS Lösung ist dagegen, dass viele sicherheitsrelevante Funktionen zentral von Shopify übernommen werden. Während bei einem CMS wie WordPress jeder User selbst für das Einspielen von Updates verantwortlich ist (und es deshalb durchaus vorkommt, dass Installationen deutlich veraltet sind), werden Updates von Shopify zentral eingespielt, sodass sich der User nicht darum kümmern muss. Zudem werden den Shops SSL Zertifikate zur Verfügung gestellt, sodass sich diese nicht selbst um die Verschlüsselung kümmern müssen.

Welche CMS Lösung letzten Endes die richtige für Sie ist, hängt sicher auch von einer ganzen Reihe anderer Faktoren ab. Wir wollen Ihnen mit diesem Basis Sicherheit Guide aber eine kleine Anleitung an die Hand geben, mit der Sie Ihren Shopify Shop noch besser absichern können. Eine Kurzform dieses Guides finden Sie in Form einer Checkliste auch zum Download, damit können Sie die einzelnen Punkte dann bequem abhaken.

Zugriffe einschränken

Den Zugriff auf bestimmte Produkte einzuschränken oder Shop Zugriffe aus bestimmten Regionen zu blocken, kann nicht nur aus Sicht der IT-Sicherheit sinnvoll sein, sondern auch ganz simple monetäre Gründe haben. Beispielsweise um verschiedene Preise in verschiedenen Ländern anbieten zu können.

Mit der App Locksmith wird das möglich gemacht. Die kostenpflichtige App (9 Dollar pro Monat) bietet eine Reihe von Möglichkeiten, um Zugriffe einzuschränken. So können neben den länderspezifischen Produkten etwa auch Produkte angelegt werden, die mit einem Code geschützt sind und somit nur denjenigen zur Verfügung stehen, die diesen Code auch kennen.

Die App arbeitet dabei nach einem einfachen Prinzip: Es gibt (virtuelle) Schlösser, mit denen man seine Produkte verschließen kann. Anschließend kann man Kundengruppen basierend auf deren Attributen Schlüssel zuweisen. Beispielsweise ist Produkt A nur für eingeloggte User sichtbar, Produkt B nur für Stammkunden, die bereits für X Dollar eingekauft haben und Produkt C nur für Kunden, die über eine französische IP-Adresse auf den Shop zugreifen. Die möglichen Einstellungsmöglichkeiten sind also sehr vielseitig, sodass man durchaus ein wenig Zeit mitbringen sollte, um die App bestmöglich zu konfigurieren.

Berechtigungen festlegen

Der Account mit den höchsten Berechtigungen wird bei Shopify nicht Admin, sondern Store Owner genannt, also der Eigentümer des Shops. Typischerweise ist dies die Person die den Shop eröffnet hat. Über die Adminoberfläche/Settings/Plans and Permissions kann der aktuelle Store Owner eingesehen werden. Nur Store Owner hat den vollen Zugriff auf alle Shopify Funktionen, da zudem nur ein einziger Store Owner existieren kann, sollte man sich hier gut überlegen, wer diese Rolle ausfüllt.

Zusätzlich zum Store Owner können auch Accounts für Staff Member angelegt werden. Die Anzahl dieser Accounts hängt allerdings von der genauen Shopify Version ab, für die Sie sich entschieden haben. Im Basis Plan (29 Dollar monatlich) sind lediglich zwei Staff Accounts enthalten, während es beim Advanced Plan (299 Dollar monatlich) bis zu 15 Staff Accounts sind.

Nach dem Hinzufügen eines Mitarbeiters hat dieser zunächst keinerlei Berechtigungen. Es mag etwas umständlich klingen, nun alle Berechtigungen einzeln zuweisen zu müssen, allerdings wird dadurch auch sichergestellt, dass möglichst niemand Berechtigungen erhält, die er nicht für seine Arbeit benötigt.

Die Berechtigungen können dabei direkt beim Anlegen eines neuen Mitarbeiters vergeben werden: In den Settings muss Plans and Permissions ausgewählt werden, anschließend kann über Add Staff ein neuer Mitarbeiter hinzugefügt werden (Name und Emailadresse sind nötig). Diesem Mitarbeiter können nun durch Anklicken der einzelnen Berechtigungen Rechte verliehen werden.

Sollen Berechtigungen zu einem späteren Zeitpunkt geändert werden, funktioniert dies ebenfalls im Plans and Permissions Menü. Dort muss der jeweilige Mitarbeiter angeklickt werden und anschließend können ihm zusätzliche Berechtigungen verliehen, bzw. bestehende Berechtigungen entzogen werden.

Wenn Mitarbeiter längere Zeit ihre Aufgaben nicht wahrnehmen können (z.B. aufgrund Krankheit oder eines Sabbaticals) sollten Ihre Accounts für diesen Zeitraum nicht aktiv sein. Shopify bietet deshalb die Möglichkeit, Accounts zu deaktivieren. Der entsprechende Mitarbeiter kann sich dann nicht mehr einloggen, der Account kann aber zu einem späteren Zeitpunkt wieder reaktiviert werden, sodass kein erneutes Anlegen des Accounts nötig ist.

Verlässt ein Mitarbeiter die Firma endgültig, muss sein Account gelöscht werden. Dazu kann unter Plans and Permissions der Mitarbeiter ausgewählt werden und anschließend Delete Staff bzw. Remove Staff geklickt werden.

Da Shopify vor allem unter kleinen Unternehmen und Startups weit verbreitet ist und diese Unternehmen oft stark und somit oft auch chaotisch wachsen, ist es wichtig, diesen Punkt nicht zu vergessen. Ansonsten können solche vergessenen Accounts ein bedeutendes Risiko darstellen.

Security Apps nutzen

Wie auch andere CMS bietet Shopify die Möglichkeit, den Funktionsumfang der Kernsoftware durch Lösungen von Drittanbietern zu erweitern. Bei Shopify werden diese Erweiterungen Apps genannt und sind im Shopify Appstore verfügbar. Neben Kategorien wie Design und Marketing gibt es dort natürlich auch eine Reihe von Apps die sich mit dem Thema Sicherheit befassen.

Das Verhältniss zwischen kostenlosen und kostenpflichtigen Apps ist dabei ziemlich ausgeglichen, aktuell sind von 171 verfügbaren Apps 85 kostenlos und 86 kostenpflichtig. Kostenpflichtige Apps können in der Regel über einen Zeitraum von 7-14 Tagen getestet werden, sodass das Risiko einer Fehlentscheidung minimiert wird. Sollte man sich nach diesem Zeitraum weiter für die App begeistern können, werden, wie bei Shopify selbst, monatliche Zahlungen fällig. Eine kleine Auswahl an sinnvollen Security Apps wollen wir Ihnen an dieser Stelle vorstellen, natürlich ohne Anspruch auf Vollständigkeit:

  • Disable Right Click w/ Vault
  • B2B Login Access Management
  • Blockade
  • Advanced Registration
  • Backup
  • Shop Protector

 

Zusätzlich zu diesen eher allgemeinen Security Apps gibt es noch eine ganze Reihe von Apps, die sich eher mit rechtlichen Themen befassen, etwa um eine Kompatibilität des Shops mit der DSGVO sicherzustellen oder den Zugriff auf bestimmte Produkte auf eine bestimmte Altersgruppe zu beschränken.

SSL Zertifikat

Während man sich bei anderen CMS selbst um ein SSL Zertifikat kümmern muss (dieses kann entweder über den Hostinganbieter bezogen werden oder man verwendet ein kostenloses von Let´s encrypt) ist im monatlichen Nutzungsbetrag für die Shopify Software auch ein SSL Zertifikat enthalten.

Und das auch schon in der Basis Variante, sodass man nicht gezwungen ist, aufgrund dieses Features eine der teureren Version zu wählen.

Ein SSL Zertifikat sorgt dafür, dass die Daten, die Kunden auf der Webseite eingeben, während der Übertragung verschlüsselt sind. Dies ist also gerade für einen Onlineshop unerlässlich, da hier auch sensible Daten wie Adressen oder Kreditkarten Daten verarbeitet werden.

Da Shopify das Zertifikat bereitstellt und managt, sollte es auch nicht zu Zertifikatsfehlern kommen, die etwa bei abgelaufenen Zertifikaten entstehen können und dafür sorgen, dass dem User eine Warnmeldung über die unsichere Seite die er besuchen möchte angezeigt wird.

Grundsätzlich ist die Verwendung eines SSL Zertifikats kein Hexenwerk, die meisten Hostinganbieter haben dafür Anleitungen parat, die man Schritt für Schritt abarbeiten kann und dann nach wenigen Minuten am Ziel ist. Wer sich technisch allerdings nicht ganz sicher fühlt, ist in diesem Punkt vielleicht doch besser bei Shopify aufgehoben, weil man sich hier überhaupt nicht um das Zertifikat kümmern muss.

Betrugsversuche erkennen

Während sich schon normale Webseiten einer ganzen Reihe von möglichen Angriffen ausgesetzt sehen, kommt bei Onlineshops noch die Problematik von betrügerischen Bestellungen hinzu. Typische Fälle sind etwa:

  • Kreditkartenbetrug: Jemand versucht ein Produkt mit einer gestohlenen Kreditkarte zu bezahlen. In Hackerforen werden gestohlene Kreditkarten Daten für 10-50 Dollar pro Karte gehandelt, dieses Geld hat ein Angreifer mit ein paar Bestellungen (bzw. einer einzigen großen) leicht vervielfacht, sodass diese Möglichkeit für einige Leute eine attraktive Option darstellt.
  • Ersatzlieferungsbetrug: Hierbei bezahlt jemand das Produkt zwar korrekt, gibt im Nachhinein aber an es nicht erhalten zu haben bzw. behauptet es wäre beschädigt. In der Regel wird dann entweder eine Rückerstattung des gezahlten Produktes gefordert (sodass der Angreifer das Produkt de facto gratis erhalten hat) oder eine Ersatzlieferung verlangt (sodass er zwei Produkte zum Preis von einem erhält). Um diesen Betrug zu realisieren, kann ein Angreifer behaupten, seine Kreditkarte wäre gestohlen worden und eine Rückbuchung der Zahlung veranlassen
  • Rückerstattungsbetrug: Perfiderweise gibt sich der Angreifer hierbei selbst als Opfer aus und behauptet nach einer Zahlung, dass seine Kreditkarte gestohlen und die Zahlung nicht von ihm veranlasst wäre. Das Geld wird anschließend zurückgebucht, der Händler hat das Produkt aber schon verschickt.

Shopify verfügt über eine integrierte Fraud Analysis um das Risiko solcher Betrugsversuche zumindest zu minimieren.

Neben den bei Shopify integrierten Lösungen widmen sich auch eine Vielzahl an Apps dem Thema der Betrugserkennung, sodass hier auch noch nachgerüstet werden kann. Gerade bei Shops, die eher hochpreisige Waren verkaufen, kann dies durchaus sinnvoll sein.

Bei beliebten und gut frequentierten Shops besteht zudem ein gewisses Risiko, dass diese von einem Angreifer geklont werden und zum Aufbau eines betrügerischen Shops genutzt werden. Dabei wird das Erscheinungsbild des Originalstores möglichst genau imitiert und zusätzlich eine ähnliche Domain registriert. Etwa beispiel.co statt beispiel.com dadurch besteht die Gefahr, dass Kunden diesen Shop für echt halten, dort bestellen und nie ihre Ware erhalten.

Rein monetär stellt das zwar kein Risiko dar, da der Originalshop nichts falsch gemacht hat und nicht für die Betrügereien haftbar gemacht werden kann. Es kann allerdings zu einem massiven Imageproblem führen, wenn Kunden nicht mehr zwischen dem Original und der Fälschung unterscheiden können. Vertrauensverluste und somit auch ausbleibende Bestellungen können sich dann schnell zu einem existenziellen Problem auswachsen.

Da solche Fake Shops außerhalb des Shopify Ökosystems erstellt werden, kann Shopify selbst recht wenig dagegen machen. Hier ist also der jeweilige Besitzer eines Shops selbst gefragt und sollte sicherstellen, dass keine Kopien seines Shops genutzt werden um Kunden zu betrügen.

Ein relativ einfacher Weg solche Betrügereien zu erschweren ist die Registrierung von verschiedenen Domainvarianten. Zum einen unterschiedliche Top Level Domains (TLDs), also etwa zusätzlich zur .de Domain auch .com, .co.uk oder .fr Domains. Eine .com Domain empfiehlt sich dabei in jedem Fall, weil diese Domain extrem weitverbreitet ist und überwiegend als seriös wahrgenommen wird. Bei anderen länderspezifischen Domains kommt es auf den eigenen Kundenstamm an, wer viele Kunden aus Frankreich hat (oder für die Zukunft mit einer Expansion nach Frankreich rechnet) sollte am besten auch die französische Variante seiner Domain sichern.

Zusätzlich zu den TLDs können auch verschiedene Schreibweisen der eigenen Domain registriert werden, etwa bei mehreren Wörtern mit und ohne Bindestrich (also dasbeispiel.de und das-beispiel.de)

Security Badge anzeigen

Vertrauen ist ein wertvolles Gut im Onlinehandel. Um Ihre Kunden davon zu überzeugen, dass Zahlungen über Ihren Shop sicher abgewickelt werden, bietet Ihnen Shopify die Möglichkeit, ein Security Badge anzuzeigen. Dieses ist entweder in weiß oder schwarz erhältlich und trägt die Inschrift Shopify Secure. Auf diese Weise können Ihre Kunden leichter erkennen, dass Ihr Shop zu Shopify gehört.

Um das Badge anzuzeigen, muss der folgende Code in das Shopify Theme eingefügt werden. Dazu muss über die Adminoberfläche Themes aufgerufen werden und anschließend bei Actions Edit Code ausgewählt werden.

Normale Version:

<a

href=“https://www.shopify.com/security/pci-compliant?utm_medium=shop&utm_source=secure“

title=“This online store is secured by Shopify“

target=“_blank“

rel=“nofollow“

><img

src=“https://cdn.shopify.com/s/images/badges/shopify-secure-badge-white.svg“

alt=“Shopify secure badge“

/></a>

Dunkler Hintergrund:

<a

href=“https://www.shopify.com/security/pci-compliant?utm_medium=shop&utm_source=secure“

title=“This online store is secured by Shopify“

target=“_blank“

rel=“nofollow“

><img

src=“https://cdn.shopify.com/s/images/badges/shopify-secure-badge-dark.svg“

alt=“Shopify secure badge“

/></a>

 

Soll das Badge im Header oder Footer erscheinen, muss der Code im theme.liquid eingefügt werden. Für ein Badge auf den Produktseiten muss der Code in product.liquid und wer das Badge auf der Kassenseite anzeigen möchte, fügt den Code in cart.liquid ein. Anschließend noch speichern und schon sollte das Badge an der gewünschten Stelle zu sehen sein.

Im deutschsprachigen Raum mögen zwar andere Logos bekannter sein (etwa Trusted Shops), dennoch schadet ein Shopify Security Badge sicher nicht, um Kunden von der Legitimität und Sicherheit Ihres Onlineshops zu überzeugen.

Sichere Bezahlmöglichkeiten

Für Onlineshops spielt natürlich auch das Anbieten verschiedener Zahlungsmöglichkeiten und die sichere Abwicklung von Kundentransaktionen eine wesentliche Rolle. Da solche Mechanismen naturgemäß auch für Hacker extrem lohnenswerte Ziele sind, ist hier doppelt Vorsicht angebracht, um die Zahlungsabwicklung bestmöglich zu implementieren.

Bei Shopify wird die Abwicklung der Zahlungen von Shopify übernommen, als Kunde muss man sich also nicht darum kümmern, dass die angebotenen Möglichkeiten sicher sind, da es kaum Konfigurationsoptionen gibt. Alles was man muss, ist Shopify zu vertrauen, dass Sie die Abwicklung der Zahlungen sicher gewährleisten.

Da Shopify nach dem PCI Standard (Payment Card Industry Data Security Standards) zertifiziert ist, erfüllen übrigens auch alle Shops von Anfang an die Anforderungen dieses Standards. Aus Shop Betreiber Sicht sind an dieser Stelle also keine weiteren Anstrengungen nötig, um den Kunden ein sicheres Einkaufserlebnis bieten zu können.

Nicht zu viele Apps verwenden

Ebenso wie bei anderen CMS sind zusätzliche Apps bei Shopify schnell installiert. Es kann also verlockend sein, einfach mehrere Apps zu verwenden, um eine bestimmte Funktionalität zu erreichen, frei nach dem Motto: Viel hilft viel. Dem ist allerdings nicht so.

Gerade im Hinblick auf Security Apps sollte man sich darauf beschränken, dass für jede Thematik nur eine App zuständig ist (beispielsweise für die Betrugserkennung). Verwendet man stattdessen mehrere Apps, die sich um dieselbe Thematik kümmern sollen, steigt das Risiko, dass sich diese in die Quere kommen und dadurch schlechtere Resultate erzielt werden.

Zudem können zu viele Apps auch die Performance des Shops negativ beeinflussen. Da allerdings die Absprungraten bei Ladezeiten über zwei Sekunden signifikant ansteigen, hat das direkte monetäre Einbußen für den Shop Betreiber zur Folge.

Um solche Probleme zu verhindern, sollte man sich also am besten im Vorfeld einen Plan machen, welche Funktionalitäten man im Shop benötigt und mit welchen Apps diese bestmöglich abgedeckt werden können.

Fazit

Wir hoffen, dass dieser Basis Sicherheit Guide bei der Absicherung Ihres Shopify Shops unterstützt. Übrigens finden Sie bei unseren Checklisten auch eine Kurzfassung dieses Guides, mit der Sie die einzelnen Punkte bequem abhaken können.