/ / Können Sie eine Anfrage über IP sicher authentifizieren? - PHP, Sicherheit, Payment-Gateway

Können Sie eine Anfrage über IP sicher authentifizieren? - PHP, Sicherheit, Payment-Gateway

Ich integriere derzeit die NAB-TransaktionPayment Gateway in einen E-Commerce-Shop. Sobald die Zahlung verarbeitet wurde, sendet das NAB Transact-System eine POST-Anforderung an unseren Endpunkt, damit wir das Ergebnis verarbeiten können.

Das Problem ist, dass die POST-Anfrage keine enthältsicherer Hash / Token, mit dem wir das NAB Transact-System erneut buchen können, um zu bestätigen, dass die Anforderung echt ist und nicht gefälscht ist. Schlimmer noch: Das NAB Transact-System verfügt nicht einmal über eine API für die Authentifizierung von Informationen. Dies bedeutet im Wesentlichen sehr schlechte Sicherheit!

Gibt es eine Möglichkeit, diese sicher zu authentifizierenWünsche? Überprüfen Sie beispielsweise, ob die Anforderungen von einer Liste bekannter IP-Adressen stammen, mit denen das NAB-Transaktionssystem arbeitet. Oder eine IP-Adresse umkehren? Welche Möglichkeiten gibt es und wie würden Sie dies in PHP implementieren?

Ist die IP-Authentifizierung nicht so sicher, da sie gefälscht werden kann?

Antworten:

0 für die Antwort № 1

Das Problem ist, dass die POST-Anforderung keinen sicheren Hash / Token enthält , die wir verwenden können, um auf das NAB Transact-System zu buchen authentifizieren, dass die Anfrage echt ist und nicht gefälscht ist

Yup - das ist ein Problem in Ordnung :)

Es ist nicht erforderlich, dass die IP-Authentifizierung nicht so sicher ist, da dies möglich ist gefälscht?

Es ist bei ALLEN nicht sicher!


1 für die Antwort № 2

Authentifizierung basierend auf IP-Adressen ist in Ordnung, wenn Sie:

  • die Liste der IPs kennen (d. h. die vom Zahlungsanbieter verwendeten)
  • die IPs sind statisch (natürlich, aber wenn die Anfrage tatsächlich vom Provider gesendet wird und nicht beispielsweise durch ein verstecktes Formular auf der Seite "Zahlung erfolgreich", ist dies der Fall)
  • Sie benachrichtigen Sie sofort über Änderungen (oder Ihr Skript kann gültige Anfragen ablehnen oder Anfragen von IPs akzeptieren, die nicht mehr vom Anbieter verwendet werden.
  • alle Systeme, die die IP-Adresse verwenden können (d. h. den Servern des Zahlungsanbieters, die davon ausgehen, dass das Rechenzentrum keine schlechte Netzwerkeinrichtung verwendet), vertrauen genug, um keine falschen Benachrichtigungen zu senden.

Das Spoofing der Quell-IP ist nicht möglich, da TCP einen Drei-Wege-Handshake verwendet und bei einer gefälschten IP-Adresse der Handshake fehlschlägt.

Also im Grunde genommen: Die Authentifizierung über IP ist akzeptabel, wenn einige grundlegende Kriterien erfüllt sind (siehe oben), aber es wäre natürlich sicherer, wenn Sie die Möglichkeit hätten, die Benachrichtigung zu überprüfen - entweder durch Aufruf einer API auf ihrer Seite oder durch Verwendung einer kryptografischen Signatur (besser, da es aufgrund eines nicht erreichbaren Remote-Servers nicht fehlschlagen kann).