Manipulationssicherer Audit- und Compliance-Layer für Shopware 6.
Das Plugin erweitert Shopware um eine unveränderlich gedachte Audit-Logik mit Hash-Kette, Integritätsprüfung, Export-Funktionen und optionalem externen Hash-Anchoring.
Shopware protokolliert viele Vorgänge, aber Standard-Logs lösen typischerweise nicht vollständig diese Anforderungen:
- revisionssichere Nachvollziehbarkeit von Änderungen
- manipulationssichere Historie
- konsistente Änderungsbeweise über längere Zeiträume
- zentrale Audit-Auswertung für kritische Geschäftsänderungen
- prüffähige Exporte für Compliance-/Audit-Prozesse
Viele Shops sind operativ stark, aber Behörden-seitig schwach:
- Preisänderungen sind im Nachhinein schwer zu belegen
- manuelle Eingriffe an Bestellungen sind nicht sauber historisiert
- Rollen-/Rechteänderungen sind für interne Audits schwer nachvollziehbar
- direkte Datenbankmanipulationen bleiben oft unentdeckt
- bei Steuer-/Compliance-Prüfungen fehlt ein konsistenter, prüfbarer Export
Das Plugin schafft dafür einen technischen Nachweis-Layer.
- B2B-/Enterprise-Shops mit internen Freigabeprozessen
- Shops mit erhöhten Compliance-Anforderungen (z. B. ISO 27001-nahe Prozesse)
- forensische Nachvollziehbarkeit bei internen Fehlbedienungen oder Missbrauch
- Audit-Vorbereitung (intern/extern)
- Nachweis, dass kritische Änderungen nicht unbemerkt verändert wurden
- protokolliert kritische DAL-Schreibvorgänge in ein Ledger
- bildet eine Hash-Kette über alle Ledger-Einträge
- prüft die Kette auf Integrität (Tamper Detection)
- alarmiert bei Integritätsbruch (Logger + optional Webhook)
- erzeugt Exporte (JSONL/CSV) mit Prüfsumme + Manifest
- erstellt tägliche Hash-Anker (lokal + optional Webhook an externen Dienst)
- stellt ein Admin-Dashboard (MVP) für Übersicht, Verify, Export und Anchoring bereit
orderorder_line_itemorder_transactionorder_deliveryproductrulerule_conditionpromotionuseracl_roleacl_user_roleuser_access_key
Hinweis: Die Liste kann erweitert werden.
- DAL-Write Events werden abgefangen (
PreWriteValidationEvent,EntityWrittenContainerEvent) - Für relevante Entitäten wird ein Audit-Payload erzeugt (
before/after, Actor, Context) - Payload wird gehasht (
payload_hash) - Ledger-Hash wird verkettet (
entry_hash = SHA256(previous_hash + payload_hash)) - Eintrag wird append-only in Ledger-Tabelle gespeichert
- Integritätsprüfung rekonstruiert die Kette und erkennt Abweichungen
- Kein isoliertes “wer hat was geändert?” mehr nur über verstreute Logs
- Keine unbemerkte Änderung eines Ledger-Eintrags ohne Hash-Bruch
- Keine unstrukturierte Export-Erstellung für Prüfungen
- Keine rein manuelle Integritätskontrolle
Wichtig: Das Plugin macht Manipulationen sichtbar, nicht magisch unmöglich. Für stärkeren Schutz empfiehlt sich externes Anchoring + Härtung der Infrastruktur (z. B. DB-Rechte, S3 Object Lock, Backup-/Retention-Policies).
Im Shopware-Plugin-Config (FibImmutableCommerceLedger) sind u. a. konfigurierbar:
enableVerifyTask- aktiviert/deaktiviert den Scheduled Task für Integritätsprüfung
enableAnchorTask- aktiviert/deaktiviert den täglichen Anchor-Task
anchorRequireCleanChain- erlaubt Anchoring nur bei sauberer Hash-Kette
alertWebhookUrl- optionaler Webhook für Alarmierungen bei Integritätsproblemen
anchorWebhookUrl- optionaler Webhook für externe Hash-Anker
webhookSharedSecret- HMAC-SHA256 Signatur für Alert-/Anchor-Webhooks
webhookTimeoutSeconds- Timeout für Webhook-Aufrufe
exportDirectory- Zielverzeichnis für Exporte
exportHmacSecret- optionale HMAC-Signatur des Export-Manifests
Das Admin-Modul bietet:
- Übersicht über Ledger-Status / letzte Sequenz / letzter Hash
- Liste der Ledger-Einträge (filterbar)
- manuelle Integritätsprüfung
- manuelles Anchoring
- manuellen Export (JSONL/CSV)
bin/console fib:ledger:verify- prüft die Integrität der Hash-Kette
bin/console fib:ledger:export --format=jsonl- erstellt Export + SHA256-Datei + Manifest
bin/console fib:ledger:anchor- erstellt/publiziert einen Hash-Anker
fib_immutable_commerce_ledger.verify_integrity(stündlich)fib_immutable_commerce_ledger.daily_anchor(täglich)
Exports enthalten:
- Ledger-Daten (
.jsonloder.csv) - SHA256-Datei (
.sha256) - Manifest (
.manifest.json) - optional HMAC-Signatur im Manifest
Das unterstützt prüfbare Weitergabe und externe Verifikation.
- Sensible Payload-Felder wie
password,token,secretwerden redigiert - Ledger-Einträge sind über den DAL-Write-Pfad geschützt (kein reguläres Update/Delete)
- Webhooks können mit HMAC signiert werden
- kein vollständiges juristisches GoBD-Zertifikat (das ist ein Prozess-/Gesamtsystem-Thema)
- keine qualifizierte elektronische Signatur
- kein S3 Object Lock / WORM-Storage Adapter out of the box
- Admin-UI ist funktional, aber noch kein vollwertiges Reporting/BI-Dashboard
- aktuell werden Audit-Schreibfehler geloggt; Business-Write wird nicht hart abgebrochen
bin/console plugin:refreshbin/console plugin:install --activate FibImmutableCommerceLedgerbin/console database:migrate --all FibImmutableCommerceLedgerbin/console scheduled-task:register
Dieses Plugin ist kein “Standard-Log-Plugin”, sondern ein Governance-/Compliance-Layer für Shopware:
- Audit Trail
- Tamper Detection
- Export-Fähigkeit
- Anchoring
- Admin-Operabilität
Kurz: ein technischer Baustein für revisionsnahe E-Commerce-Prozesse.