/ / Чи можна надійно перевірити автентичність запиту через IP? - php, security, payment-gateway

Чи можете Ви надійно перевірити запит через IP? - php, безпека, платіжний шлюз

В даний час я інтегрую транзакцію NABплатіжний шлюз в магазин електронної комерції. Після обробки платежу система транзакцій NAB надсилає запит POST до нашої кінцевої точки, щоб ми могли обробити результат.

Проблема полягає в тому, що запит POST не міститьбезпечний хеш / маркер, який ми можемо використовувати для відправки назад в систему транзакції NAB для перевірки автентичності, що запит є справжнім і не підробленим. Ще гірше, система NAB Transact навіть не має API для будь-якої аутентифікації будь-якої інформації, по суті, дуже поганої безпеки!

Чи є спосіб надійної автентифікації цих данихзапитів? Наприклад, перевірка того, що запити надходять зі списку відомих IP-адрес, на які працює система транзакцій NAB? Або зворотний пошук IP? Які варіанти існують і як ви реалізуєте це в PHP?

Чи не покладатися на перевірку автентичності IP не так безпечно, оскільки його можна підробити?

Відповіді:

0 для відповіді № 1

Проблема полягає в тому, що запит POST не містить захищеного хешу / маркера що ми можемо використовувати для відправки назад до системи NAB Transact аутентифікуйте, що запит є реальним і не підроблений

Ага - це проблема в порядку:)

Чи не покладатися на перевірку автентичності IP не так безпечно, оскільки це може бути підмінити?

Це не на всіх безпечних!


1 для відповіді № 2

Перевірка автентичності на основі IP-адрес дозволена, якщо ви:

  • знати список IP-адрес (тобто ті, що використовуються платіжним постачальником)
  • IP-адреси статичні (очевидно, але якщо запит фактично надіслано постачальником, а не, наприклад, через приховану форму на сторінці "успішний платіж", що стосується цього
  • вони негайно сповіщають про будь-які зміни (або ваш сценарій може відхилити чинні запити або прийняти запити від IP-адрес, які більше не використовуються постачальником)
  • всі системи, які можуть використовувати IP-адресу (тобто сервери провайдера платежів, які вважають, що центр даних не використовує певні налаштування мережі, достатньо довіряють, щоб не надсилати помилкових повідомлень.

Помилка вихідного IP-адреси неможлива, оскільки TCP використовує тристороннє рукостискання і з підробленим IP-повідомленням рукостискання не відбудеться.

Отже: Перевірка автентичності за IP-адресою є прийнятною, якщо виконано деякі основні критерії (див. Вище), але, звичайно, це буде більш безпечним, якщо вони нададуть вам спосіб перевірки сповіщення - або шляхом виклику API на їхній стороні або за допомогою криптографічного підпису (краще, оскільки не може вийти з ладу через недоступний віддалений сервер).