Shopware-Erweiterung

Die DomainWarn-Erweiterung für Shopware 6 verbinden, Verkaufskanäle aufnehmen, Heartbeat und Innensicht melden und die security.txt aus dem Shop ausliefern.

Auf dieser Seite

Einrichten

Die DomainWarn-Erweiterung für Shopware 6 nimmt die Domains aller Verkaufskanäle in die Überwachung auf, meldet alle 15 Minuten Versionen, offene Updates und Mailversand und zeigt den Zustand direkt im Shop-Admin.

  1. Erweiterung im Shop installieren und aktivieren (Erweiterungen → Meine Erweiterungen).
  2. Unter Einstellungen → Erweiterungen → DomainWarn auf „Mit DomainWarn verbinden“ klicken. Du bestätigst in DomainWarn, und das Token kommt server zu server in den Shop – nie über den Browser, nichts zu kopieren.
  3. „Verbindung prüfen“, dann unter Einstellungen → DomainWarn „Domains aufnehmen“. Ab dann meldet die geplante Aufgabe domainwarn.report alle 15 Minuten.

Lieber von Hand? Ein Token mit Schreibrecht aus DomainWarn (Einstellungen → API) ins Feld „API-Token“ eintragen. Für Deployments gibt es dieselben Schritte als Befehle: bin/console domainwarn:test, bin/console domainwarn:sync-domains und bin/console domainwarn:report.

Damit der Heartbeat trägt, müssen die geplanten Aufgaben des Shops laufen (bin/console scheduled-task:run als Dienst oder Cronjob) – genau das prüft er.

Voraussetzungen: Shopware 6.6.10 bis 6.7, PHP 8.2 oder neuer und ein DomainWarn-Konto – das kostenlose genügt.

Siehe auch: Shopware-Erweiterung

Was die Erweiterung meldet

  • Shopware- und PHP-Version: Die genaue Version statt geraten. Ob sie veraltet ist oder keine Sicherheitsupdates mehr bekommt, beurteilt DomainWarn anhand der aktuellen Versionen.
  • Erweiterungen mit Update: Installierte Plugins und Apps mit der Version, die Shopware selbst als Update kennt.
  • Mailversand: Absenderadresse und Mailserver. Zusammen mit den DNS-Records ergibt das den Befund „der Shop versendet über einen Server, der nicht im SPF steht“.
  • Wartungsmodus: Ist ein Verkaufskanal im Wartungsmodus, sehen Kunden und Suchmaschinen nur die Wartungsseite. DomainWarn weist darauf hin.
  • Heartbeat der geplanten Aufgaben: Eine geplante Aufgabe meldet sich alle 15 Minuten. Bleibt sie aus, stehen Message Queue oder Cronjob – der Shop sieht gesund aus, verarbeitet aber nichts mehr. Der Heartbeat richtet sich selbst ein, es ist keine Adresse zu kopieren.
  • Zustand im Shop-Admin: Unter Einstellungen → DomainWarn stehen die Domains des Shops mit Zustand, noch nicht überwachte Domains mit einem Knopf zum Aufnehmen und die offenen Vorfälle – ohne Wechsel ins Dashboard.

Übertragene Daten

Übertragen werden die Domains der Verkaufskanäle, Shopware- und PHP-Version, Namen und Versionen der installierten Erweiterungen, Absenderadresse und Mailserver sowie der Wartungsmodus. Nicht übertragen werden Kundendaten, Bestellungen, Produkte, Preise oder Inhalte des Shops. Das API-Token wird nur im Shop gespeichert und geht nie an den Browser.

Hosting über das WordPress-Plugin und die Shopware-Erweiterung

Läuft auf der Domain WordPress oder Shopware 6, braucht es für die security.txt keine Zeile im Webserver: Das Plugin bzw. die Erweiterung liefert die Datei selbst aus. In den Einstellungen „security.txt über DomainWarn ausliefern“ einschalten (Standard: aus) – ab dann holt die Website die Datei bei DomainWarn und beantwortet /.well-known/security.txt selbst mit 200 und text/plain, byte-genau und ohne Weiterleitung. Die Datei wird eine Stunde zwischengespeichert; ist DomainWarn nicht erreichbar, kommt die letzte gute Fassung, solange ihr Expires in der Zukunft liegt. In Shopware gilt das je Verkaufskanal-Domain.

Ausgeliefert wird nur, wo die Datei hingehört: an der Domain selbst oder mit www davor (eine Website unter blog.kunde.de liefert nichts aus), nur wenn die Website an der Wurzel der Domain liegt, und nur aus einer Datei der genauen Form https://domainwarn.com/security-txt/<Token>/security.txt. Diese Adresse kommt aus einem gespeicherten Stand, den der geplante Lauf alle 15 Minuten bei Bedarf erneuert (GET /api/v1/orgs/<kuerzel>/domains/<id>/hosting); ein normaler Seitenaufruf fragt nie bei DomainWarn nach. Angenommen wird nur, was wie eine security.txt aussieht (Contact-Zeile, kein HTML); ohne brauchbare Datei antwortet die Website wie ohne Plugin. Liegt schon eine security.txt im Webverzeichnis oder beantwortet ein anderes Plugin die Adresse, zeigt die Einstellungsseite das als Konflikt und die Auslieferung bleibt aus – überdeckt wird nichts still.

„security.txt prüfen“ ruft die Adresse ab wie ein Forscher, vergleicht die Datei byte-genau mit der bei DomainWarn (Contact und Expires vorhanden) und zeigt daneben das Ergebnis der eigenen Prüfung von DomainWarn. Hält ein Cache noch eine ältere Fassung, sagt die Prüfung das.

MTA-STS lässt sich so nicht ausliefern: RFC 8461 verbietet sendenden Mailservern, beim Abruf der Policy einer Weiterleitung zu folgen. Die Policy muss unter mta-sts.kunde.de selbst liegen – dafür sorgt der CNAME auf DomainWarn. Plugin und Erweiterung zeigen deshalb für MTA-STS und BIMI nur den Stand (aktiv, Record fehlt, veraltet, nicht eingerichtet), die Records zum Kopieren und einen Knopf zur Seite im Dashboard, auf der sie sich mit einem verbundenen DNS-Anbieter per Klick eintragen lassen.

Siehe auch: WordPress-Plugin im Verzeichnis

Häufige Fragen

Brauche ich ein kostenpflichtiges Konto?
Nein. Die Erweiterung ist kostenlos und arbeitet mit dem kostenlosen DomainWarn-Konto. Abgerechnet wird der Monitoring-Dienst, wenn mehr Domains oder kürzere Prüfintervalle gebraucht werden.
Werden Kundendaten übertragen?
Nein. Übertragen werden Domains, Versionen, installierte Erweiterungen, Absenderadresse und Mailserver sowie der Wartungsmodus. Keine Kunden, Bestellungen, Produkte, Preise oder Inhalte des Shops.
Warum meldet DomainWarn einen Vorfall, obwohl der Shop läuft?
Weil das Lebenszeichen ausgeblieben ist. Dann stehen Message Queue oder Cronjob: Der Shop antwortet noch, verschickt aber keine Mails und verarbeitet nichts mehr.
Funktioniert die Erweiterung mit einer eigenen DomainWarn-Installation?
Ja. Unter „Erweitert“ lässt sich die API-Adresse ändern.