Как запретить клиентам без браузера отправлять запросы на мой сервер - PullRequest
0 голосов
/ 15 декабря 2018

Я недавно развернул свой веб-сайт и мой бэкэнд на одном и том же vps, используя nginx, но теперь, когда я делаю запрос с PostMan на http://IP:port/route - я получаю ответ от сервера с любого ПК,Я думаю, что это не так, как это должно работать.Я установил для CORS параметры origin: vps-IP (т.е. только мой домен), но мой сервер по-прежнему принимает запросы от PostMan.Можно ли как-нибудь запретить моему бэкэнду принимать эти запросы, ограничивая домен только моим доменом AKA my vps ip?И должны ли запросы сначала обходить nginx?

Еще один вопрос - защитить мой сайт;важные заголовки запроса и ответа отображаются на вкладке сети браузера - например, токен авторизации JWT, это нормально или это некоторый риск для безопасности?

1 Ответ

0 голосов
/ 16 декабря 2018

Я думаю, что здесь есть некоторая путаница в отношении CORS.

Перекрестный общий доступ к ресурсам не используется для настольных клиент-серверных или межсерверных вызовов.По ссылке:

Cross-Origin Resource Sharing (CORS) - это механизм, который использует дополнительные заголовки HTTP, чтобы сообщить браузеру, чтобы веб-приложение, работающее в одном источнике (домене), получило разрешение на доступ к выбранномуресурсы с сервера в другом источнике.Веб-приложение отправляет HTTP-запрос перекрестного источника, когда оно запрашивает ресурс, источник которого (домен, протокол и порт) отличается от своего собственного источника.

Таким образом, это веб-приложение для другого сервера.вещь и ее актуальная функциональность реализована браузерами.

  1. Это нормально?Да, это.Это означает, что люди, использующие Postman, могут отправлять запросы на ваш сервер, и вы несете ответственность за защиту от подобных вещей.Что бы сделали браузеры, они бы посмотрели, с каких доменов вы позволяете вашему серверу вызываться, и если это другой домен, пытающийся получить доступ к ресурсу, они заблокируют его. Настройка списка доменов, которые могут получить доступ к вашим ресурсам, является обязанностью вашего / вашего сервера, но обеспечение этой политики является обязанностью браузера. Почтальон не является браузером, поэтому он не обязательно реализует эту функцию (иэто не обязательно).

  2. Если вы показываете / пропускаете токены в заголовках (на другом устройстве, чем то, что вы аутентифицировали с помощью или перед входом в систему) - этосерьезная проблема безопасности.Если это происходит на устройстве, на котором вы выполнили вход, и только после того, как вы выполнили вход, то это ожидается.Это предполагает, что вы не пропускаете информацию каким-либо иным способом и спроектировали / реализовали ее правильно.

  3. Существуют механизмы предотвращения того, о чем вы беспокоитесь.И вы можете быть в такой услуге, даже не замечая этого, у вашего провайдера хостинга / облачного развертывания может быть либо реализация, либо соглашение с другой компанией / инструментом, чтобы вы могли быть уже защищены.Лучше всего проверить!

Эти

- первые платные сервисы, появившиеся при быстром поиске, я уверен, что есть и другие.Существуют также простые реализации, которые обеспечат некоторую защиту:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...