2016-08-04 2 views
1

У меня есть веб-сайт, который требует от пользователя входа в систему. И поскольку весь контент недоступен по https, мы решили, что мы будем использовать https только для страницы входа.HTTPS только для страницы входа - рекомендуется ли это?

Все остальные данные, представленные на странице, не чувствительны и не требуют шифрования.

Может ли этот подход скомпрометировать учетные данные пользователя? Имея все остальные страницы на http - может ли злоумышленник получить доступ к учетным данным из файлов cookie сеанса пользователя?

Я видел много сайтов, имеющих такой подход, поэтому я думаю, что это может быть безопасно, но хотелось бы понять технические особенности, стоящие за ним.

+3

«Все другие данные, поданные на странице не чувствительны» говорит кто? Я забочусь о своей конфиденциальности. Также я забочусь о том, чтобы быть уверенным, что я действительно нахожусь на своем сайте. – PeeHaa

+0

Также, если вы используете только файлы cookie, отличные от https, он будет просачиваться просто отлично. – PeeHaa

ответ

4

Имея протокол HTTPS только на странице входа небезопасна:

  • Это означает, что вы не используете HSTS, который является единственной защитой от SSLSrip
  • Это означает, что злоумышленник может заменить на ваши страницы http ваша ссылка на страницу входа на что-то еще (например, popin, которые представляют учетные данные на свой сервер)
  • Как только пользователь подключен, cookie должен иметь защищенный атрибут действительно легко украсть печеньки. см Firesheep)

Единственный безопасный способ заключается в использовании протокола HTTPS на всех страницах вашего домена, используйте HSTS и перенаправить все запросы HTTP на HTTPS.

Может ли этот подход скомпрометировать учетные данные пользователя? Имея все остальные страницы на http - может ли злоумышленник получить доступ к учетным данным из файлов cookie сеанса пользователя?

Атакующий может украсть куки сессии, так что он, вероятно, может сделать много вреда (в зависимости от ваших мер безопасности, изменить пароль, адрес электронной почты, извлекать Personnal данные ...), и он может имитировать отключение и снова попросите пароли на веб-страницах http.

Я видел много сайтов, имеющих такой подход, так что я думаю, что это может быть безопасным

Нет, это не так. Вероятно, у них слишком большой сайт, чтобы включить https повсюду, поэтому они сделали все возможное, чтобы ограничить убытки. (Или они просто ленивы)

-1
  1. HTTPS может быть реализован только для страницы входа при условии, что защищенный флаг включен для приложения. Защищенный флаг предотвратит передачу файлов cookie в текстовом виде. Невозможность использования «безопасного» флага позволяет злоумышленнику получить файл cookie сеанса, обманув браузер пользователя, отправив запрос на страницу без HTTPS на сайте.
  2. HTTPS следует использовать для страницы входа и всех других страниц, прошедших проверку подлинности. HTTPS на странице входа передает учетные данные в зашифрованном формате, но все другие разрешенные запросы перемещаются в незарегистрированном формате, так как идентификатор сеанса будет передаваться в открытом виде, если любой из HTTP-запросов использует идентификатор сеанса.

Лучший способ - использовать HTTPS для всех страниц, которые обеспечивают полную передачу данных в зашифрованном виде.

Ref: https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet

+0

«HTTPS может быть реализована только для страницы входа, при условии, что флаг безопасности включен для приложения» неверен: если у вас есть безопасный флаг (который вам нужен!), Страницы, требующие аутентификации (кроме страницы входа в систему), должны быть https или они не получит cookie аутентификации. – Tom

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

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