MDH GROUP · BLOG

Sichere Webhooks in Affilentra: Signaturen, Replay‑Protection und Verifizierungs‑Best Practices

Einleitung Webhooks sind das Rückgrat automatisierter Integrationen zwischen Affilentra, Payout‑Providern, Buchhaltungstools und Partner‑Systemen. Ohne sichere Signaturen und Replay‑Protection werden diese Verbindungen jedoch zur Angriffsfläche: manipulierte Ereignisse, doppelte Auszahlungen oder ge

← Alle Beiträge

Sichere Webhooks in Affilentra: Signaturen, Replay‑Protection und Verifizierungs‑Best Practices

Einleitung

Webhooks sind das Rückgrat automatisierter Integrationen zwischen Affilentra, Payout‑Providern, Buchhaltungstools und Partner‑Systemen. Ohne sichere Signaturen und Replay‑Protection werden diese Verbindungen jedoch zur Angriffsfläche: manipulierte Ereignisse, doppelte Auszahlungen oder gefälschte Abrechnungen können entstehen. Dieser Artikel zeigt praxisorientiert, wie Händler und Netzwerkbetreiber in der self‑hosted Affilentra Plattform eingehende und ausgehende Webhooks signieren, Replay‑Attacken verhindern und Integrationen robust verifizieren.

Grundprinzipien der Webhook‑Sicherheit

Die Absicherung von Webhooks basiert auf wenigen, aber essentiellen Komponenten:

  • Vertrauliche Geheimnisse (Shared Secrets) pro Integration
  • Integritätsprüfung der Payload per Signatur (z. B. HMAC)
  • Replay‑Protection mittels Zeitstempel und Noncen
  • HTTPS/TLS für Transportverschlüsselung
  • Logging, Monitoring und Schlüsselrotation

Affilentra unterstützt diese Mechanismen rollenbasiert: Softwarebetreiber verwalten System‑Keys, Händler legen Integrations‑Secrets fest und Partner erhalten nachvollziehbare Trackinglinks und Auszahlungsdatensätze.

Eingehende Webhooks: Validierungsschritte für Händler

Wenn Drittanbieter (z. B. Payout‑Provider) Events an Ihre Affilentra‑Instanz senden, sollten Sie die folgenden Prüfungen durchführen, bevor Sie Aktionen auslösen:

1) Transportprüfung

  • Nur HTTPS akzeptieren. Leiten Sie HTTP‑Requests auf HTTPS um oder lehnen Sie sie ab.

2) Signaturvalidierung

Erfordern Sie eine HMAC‑Signatur, die über den raw Request‑Body und ein gemeinsames Secret gebildet wird. Empfohlener Header‑Name: X‑Affilentra‑Signature. Das Verfahren:

  • Berechne HMAC‑SHA256(raw_body, secret) → hex/base64
  • Vergleiche mit Header‑Wert mittels zeitkonstanter Vergleichsfunktion

Wichtig: Signieren Sie den exakt empfangenen Rohtext (nicht das geparste JSON), um canonicalization‑Probleme zu vermeiden.

3) Timestamp und Replay‑Protection

Fordern Sie zusätzlich einen Zeitstempel im Header (z. B. X‑Affilentra‑Timestamp) und prüfen Sie:

  • Der Zeitstempel liegt innerhalb eines kurzen Fensters (z. B. ±300 Sekunden) relativ zur Systemzeit.
  • Optional: Prüfen Sie ein zusätzliches X‑Affilentra‑Nonce und speichern Sie verwendete Noncen für die Dauer des Zeitfensters. Jede Nonce darf nur einmal akzeptiert werden.

Mit Timestamp + Nonce verhindern Sie, dass ein einmal abgefangener Request später wieder abgespielt wird.

4) Event‑ID und Idempotenz

Verlangen Sie in der Nutzlast eine eindeutige Event‑ID (z. B. event_id). Legen Sie fest, dass jede Event‑ID einmal verarbeitet wird; bei wiederholten Zustellungen sollte die Verarbeitung idempotent sein und ein 2xx‑Status mit entsprechendem Hinweis zurückgegeben werden.

Outgoing Webhooks: Signieren von Affilentra‑Events

Wenn Ihre Affilentra‑Installation Events an Payout‑Provider, Buchhaltungssysteme oder Partner sendet, gilt: Signieren Sie ausgehende Requests konsistent und dokumentieren Sie das Format für Integrationspartner.

Signing‑Header

  • Include: X‑Affilentra‑Timestamp, X‑Affilentra‑Signature, optional X‑Affilentra‑Nonce
  • Signing‑String: concatenation of timestamp + '.' + raw_body

Beispiel‑Flow: timestamp = current UNIX seconds; signature = HMAC‑SHA256(timestamp + '.' + raw_body, provider_secret)

Delivery und Acknowledgement

  • Erwarte vom Empfänger eine 2xx‑Antwort. Bei 5xx oder Netzwerkfehlern: Retries mit exponential backoff.
  • Bei 4xx: keine automatischen Retries ohne manuelle Prüfung (z. B. 401 = falsche Signatur/Secret).
  • Protokollieren Sie Request, Response‑Code, Laufzeit und Signaturprüfungsergebnis für Audits.

Replay‑Attacken verhindern: Praktische Konzepte

Replay‑Schutz kombiniert einfache Mechanismen, die zusammengenommen effektiv sind:

  • Kurzes Zeitfenster für gültige Timestamps (z. B. 2–5 Minuten).
  • Persistente Speicherung verwendeter Noncen/Event‑IDs für die Länge des Zeitfensters.
  • Idempotente Verarbeitung durch Event‑ID‑Checks.
  • Erkennung mehrfacher Lieferungen: Differenzierte Logging‑Klassen (Warnung vs. Fehler).

In einer self‑hosted Umgebung wie Affilentra können Sie Nonce‑Caches in Redis oder der Datenbank mit TTL ablegen; wichtig ist, dass die Speicherung schnell genug ist, um parallele Anfragen konsistent zu prüfen.

Verifizierung und Fehlerbehandlung

Fehlerfälle sollten transparent und handhabbar sein:

  • Bei Signaturfehlern: 401 Unauthorized + Logging mit Request‑ID, aber ohne Payload‑Inhalt an Logs, wenn sensitive Daten betroffen sind.
  • Bei Timestamp/Nonce‑Fehlern: 400 Bad Request mit klarer Fehlerbeschreibung im Body.
  • Bei wiederholten Lieferungen: 200 OK, wenn event bereits verarbeitet, und einen Indikator liefern, z. B. {"status":"duplicate","event_id":...}.
  • Alarmierung: Bei ungewöhnlich hoher Rate an signatur‑ oder timestamp‑Fehlern: automatische Alerts an Betreiber und Händler.

Betriebsempfehlungen & Secret‑Management

Rollenbasierte Verwaltung ist zentral in Affilentra: Softwarebetreiber verwalten die Plattform, Händler konfigurieren Integrations‑Secrets, Partner nutzen dedizierte Keys. Empfohlene Maßnahmen:

  • Pro Integration ein separates Secret; keine Wiederverwendung.
  • Secrets in Umgebungsvariablen oder Secret‑Stores (z. B. HashiCorp Vault) speichern; niemals im Code oder in öffentlichen Repos.
  • Regelmäßige Schlüsselrotation (z. B. alle 90 Tage) mit Übergangsphase, in der alte und neue Schlüssel akzeptiert werden.
  • Audit‑Logs für Schlüsselverwendung und Rotationen.
  • Beschränken von IP‑Zugriffen auf Webhook‑Endpoints, wo möglich (Whitelist) — ergänzend, nicht als Ersatz für Signaturen.

Praxisbeispiel: HMAC‑SHA256‑Flow (konzeptionell)

So kann ein minimaler Signatur‑Workflow in Affilentra aussehen:

  • Sender: erzeugt timestamp, raw_body und nonce; signature = HMAC‑SHA256(timestamp + '.' + raw_body, shared_secret).
  • Sender: sendet POST an Empfänger mit Headern X‑Affilentra‑Timestamp, X‑Affilentra‑Nonce, X‑Affilentra‑Signature und raw_body.
  • Empfänger (Affilentra): prüft TLS, liest raw_body, verifiziert timestamp gegen Systemzeit, prüft Nonce‑Cache, berechnet HMAC und vergleicht signaturen zeitkonstant, validiert event_id und verarbeitet idempotent.

Diese Schritte sind bewusst einfach gehalten; in der Implementierung sollten Sie auf konstante Zeitvergleiche, sichere Zufallsnoncen und robuste Fehlerlogs achten.

Rollenorientierte Hinweise für Affilentra‑Nutzer

  • Händler: Legen Sie pro Payout‑Provider und Buchhaltungstool eigene Secrets an. Nutzen Sie Affilentra‑Konfigurationen, um Signaturanforderungen verbindlich zu machen.
  • Netzwerkbetreiber: Stellen Sie ein zentrales Monitoring bereit und fordern Sie integritätsprüfende Header bei Partnern ein. Nutzen Sie die PRO & NETWORK Editionen zur granularen Rechtevergabe.
  • Partner/Publisher: Verifizieren Sie ausgehende Affilentra‑Webhooks lokal vor Weiterverarbeitung und dokumentieren Sie erwartete Header und Event‑IDs.

Abschluss und nächster Schritt

Webhooks sicher zu betreiben erfordert konsequente Anwendung von Signaturen, Replay‑Protection und betrieblichen Kontrollen. In der self‑hosted Affilentra Plattform können Sie diese Mechanismen rollenbasiert einrichten und so Integrationen zu Payout‑Providern, Buchhaltungstools und Partner‑Systemen zuverlässig absichern. Wenn Sie eine sichere, selbst gehostete Lösung mit dauerhafter Lizenz ohne Umsatzbeteiligung suchen, prüfen Sie die PRO & NETWORK Editionen.

Handeln Sie jetzt: Wählen Sie Ihren Einstieg und erfahren Sie, wie Affilentra Ihre Webhook‑Integrationen robust absichert: https://affilentra.de

Nächster Schritt

Affilentra selbst ausprobieren

Einheitliche Plattform, die Produktbereitstellung, Tracking, Conversion-Validierung, Provisionsberechnung und Auszahlung entlang klar getrennter Rollen transparent zusammenführt; Option zur self-hosted Installation mit Dauerlizenz ohne Umsatzbeteiligung; Händler behalten Kontrolle über Produkte, Konditionen und Werbemittel; Partner erhalten persönliche Trackinglinks und nachvollziehbare Auszahlungshistorie.

Einstieg wählen