Produkt · Shopware Store Plugin
Shopware 6.6.1 bis 6.7

Shopware Audit Trail mit Hash-Kette

Protokolliert Änderungen an Entities und sicherheitsrelevante Aktionen in Ihrem Shopware-Shop und macht nachträgliche Änderungen, Löschungen oder Kürzungen des Protokolls nachweisbar. Als Grundlage für Nachvollziehbarkeit und Forensik.
Hash-Kette
Jeder Eintrag an seinen Vorgänger gebunden
2
Sinks ab Werk: Datenbank und HTTP
6.6.1-6.7
Unterstützte Shopware-Versionen
1
log(...)-Aufruf für die Integration
Warum ein Protokoll allein nicht reicht

Wer hat wann was geändert, und stimmt das Protokoll noch?

Ein Log, das sich unbemerkt ändern lässt, taugt im Ernstfall wenig. Der Audit Trail beantwortet beide Fragen.

In einem Shop arbeiten Administratoren, Agenturen, Schnittstellen und Plugins an denselben Daten. Preise ändern sich, Bestellungen werden angepasst, Benutzerrechte wandern. Wenn später jemand wissen will, wie es dazu kam, hilft ein Eintrag in der Datenbank nur, wenn er auch vollständig und unverändert ist.

Der Audit Trail legt jeden Eintrag in eine fortlaufende Hash-Kette. Jeder Eintrag ist kryptografisch an seinen Vorgänger gebunden. Wer einen Eintrag ändert, löscht oder das Protokoll abschneidet, bricht die Kette, und die Prüfung zeigt es an.

Die Aufbewahrungsfrist ist davon ausgenommen. Was die Retention löscht, hält sie selbst im Protokoll fest, damit reguläre Bereinigung nicht als Manipulation erscheint.

Was das Plugin daran ändert

Die Aktionen, die Sie auswählen, werden protokolliert, jede davon.
Manipulationen am Protokoll fallen bei der Prüfung auf.
Die Prüfung läuft per Konsolenbefehl und lässt sich ins Monitoring einbinden.
Exporte und eine REST-API machen das Protokoll für Prüfungen nutzbar.
Für Ihr Entwicklerteam

Ein log(...)-Aufruf, mehrere Ziele

Der AuditTrailService ist die zentrale Schnittstelle für alle Plugins. Wohin die Daten gehen, legt die Sink-Konfiguration fest.

// In jedem Plugin: ein Aufruf
$this->auditTrailService->log(...);

// Prüfung der Hash-Kette, z. B. als Cron-Job im Monitoring
bin/console coding9:audit:verify

Sinks: Datenbank, HTTP, eigene

Database- und HTTP-Sink bringt das Plugin mit. Wer die Daten zusätzlich in Elasticsearch, im APM oder in einem anderen System braucht, ergänzt einen eigenen Sink. Das Dispatching verteilt jeden Eintrag an alle konfigurierten Ziele.

Abfrage von außen

Ein REST-API-Endpunkt macht das Protokoll aus externen Systemen abfragbar. Für die Sicht im Shop selbst gibt es ein Admin-Grid mit Filtern und Detailansicht, für Prüfungen den Export der Audit-Logs als CSV oder JSON.

Auffälligkeiten im Blick

Die Anomalie-Erkennung in der Administration meldet etwa ungewöhnlich viele Produktänderungen in kurzer Zeit, wiederholte fehlgeschlagene Anmeldungen oder Zugriffe aus einem neuen Netzbereich. Meldungen lassen sich nach Schweregrad, Typ, Zeitraum und Bearbeitungsstatus filtern.

Funktionsumfang

Protokollieren, prüfen, exportieren

Vom Entity-Tracking bis zum Monitoring-Befehl in einem Plugin.

Hash-Kette

Jeder Eintrag ist kryptografisch an seinen Vorgänger gebunden. Änderungen an bestehenden Einträgen weist Shopware zurück.

Prüfung per Konsole

bin/console coding9:audit:verify weist Änderungen, Löschungen und Kürzungen nach und passt direkt in Ihr Monitoring.

Entity-History

Änderungen an Shopware-Entities, Anmeldungen und Bestellungen: wer hat wann was geändert, für jede Aktion, die Sie auswählen.

Multi-Sink-Dispatching

Die Audit-Daten gehen in die Datenbank, an HTTP-Endpunkte oder an eigene Sinks, je nach Ihrer Infrastruktur.

Admin-Grid

Filter und Detailansicht in der Shopware-Administration, bei Änderungen mit Vorher-Nachher-Vergleich je Feld. Einen Eintrag finden Sie ohne Datenbankzugriff.

Export und REST-API

Logs als CSV oder JSON exportieren, für interne und externe Prüfungen, oder per REST-Endpunkt aus fremden Systemen abfragen.

Ein Aufruf genügt

Der zentrale AuditTrailService nimmt einen log(...)-Aufruf aus jedem Plugin entgegen. Der Integrationsaufwand bleibt klein.

PII optional

IP-Adressen und personenbezogene Daten erfasst das Plugin nur, wenn Sie das einschalten. Ab Werk ist beides aus.
Einrichtung in drei Schritten

Installieren, Sinks festlegen, Prüfung einbinden

Installieren und aktivieren

Über den Shopware Store oder Erweiterungen › Meine Erweiterungen. Die Entity-Änderungen, die Sie auswählen, landen danach im Protokoll.

Sinks und Umfang festlegen

Datenbank, HTTP-Endpunkt oder eigener Sink, dazu die Aktionen, die protokolliert werden, und ob IP und personenbezogene Daten dazugehören.

Prüfung ins Monitoring

bin/console coding9:audit:verify als regelmäßiger Job einbinden, damit ein Befund im Alarmkanal ankommt.

Ihr Nutzen als Shopbetreiber

Ein Protokoll, dem Sie nachweisen können, dass es stimmt

Protokolliert genau die Aktionen, die Sie auswählen, und zwar jede davon
Änderungen, Löschungen und Kürzungen des Protokolls fallen bei der Prüfung auf
Volle Nachvollziehbarkeit: wer hat wann was geändert
Nachvollziehbare Log-Exporte für interne und externe Prüfungen
Erfassung von IP-Adressen und personenbezogenen Daten ist optional und standardmäßig aus
Geringer Integrationsaufwand für Ihr Entwicklerteam

Lizenz und Anpassung

Das Plugin gibt es im Shopware Store. Preis und Lizenzmodell stehen im Store-Listing. Bei Fragen zu Ihrer Lizenz erreichen Sie uns über das Ticket-System im Shopware Store.

Wenn Sie einen eigenen Sink brauchen, etwa für Ihr SIEM oder Elasticsearch, oder Ihre eigenen Plugins an den AuditTrailService anbinden möchten, übernehmen wir das gern als Shopware Plugin-Entwicklung für Sie.

Shopware 6.6.1 bis 6.7Nicht 6.6.0
Häufige Fragen

Audit Trail im Detail

Was protokolliert der Audit Trail in Shopware 6?

Die Aktionen, die Sie auswählen: Änderungen an Entities, Anmeldungen, Bestellungen und eigene Ereignisse aus Ihren Plugins. Jede ausgewählte Aktion landet im Protokoll, mit dem Hinweis, wer wann was geändert hat.

Wie erkennt das Plugin, dass jemand das Protokoll verändert hat?

Die Einträge liegen in einer fortlaufenden Hash-Kette. Jeder Eintrag ist kryptografisch an seinen Vorgänger gebunden, und Änderungen an bestehenden Einträgen weist Shopware zurück. Wird ein Eintrag nachträglich geändert, gelöscht oder das Protokoll abgeschnitten, fällt das bei der Prüfung auf.

Wie prüfe ich das Protokoll?

Mit dem Konsolenbefehl bin/console coding9:audit:verify. Er lässt sich direkt in Ihr Monitoring einbinden, etwa als regelmäßiger Cron-Job, der bei einem Befund Alarm auslöst.

Was passiert mit der Aufbewahrungsfrist?

Die Retention ist von der Prüfung ausgenommen. Was sie löscht, hält sie selbst im Protokoll fest, damit reguläre Bereinigung nicht als Manipulation erscheint.

Wohin werden die Audit-Daten geschrieben?

Über ein konfigurierbares Multi-Sink-Dispatching in die Datenbank, an HTTP-Endpunkte oder an eigene Sinks, etwa Elasticsearch oder APM. Database- und HTTP-Sink bringt das Plugin mit, weitere schreibt Ihr Entwicklerteam oder wir.

Werden IP-Adressen und personenbezogene Daten gespeichert?

Nur auf Wunsch. Die Erfassung von IP-Adressen und personenbezogenen Daten ist optional und standardmäßig ausgeschaltet.

Wie bindet mein Entwicklerteam das Plugin in eigene Plugins ein?

Über den zentralen AuditTrailService. Ein log(...)-Aufruf genügt, Sinks, Hash-Kette und Speicherung übernimmt das Plugin.

Mit welchen Shopware-Versionen ist das Plugin kompatibel?

Mit Shopware ab 6.6.1 bis einschließlich 6.7. Shopware 6.6.0 wird nicht unterstützt.

Was kostet das Plugin?

Den aktuellen Preis und die Lizenzmodelle zeigt das Store-Listing im Shopware Store.

Aus derselben Werkstatt

Shopware-Plugins und Shopware-Leistungen von CODING 9

Wir entwickeln Shopware-Plugins für den Store und für einzelne Kunden. Was wir dabei in Store-Reviews und Update-Zyklen lernen, fließt in jedes Kundenprojekt ein.

Audit Trail in Ihrem Shop

Holen Sie sich das Plugin aus dem Shopware Store. Und wenn Ihr Shop einen eigenen Sink oder die Anbindung an Ihre Plugins braucht, sprechen wir das gern gemeinsam mit Ihnen durch.