Почему обычный HTTP — плохой вариант
HTTP без шифрования легко прослушать. Когда вы вводите что-нибудь на сайте, адрес которого начинается на http://, компьютер словно кричит в толпе:
«Эй, сайт автозапчастей! Это Юзер381, пароль один-два-три! Открой мне страницу…«
Услышат все, у кого есть уши:
- ваш браузер,
- вирусы на ПК,
- другие компьютеры в домашней сети (к бесплатному WiFi в кафе тоже относится),
- вирусы в роутере,
- провайдер,
- промежуточные сервера,
- сервер, на котором размещен сайт.
Когда на кассе расплачиваетесь карточкой, вы сообщаете окружающим свой ПИН-код? Думаю, нет. Вы прикрываете кнопки рукой. Шифровать запросы HTTP тоже нужно. Для этого и нужен HTTPS — HyperText Transfer Protocol Secure и цифровые сертификаты
Но HTTPS — не стопроцентная защита безопасности
Не буду углубляться в математические дебри, чтобы объяснить принцип работы защищенных соединений.
Статьи для тех, кто хочет понять больше
Сильно упрощенное объяснение вы найдете в статье Яндекса «Что такое протокол HTTPS, и как он защищает вас в интернете». Хотя аналогия с передачей посылки с замками похожа на сферического коня в вакууме.
Интересно про шифрование HTTPS написано здесь: Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик.
Про то, что HTTPS бывает разным: Цифровые SSL сертификаты. Разновидности, как выбрать?
О том, почему всем вебмастерам нужно переходить на HTTPS, предельно доступно рассказали гугловцы Андрей Липатцев и Мария Моева (видео удалено Гуглом).
Так как оригинальное видео удалено, добавляю другое:
Важно знать, что когда кто-то подменит сертификаты, чтобы посмотреть, что вы там передаете и (если надо) показать свой вариант страниц, конверт «повредится» и вы увидите факт подмены. HTTP можно сравнить с открыткой — любой может открыть и посмотреть, кого и с чем поздравляют, а затем незаметно сложить обратно, возможно с заменой, а подменить содержимое HTTPS — невозможно. То, что после определенных манипуляций либо на серверах с сайтами, либо на вашем ПК подмена сработает, никак не компрометирует сам протокол, потому что взлом происходит вне его области работы.
Используем HTTPS правильно
Вы — посетитель. Вам не хочется углубляться в заросли сертификатов и ключей шифрования. Но хочется защищенности. Что для этого сделать?
Проверяйте адрес
Поглядывайте на адресную строку. Адрес должен быть без опечаток. О работе HTTPS сообщит цвет значка.
Если у вас нарушение цветовосприятия, можно щелкнуть по значку, чтобы увидеть текстовую подсказку («Подключение к веб-сайту защищено»).
В браузере Google Chrome щелчок по надписи https:// откроет много дополнительной информации:
В Mozilla Firefox все проще:
В остальных браузерах аналогично.
К сожалению, HTTPS — не гарантия безопасности. Вашу информацию все равно можно похитить. Для этого нужно перехватить запросы между вами и сервером сайта. Отсюда и название атаки — MiTM, Man in The Middle, «человек посередине».
К счастью, это можно увидеть. Сила HTTPS в том, что сертификат (грубо говоря, пароль) для шифрования можно удостоверить одним из центров выдачи сертификатов. При этом сертификат может получить только владелец сайта. Поэтому браузер может отличить оригинальный сертификат сайта от поддельного. Если при открытии сайта по HTTPS браузеры видят, что сертификат не удостоверен, то выводят предупреждение. Которые многие игнорируют…
Например, если кто-то решит собрать логины и пароли пользователей Вконтакте, он может бесплатно раздать WiFi в людном месте, подменяя подключившимся пользователям сайт Вконтакте. Если кто-то наберет vk.com, он попадет на HTTP версию и разницы не заметит, пароль достанется злоумышленнику. Зато при попытке открыть https://vk.com браузер предупредит:
Такое может случиться не только в бесплатной сети. В октябре 2014 года китайские пользователи обнаружили, что кто-то подменяет сайт iCloud от Apple. Еще ранее — HTTPS версию популярного сайта GitHub. То есть вполне возможен сценарий, что сертификат (или сам сайт) подменят на уровне всей страны.
Может ли не владелец сайта удостоверить сертификат? Надеюсь, нет. Но зарекаться не стоит.
Очистите браузеры от рекламных расширений
Что будет, если на HTTPS-странице подгрузится элемент по HTTPS протоколу? Ничего хорошего.
Переданное по HTTPS содержимое перехватить по-прежнему нельзя, но небезопасные элементы (картинки, например) отследить можно.
Добавлять постороннее содержимое очень любят всякие рекламные тулбары, шпионские расширения для браузеров. Эта дрянь никому, кроме их создателей, не нужна, поэтому почистите компьютер и браузер с помощью AdwCleaner.
Смешанный контент на отдельных сайтах говорит о безалаберности их разработчиков. Можно сообщить им о проблеме и надеяться, что ссылки в коде страниц поправят.
Установите HTTPS Everywhere
По ряду технических причин нельзя сделать так, чтобы при ввода адреса по умолчанию открывалась сразу HTTPS-версия сайта. Придется решать проблему самим.
Расширение HTTPS Everywhere (версии для Chrome, Firefox, Opera) принудительно перенаправляет сайты на защищенные версии. Пользуйтесь!
Владельцам сайта
Есть нюанс, из-за которого многие владельцы считают, что переход на защищённый протокол не нужен — непредсказуемое изменение посещаемости.
Google давно обещает давать приоритет в выдаче сайтам, работающим по защищённому протоколу. Яндекс на этом внимание не заостряет. На практике переход на HTTPS не гарантирует поднятие сайта в выдаче поисковых систем. Случается даже обратный эффект. Сложно сказать, почему так происходит. Возможно, из-за того, что https:// ссылки рассматриваются как совершенно новые и «вес» страницы в глазах поисковых алгоритмов перерасчитывается без учета каких-то свойств старых страниц.
Но это не значит, что переход на HTTPS всегда нежелателен. Поисковые системы ранжируют сайты по многим критериям, в том числе по скорости загрузки страницы. И вот здесь переход поможет, но только при одновременном включении протокола HTTP/2 вместо устаревшего 1.1 (без HTTPS переход невозможен, хотя, теоретически, допилить серверный софт можно). Все скрипты, стили, картинки страницы начнут загружаться одновременно, в отличии от протокола HTTP 1.1, где на каждый файл создаётся запрос и, следовательно, случаются задержки.
При этом следует учесть, что шифрование само по себе сильнее нагружает процессоры сервера, а HTTP/2 без широкого канала связи будет бесполезен. То есть, если у вас хороший сервер (можно подобрать качественный VPS), то шансы получить выгоду в виде повышения посещаемости возрастают.
Также не следует забывать об удобстве пользователей. В защищённые сайты провайдерам сложнее внедрить рекламу (этим грешат мобильные операторы и Wi-Fi в метро), становится гораздо ресурсозатратней отслеживать посещение отдельных страниц и в целом это говорит о том, что владельцы заботятся о безопасности посетителей.
Я давно перешёл на HTTPS и HTTP/2, чего и вам желаю. Ни падения, ни подъёма в ранжировании я не зафиксировал.