2015-09-25 2 views
4

В настоящее время я работаю над одностраничным приложением, которое ведет переговоры с REST api, размещенным на другом сервере и защищенным SSL.Необходимость обслуживать одностраничное приложение через HTTPS

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

  1. сингл page - конечная точка для сброса ссылок пароля с конфиденциальным токеном в строке запроса. Эти ссылки отправляются по электронной почте моим пользователям. Когда пользователь нажимает на ссылку, его браузер запрашивает одностраничное приложение. Поэтому запрос GET НЕ зашифрован и не является строкой запроса.

  2. Приложение затем просит пользователя ввести новый пароль, и этот новый пароль отправляется через ajax на задний конец, который защищен SSL.

Так что мой взгляд на то, что она стоит настройка SSL для моего одного приложения страницы для обеспечения безопасности для первого рассмотрения, так как запрос GET поэтому не шифруются и ни строка запроса и маркер чувствителен Информация. Тем не менее, это было бы необязательно, если бы учитывалось только второе соображение, поскольку соединение между одностраничным приложением и задним концом выполняется через SSL (поскольку одностраничное приложение использует Ajax для связи с конечной точкой, защищенной через SSL) ,

Я прав? Или полностью отвлекается? Благодаря!

ответ

3

Ваша интуиция верна. Единственное эффективное различие между вашим первым и вторым сценарием заключается в том, что в (1) вы отправляете конфиденциальную информацию (токен) на внешний сервер и (2) вы отправляете конфиденциальную информацию (пароль) на задний сервер. Поэтому, поскольку вы отправляете конфиденциальную информацию обоим, они оба должны быть защищены SSL.


Если передний конец сервер не были обеспечены SSL, здесь можно атаковать проспект:

  1. Атакующий MITMs сервер внешнего интерфейса, когда пользователь отправляет маркер сброса в строке запроса, атакующий получает доступ к токену сброса.

  2. Перед тем, как реальный клиент может отправить запрос на сброс пароля, злоумышленник отправляет запрос сброса пароля на серверный сервер.

  3. Злоумышленник отправляет новый пароль на серверный сервер. Пароль сбрасывается на пароль, который знает злоумышленник.

Ни в коем случае злоумышленник не должен нарушать SSL-сервера бэкэнд-сервера, чтобы снять атаку с внешнего сервера. Конечно, сервер бэкэнда будет получать пароль от пользователя, поэтому ему тоже потребуется SSL. Короче говоря, для защиты от атак типа «человек-в-середине» вам понадобится SSL для обоих ваших серверов.

 Смежные вопросы

  • Нет связанных вопросов^_^