О сервере REST безопасности композитора.
Контекст
Я знаю, что это было давно, и композитор hyperledger устарел. Тем не менее, будучи большим энтузиастом блокчейна, я протестировал ряд связанных проектов, чтобы лучше понять технологию.
Этот проект поднял для меня очень важный вопрос о безопасности такого рода приложений с вызовами REST. Подводя итог, можно сказать, что если приложение (например, приведенное ниже по ссылке) запущено в эксплуатацию с двумя серверами REST, одно в однопользовательском режиме с картой администратора (порт 3001 для создания удостоверений) и одно в многопользовательском режиме (порт 3000 дляразличая идентификаторы), пользователи могут получить доступ к порту 3001 (с помощью Card Admin) с помощью приложений, таких как POSTMAN / INSOMNIA, а затем сделать вызовы GET для 3001 / system / identity, чтобы получить идентификаторы, а затем выполнить вызов POST для 3001 / system / identity / / id дляактивируйте их.
Проблема в том, что если на сервере мы заблокируем доступ к этому порту, приложение не сможет создавать новые идентификационные данные. Я застрял здесь. Я что-то забыл? Какая правильная мысль?
Шаги по воспроизведению:
Следуйте этому руководству о том, как реализовать многопользовательское веб-приложение для составления гипертекстовых программ:
https://medium.com/@CazChurchUk/developing-multi-user-application-using-the-hyperledger-composer-rest-server-b3b88e857ccc
https://github.com/cazfletch/collectable-penguin-app
- Откройте Insomnia / Postman и сделайте GET для 3001 / system / identity
- Скопируйте один из возвращенных идентификаторов
- POST на 3001 / system / identity / [ID]
- -> ID активирован, и вы можете видеть все активы этого участника ??
Ожидаемое поведение
Правило ACL для транзакций DENY / идентификаций илиспособ отправки создания идентификаторов с помощью транзакций.
Фактическое поведение
Пользователь может получать внешний доступ к маршрутам ADMIN и выполнять вызовы идентификаторов GET и POST для их использования.