Mandrill Webhoocks - Sicherheit

8

Aus Sicherheitsgründen versuche ich nur Mandrill 's IP (s) auf diese URLs zugreifen zu lassen.

Kennt jemand sie?

    
devside 26.04.2013, 10:04
quelle

5 Antworten

9

Wir haben eine Reihe von IPs, die für Webhooks verwendet werden, aber sie können (und werden es wahrscheinlich) ändern oder neue hinzufügen, wenn wir skalieren. Eine Alternative wäre, der Webhook-URL, die Sie in Mandrill hinzufügen, eine Abfragezeichenfolge hinzuzufügen und dann nach dieser Abfragezeichenfolge zu suchen, wenn ein POST eingeht, damit Sie überprüfen können, ob er von Mandrill stammt.

    
Kaitlin 26.04.2013, 12:48
quelle
17

Die Mandrill-Signatur befindet sich im HTTP-Antwort-Header: Authentifizieren von Webhook-Anfragen

Suchen Sie im Anfrage-Header nach: X-Mandrill-Signature . Dies ist eine Base64 des Hashcodes, die mit einem Web-Hook-Schlüssel signiert wurde. Dieser Schlüssel ist nur für Ihren Webhook geheim.

    
devside 13.05.2013 09:46
quelle
2

Ersetzen Sie einfach die Konstanten und verwenden Sie diese Funktion:

%Vor%     
Seba Cardozo 26.08.2014 14:54
quelle
1

Wie in den Dokumenten von Mandrill beschrieben, stellen sie eine Signatur zur Verfügung Überprüfen Sie, ob die Anfrage wirklich von ihnen stammt. Um die Anfrage zu erstellen, gibt es ein paar Schritte:

  1. Beginnen Sie mit der genauen URL Ihres Webhooks (Gedankenstriche und Params)
  2. Sortiere die Post-Variablen nach Schlüssel (im Fall von Mandrill hast du nur einen Post-Parameter: mandrill_events )
  3. Fügen Sie Schlüssel und Wert zur URL ohne Trennzeichen
  4. hinzu
  5. hmac die URL mit Ihrem geheimen Schlüssel (Sie können den Schlüssel von der Web-Schnittstelle bekommen) und base64 es.
  6. Vergleichen Sie das Ergebnis mit dem Header X-Mandrill-Signature

Hier ist eine Beispielimplementierung in Python:

%Vor%     
martin s. 19.12.2016 10:14
quelle
0

205.201.136.0/16

Ich habe sie gerade in der Firewall meines Servers auf die weiße Liste gesetzt.

    
Switch Computers 17.05.2013 14:14
quelle

Tags und Links