Начиная с 2012 года, сайты должны использовать только SSL, если они имеют личную информацию (PII) или коммерчески важную информацию, или если у них есть какое-либо понятие логина.
Сайты, которые публикуют только общедоступную информацию с низким уровнем доверия и низким уровнем доверия, немного спорны, но, вероятно, все еще могут с пользой обслуживать все через HTTPS. Злоумышленники могут попытаться вставить вредоносное или рекламное ПО или перенаправить в контент HTTP.
Корпоративная политика "все по SSL, без конкретного исключения" является разумной.
Вы также должны посмотреть на развертывание HTTP Strict Transport Security , чтобы убедиться, что даже первый пользовательский запрос от ввода example.com
отправляется по HTTPS.
Атаки «человек посередине» представляют собой реальную проблему, особенно в сетях Wi-Fi, а также на уровне интернет-провайдера и страны. Если вы выполняете только этап входа через SSL, а затем пропускаете файл cookie сеанса в незашифрованном виде, этот файл cookie сеанса будет украден. См. Firesheep для ясной демонстрации.
SSL безопасно кешируется для каждого пользователя, либо для сеанса, либо на неопределенный срок. Кэши прокси на стороне клиента теперь редки, и оптимизация для этого случая не важна. Когда они существуют, они обычно ошибаются, и обход их через SSL стоит.
Правильно реализованные SSL или SPDY могут быть быстрыми: нагрузка на сервер невелика и легко переносится на отдельный обратный прокси-сервер. Есть SSL CDN.
Нет необходимости покупать настоящие сертификаты для сайтов, предназначенных только для разработчиков и тестировщиков. Стоимость сертификатов в десятках долларов незначительна даже для некоммерческих сайтов.
Шифрование данных в сети является полезным уровнем глубокой защиты. Очевидно, что этого недостаточно для обеспечения безопасности службы, но это устраняет некоторые проблемы и имеет низкую стоимость.
Даже для данных, предназначенных только для чтения, клиенты знают, что получают подлинный сайт: например, если они загружают двоичные файлы, вы не хотите вставлять трояны.
Безопасное разграничение страниц, для которых требуется использование SSL, и страниц, не требующих усилий разработчика, которые почти наверняка можно было бы использовать лучше.
Делать стандарты смирительной рубашкой для разных систем, особенно без консультаций, никогда не бывает хорошо. Но для меня имеет смысл говорить, что все сайты должны быть по SSL, если только в одном случае нет особой причины поступать иначе. Хорошие примеры исключений в каждом конкретном случае, где вы все равно должны предлагать SSL, но не форсировать перенаправление:
- сайт обслуживает большие двоичные загрузки (раздачи музыки / видео / программного обеспечения), поэтому важно увеличить объем кэширования и ускорить загрузку (показать данные)
- клиенты - это архаичные IE или встроенные клиенты, которые просто не могут адекватно использовать SSL (опять же, покажите, что это действительно проблема)
- на сайте очень много ресурсов, и вы хотите, чтобы роботы индексировали его по HTTPS
Если вы используете SSL везде, вы будете использовать еще несколько машинных ресурсов способами, которые могут быть оптимизированы, если они станут важными. Если вы не используете SSL, вы либо тратите больше ресурсов для разработчиков, чтобы рассмотреть вопрос о безопасности в каждом конкретном случае, либо, скорее всего, вы будете более склонны к краже аккаунта.
Адам Лэнгли из Google написал в 2010 :
Если есть один момент, о котором мы хотим сообщить миру, это то, что SSL / TLS больше не требует вычислительных затрат. Десять лет назад это могло быть правдой, но это уже не так. Вы также можете позволить себе включить HTTPS для своих пользователей.
В январе этого года (2010) Gmail переключился на использование HTTPS для всего по умолчанию.Ранее он был представлен как опция, но теперь все наши пользователи постоянно используют HTTPS для защиты своей электронной почты между браузерами и Google.Для этого нам пришлось развернуть без дополнительных машин и специального оборудования.На наших производственных компьютерах SSL / TLS составляет менее 1% загрузки ЦП, менее 10 КБ памяти на соединение и менее 2% сетевых издержек.Многие считают, что SSL занимает много процессорного времени, и мы надеемся, что приведенные выше цифры (впервые опубликованные) помогут развеять это.