сторонний сервис конечно всё знает, думаю как защититься от него. Но если я от него защищаюсь, то возникает вопрос - а зачем мне тогда вообще этот колбэк если я проверяю всё другим способом?
Про сканирование IP адресов и портов слышал, сам в этом полный неуч пока, но там разве полный адрес можно узнать вот такого вида: www.domen.ru/mycollback ? я думал что можно увидеть только www.domen.ru и всё или ошибаюсь?
Колбэк мне идёт пост запросом, встроенная во фреймворк csrf защита для этого адреса отключена с моей стороны. Тем не менее секретный ключ в запросе передаётся, но если рассматривать MITM то получается что злоумышленник посередине, перехватив мой запрос с токеном отправит мне его же и всё.
другими словами я понял следующее: верить ничему нельзя и колбэк может служить просто некоторым триггером для запуска собственной проверки выполнимости нужных мне условий. С одной стороны масло масленое, с другой не придётся проверять всё по крону, а только по приходу колбэка. Так рассуждаю правильно ?
Desead, значит смотрите. Никто не мешает некоему злобному скрипт-киддису с ником dickhead тыкать буквально по словарю все урлы подряд в поисках того, который подойдет. В логах сайтов я постоянно наблюдаю такие попытки по списку наиболее популярных урлов.
Далее, ваш коллбэк вызывается откуда-то с фронта или откуда-то с бэка? потому что если со фронта, он со всеми потрохами побывает в руках пользователя, и вы от этого не защититесь просто так.
Если же с какого-то бэка, то вам надо использовать HTTPS и пин сертификата этого бэка, чтобы гарантировать, что запрос к вам пришел именно от него, а не откуда-то еще.
Защитой от повторного вызова коллбэка будет, например, выдача стороннему сервису токена, который вы у себя регистрируете в БД и помечаете как просроченный после того, как сторонний сервис к вам обратится с этим токеном.
В логах сайтов я постоянно наблюдаю такие попытки по списку наиболее популярных урлов
- это логи nginx или какая то отдельная программа мониторит?
Вообще урл для прихода колбэка у меня такого вида: domen.ru/njdncv2ufnjsd - вряд-ли словарь поможет, плюс я думаю что урлы могут на каждый колбэк генериться автоматически, но пока мне кажется что это уже паранойя или я ошибаюсь?
Далее, ваш коллбэк вызывается откуда-то с фронта или откуда-то с бэка?
колбэк с бека, идёт по https - это ответ с мерчанта о поступлении денег, в нём же есть указанный мною токен.