Du bekommst eine Phishing-Mail, die wie eine Sicherheitsscan-Einladung aussieht. Ein Kunde fragt, ob dein Shop „sicher" ist. Deine Versicherung will wissen, wann der letzte Penetrationstest stattfand. Weißt du eigentlich gerade jetzt, ob dein Shop sicher ist? Die meisten Händler wissen es nicht. Man hat ihnen vor drei Jahren zum Launch gesagt, dass alles in Ordnung sei. Das Team, das das gesagt hat, arbeitet dort längst nicht mehr.
Die gute Nachricht: Die meisten Magento-2-Sicherheitsprobleme sind langweilig zu finden. Es sind keine exotischen Zero-Days. Es sind Dinge wie ein Datenbank-Tool, das unter einer vorhersagbaren URL erreichbar ist, oder eine Checkout-Seite, die noch unsichere Verbindungen akzeptiert. Die Mehrheit davon findest du in zehn Minuten mit einem Browser und ohne Entwickler.
Du brauchst keinen Penetrationstest, um zu wissen, ob dein Shop offensichtlich kaputt ist. Du brauchst einen Browser, zehn Minuten und die Liste unten. Das meiste, was wir in einem bezahlten Sicherheits-Audit als Erstes finden, steht auf dieser Liste. Wenn keiner der Punkte auf deinen Shop zutrifft, stehst du bei den Basics solide da und kannst heute Nacht ruhig schlafen.
Die 10-Minuten-Version
Das sind die zehn Dinge, die wir auf jedem Magento-2-Shop, der für einen Sicherheits-Audit zu uns kommt, zuerst prüfen. Das meiste, was ein bezahltes Audit am ersten Tag findet, steht irgendwo auf dieser Liste. Du kommst während einer Kaffeepause durch, ohne Entwickler und ohne dich irgendwo einzuloggen, wo du nicht solltest.
Eine Regel, bevor du loslegst: wenn eine Prüfung unten etwas Verdächtiges zutage fördert, schreib keine Panik-Mail an dein Team. Notiere es. Beende die Liste. Triagiere die ganze Liste dann zusammen, denn was am schlimmsten aussieht, ist nicht immer das Dringendste. Der letzte Abschnitt dieses Artikels zeigt, wie du sortierst.
Die 2-Minuten-Version: nutz den Scanner
Wenn du die automatisierte Variante zuerst willst, läuft unser Sicherheits-Check-Scanner die meisten der Prüfungen unten für dich. Domain eintragen, zwei Minuten warten, Report bekommen. Er ist kostenlos, braucht keine Installation und trifft dieselben Punkte, die ein bezahltes Audit zuerst prüft.
Alles, was unten steht, ist genau das, wonach der Scanner sucht, was es bedeutet, wenn er etwas findet, und die Handvoll Prüfungen, die der Scanner allein nicht abbilden kann (etwa „gibt es noch einen Admin-Account von 2019 für den Entwickler, der vor zwei Jahren gegangen ist").
Die 10 Prüfungen
-
01
Ist ein Datenbank-Tool öffentlich über deine Domain erreichbar?
Adminer und phpMyAdmin sind browserbasierte Tools, die direkten Zugriff auf deine Datenbank erlauben. Die gehören auf Entwickler-Laptops, nicht auf deine öffentliche Website. Versuche im Browser yourshop.de/adminer.php, yourshop.de/_db.php1, yourshop.de/phpmyadmin/ und yourshop.de/pma/. Wenn irgendeine davon statt eines 404-Fehlers einen Login-Bildschirm zurückgibt, ist das der schlimmste Fund in diesem Artikel. Behandle es als aktiven Vorfall: ruf dein Dev-Team jetzt an, nicht morgen. Ein öffentlich erreichbares Datenbank-Tool bedeutet, dass jeder im Internet versuchen kann, sich in alle deine Kundendaten hineinzuraten.
-
02
Ist deine Admin-URL immer noch /admin?
Ruf yourshop.de/admin auf. Dort sollte keine Login-Seite laden. Magento liefert ein Tool mit, um den Admin auf einen schwer erratbaren Pfad zu verschieben, und ein gutes Team nutzt das immer. Wenn dein Admin noch unter /admin liegt, prügeln automatisierte Bots rund um die Uhr Listen geleakter Passwörter gegen deinen Login, und du verlässt dich allein auf die Passwortstärke.
-
03
Ist die Verschlüsselung deiner Seite aktuell?
Das Schloss-Symbol neben deiner URL bedeutet, dass der Traffic verschlüsselt ist, aber nicht jede Verschlüsselung ist gleich. Geh auf ssllabs.com/ssltest/ und gib deine Domain ein. Du willst die Note A oder A+. Ein B mit dem Hinweis auf alte Protokolle (TLS 1.0 oder 1.1) ist ein Problem mit der Zahlungs-Compliance unter dem Standard, gegen den dein Kartenabwickler dich prüft (PCI-DSS), und muss dieses Quartal behoben werden. Alles unter B ist ein Notfall.
-
04
Erzwingt deine Seite HTTPS, auch auf Subdomains?
Tippe http://yourshop.de (nicht https) in einen frischen Browser-Tab. Es sollte innerhalb einer Sekunde auf https umleiten. Dann öffne jede Subdomain, die du nutzt (blog.yourshop.de, shop.yourshop.de), und mach dasselbe. Wenn eine Subdomain plain HTTP lädt, hast du ein Session-Hijacking-Fenster offen, das du nicht offen haben musst.
-
05
Hast du Subdomains, die auf nicht mehr genutzte Dienste zeigen?
Deine Domain hat ein Adressbuch (die DNS-Zone), das Namen wie „blog.yourshop.de" auf die Server abbildet, die sie hosten. Wenn du einen Dienst aufgibst (einen Staging-Host, ein E-Mail-Tool, eine Marketing-Subdomain), bleibt der Eintrag im Adressbuch oft zurück. Frag die Person, die dein DNS verwaltet, nach der vollständigen Liste der Einträge, und lade jede Subdomain im Browser. Jede, die „hostname not found" oder eine „diese Seite ist nicht konfiguriert"-Fehlerseite eines Drittanbieters liefert, ist ein Übernahmerisiko: jemand anderes kann den leeren Hosting-Slot übernehmen und eigene Inhalte auf deiner Domain anzeigen. Ein häufiger Fund nach Hosting-Umzügen.
-
06
Ist CAPTCHA auf deiner Admin-Login-Seite?
Öffne den Admin-Login in einem privaten Browser-Fenster. Es sollte eine „Ich bin kein Roboter"-Challenge, ein Raster mit Ampelbildern oder ein unsichtbarer reCAPTCHA-Indikator zu sehen sein. Wenn der Login nur aus Benutzername und Passwort ohne Challenge besteht, haben die automatisierten Bots aus Prüfung 2 nichts, was sie bremst.
-
07
Haben alle Admin-Nutzer Zwei-Faktor-Authentifizierung aktiv?
Im Admin-Panel unter System → Permissions → All Users. Jede Zeile sollte einen 2FA-Eintrag zeigen. Wenn irgendein Admin-Nutzer, besonders ein Owner-Level, 2FA abgeschaltet hat, steht ein einziges Passwort zwischen deinem Shop und einer Übernahme. Magento Open Source liefert 2FA standardmäßig aktiviert aus; sie abzuschalten ist immer eine bewusste Entscheidung und meistens die falsche.
-
08
Gibt es Admin-Nutzer, die nicht mehr dort sein sollten?
In derselben Users-Liste durchscrollen und Namen lesen. Der Contractor von 2022. Die freiberufliche Designerin vom letztjährigen Theme-Redesign. Der Agentur-Account vom alten Support-Vertrag. Jeder davon ist ein aktiver Account, der sich gerade jetzt einloggen kann. Deaktiviere jeden, der diese Woche keinen Zugriff braucht, und prüfe die Liste jedes Quartal.
-
09
Ist deine Magento-Version aktuell oder ein Jahr+ zurück?
Am unteren Rand des Admins oder im Hosting-Control-Panel siehst du die Magento-Version. Gleiche sie gegen die Release-Notes auf magento.com ab. Wenn du mehr als eine Major-Version zurückliegst oder wenn deine aktuelle Version Sicherheits-Patches anzeigt, die du nicht eingespielt hast, ist das technische Schuld mit Sicherheitsfolgen. Kein Notfall, aber ein Punkt für die Roadmap des nächsten Quartals.
-
10
Hast du in jüngerer Zeit tatsächlich aus einem Backup wiederhergestellt?
Die Frage ist nicht, ob Backups irgendwo nach Zeitplan laufen. Die Frage ist: hast du oder dein Team in den letzten sechs Monaten ein aktuelles Backup erfolgreich auf eine Testumgebung zurückgespielt? Wenn nicht, ist dein Backup-Zustand eine Vermutung. Viele „Backup"-Setups, die wir finden, scheitern seit Wochen still, weil niemand testet. Der Fix ist eine Quartalsübung, nicht mehr Backup-Software.
Wenn du etwas findest
Wenn Prüfung 1 ein öffentliches Datenbank-Tool zutage fördert, ist das ein aktiver Vorfall. Schreib jetzt eine einzelne Slack-Nachricht an dein Dev-Team, Betreff „DRINGEND: öffentliches Datenbank-Tool unter [Pfad], muss heute entfernt werden", und geh nicht Mittagessen, bevor es weg ist. Alles andere auf der Liste kann bis morgen warten.
Wenn Prüfungen 2 bis 10 ein oder zwei Punkte hervorbringen: das ist zu erwarten. Die meisten Shops, die wir auditieren, haben zwei oder drei davon. Notieren, als Liste an dein Dev-Team oder deine Agentur schicken mit der Frage „können wir das in den nächsten paar Wochen einplanen?", weitermachen. Normale Arbeit, kein Notfall.
Wenn Prüfungen 2 bis 10 sechs oder sieben Punkte hervorbringen, ist das das Signal, dass ein echter Sicherheits-Audit fällig ist. Ein oder zwei Dinge rutschen bei jedem Shop durch die Wartung; sechs oder sieben sind ein Muster. Das heißt, dass längere Zeit niemand auf die Sicherheitslage geschaut hat, und ein Muster findet ein externer Blick schneller als ein interner.
Deine Entwicklerin oder dein Entwickler kann den technischen Begleitartikel zu diesem Text lesen, der zeigt, wie jeder dieser Funde im Magento-Code aussieht und wie man ihn sauber fixt.
FAQ
Zehn Minuten Checks haben drei Punkte gefunden. Und jetzt?
Wir machen eintägige Magento-2-Sicherheits-Audits, die deine Funde in „diese Woche fixen", „dieses Quartal fixen" und „dokumentieren und prüfen" sortieren. Du bekommst einen priorisierten Maßnahmenplan mit Aufwandsschätzung, keine 60-seitige PDF, die niemand liest.