/ / Môžete bezpečne overiť požiadavku prostredníctvom IP? - php, bezpečnosť, platobná brána

Môžete bezpečne overiť žiadosť prostredníctvom IP? - php, bezpečnosť, platobná brána

V súčasnosti integrujem NAB Transactplatobnej brány do e-commerce obchodu. Po spracovaní platby systém NAB Transact pošle požiadavku POST na náš koncový bod, aby sme mohli výsledok spracovať.

Problém je v tom, že požiadavka POST obsahuje niebezpečný hash / token, ktorý môžeme použiť na odoslanie späť do systému NAB Transact na overenie, či je požiadavka reálna a nie spoofovaná. Ešte horšie je, že systém NAB Transact nemá ani API na overovanie akýchkoľvek informácií, v podstate veľmi zlej bezpečnosti!

Existuje spôsob, ako ich bezpečne overiťŽiadosti? Napríklad, kontrola, či požiadavky pochádzajú zo zoznamu známych IP adries, na ktorých operačný systém NAB pracuje? Alebo spätné vyhľadávanie IP? Aké sú možnosti a ako by ste to implementovali v PHP?

Isn "t spoliehať na overovanie IP nie je to bezpečné, pretože to môže byť falošné?

odpovede:

0 pre odpoveď č. 1

Problém je v tom, že požiadavka POST neobsahuje žiadne zabezpečené hash / token ktoré môžeme použiť na odoslanie späť do systému NAB Transact overiť, či je požiadavka reálna a nie spoofovaná

Yup - to je problém v poriadku :)

Isn "t spoliehať na overovanie IP nie je to bezpečné, pretože to môže byť." falošnú?

Nie je to všetko v bezpečí!


1 pre odpoveď č. 2

Overenie na základe adries IP je v poriadku, ak:

  • pozná zoznam IP (t. j. tie, ktoré používa poskytovateľ platby)
  • IP sú statické (samozrejme, ale ak je požiadavka skutočne odoslaná poskytovateľom, a nie napr. prostredníctvom skrytého formulára na stránke "úspešná platba", ktorá je v danom prípade)
  • okamžite vás upozornia na akékoľvek zmeny (alebo váš skript môže odmietnuť platné požiadavky alebo akceptovať požiadavky z IP, ktoré už poskytovateľ nepoužíva)
  • všetky systémy, ktoré môžu používať IP adresu (napr. servery poskytovateľa platby za predpokladu, že dátové centrum nepoužíva nejaké mizerné nastavenie siete, sú dostatočne dôveryhodné, aby neposielali žiadne falošné oznámenia.

Spoofing zdrojovej IP nie je možný, pretože TCP používa trojcestný handshake a so spoofovaným IP zlyhaním handshake.

V podstate: Autentifikácia podľa IP je prijateľná, ak sú splnené niektoré základné kritériá (pozri vyššie), ale samozrejme by bolo bezpečnejšie, keby vám poskytli spôsob, ako potvrdiť notifikáciu - buď volaním API na ich strane alebo použitím kryptografického podpisu (lepšie, pretože nemôže zlyhať kvôli nedostupnému vzdialenému serveru).