Перевод сайта на HTTPS: как и зачем

Компания Google ведет активную работу по стимулированию владельцев сайтов переводить сайты на работу по протоколу HTTPS вместо небезопасного HTTP.

Сейчас в браузере Google Chrome все сайты на HTTPS помечаются как безопасные:

Screenshot_2.png
сайты на HTTPS помечаются как безопасные

В январе 2017 года (с выходом Chrome версии 56) сайты без SSL-сертификатов (работающие не на HTTPS) будут помечаться Chrome’ом как небезопасные.
То есть заходя на сайт, пользователи будут видеть следующее:

Screenshot_1.png
Google Chrome помечает сайты без HTTPS как ненадежные

Соответственно доверие к такому сайту будет невысоким и это скажется на его посещаемости и количестве клиентов.

Помимо выделения ненадежных сайтов Google начинает использовать HTTPS в качестве фактора положения сайта в своей поисковой выдаче. Таким образом, позиции сайтов, работающих на небезопасном HTTP, в поисковых системах будут ниже, чем сайтов на HTTPS, что также отрицательно скажется на посещаемости сайта. На данный момент влияние использования HTTPS невелико, порядка 1%, но со временем оно будет неуклонно расти, как обещает Google.

Ликбез: почему использовать HTTP небезопасно и как защитить данные пользователей

Рассмотрим на примере: вы зашли на сайт, вводите ваш логин и пароль и нажимаете «Войти». В этот момент введенные вами данные отправляются на сервер, где они будут сверены с базой данных, и сервер решит, пускать вас в личный кабинет или нет. Если сайт работает по протоколу HTTP, то данные между вашим браузером и сайтом сервиса будут передаваться в незашифрованном виде. Это означает, что если вы заполнили форму и ввели туда, например, логин: admin и пароль: qwerty123, то в таком виде они и будут отправлены на сервер.

Злоумышленник может «прослушать» ваш канал связи и легко перехватить эти данные. Узнав ваши данные, злоумышленник может зайти под вашим именем на сайт и украсть ваши данные. Если учетная запись принадлежит администратору сайта, то злоумышленник получит полную власть над сайтом.

Как же защититься?

Давайте представим, что сайт работает по протоколу HTTPS: при входе сервер отправляет браузеру SSL-сертификат, в котором содержится различная информация, в том числе информация о том, кто выдал этот сертификат, информация о самом сайте (чтобы браузер знал, что он работает с нужным сайтом), до какого числа сертификат действителен и открытый ключ шифрования, с помощью которого браузер будет шифровать все передаваемые данные. На стороне сервера есть второй ключ (приватный), с помощью которого сервер будет расшифровывать получаемые от браузера данные.

Если браузер, проанализировав сертификат, пришел к выводу, что он действительно выдан надежным источником и срок его действия еще не истек, то браузер и сервер «договариваются» о том, что они будут обмениваться данными в зашифрованном виде.
В этот момент в строке браузера вы увидите, что сайт безопасен, например, появится зеленый замочек, который говорит о том, что между браузером и сервером сайта установлено защищенное HTTPS-соединение, то есть весь обмен данными происходит в зашифрованном виде.

Теперь, когда мы вводим свои данные, например, логин: admin и пароль: qwerty123 и нажимаем кнопку «Войти», эти данные передаются на сервер зашифрованными, например, так: 7c1c69d1054f28be684d80415f34c76a. Сервер получит эти данные и с помощью своего приватного ключа превратит их обратно в логин: admin и пароль: qwerty123.

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

Сайты без HTTPS будут помечаться как ненадежные и ниже ранжироваться в поисковых системах.

Как перевести сайт на HTTPS?

Процесс перехода на защищенный протокол можно свести к двум подзадачам: приобретение SSL-сертификата и работы по настройке сервера, где размещён сайт.

Приобретение SSL-сертификата

SSL-сертификат — это персональная электронная подпись для вашего домена.

SSL-сертификаты можно классифицировать следующим образом:
  • по происхождению:
    самоподписанные и доверительные. Мы, конечно, рекомендуем второй вариант, так как при использовании само-подписанного сертификата пользователь при заходе на сайт будет видеть предупреждение, что сертификат не удалось проверить, и с этого сайта лучше поскорее уйти. Соответственно посещаемость сайта упадет;
  • по уровню проверки:
    SSL-сертификат с проверкой домена (Domain Validated или DV), SSL-сертификат с проверкой организации (Organization Validated или OV) и SSL-сертификат с расширенной проверкой (Extended Validation или EV). Для интернет-магазина лучше всего подойдет OV, но можно использовать DV;
  • по количеству доменов:
    для одного домена, мультидоменный SSL-сертификат (до 100 поддоменов), SSL-сертификат Wildcard (для домена и всех поддоменов).
Не удалось проверить самоподписанный сертификат
Самоподписанный сертификат: Google Chrome предупреждает, что ему не удалось проверить сертификат

Хочется отметить, что для выполнения требований Google достаточно иметь доверенный сертификат с Domain Validated (DV) уровнем проверки. На сегодняшний день выпустить такой сертификат можно бесплатно, например с использованием сервиса Let’s Encrypt (https://letsencrypt.org/). Сертификаты Let’s Encrypt выпускаются сроком на 3 месяца, но по истечении этого времени сертификат можно перевыпустить (тоже бесплатно) и продолжить им пользоваться.
Если у вас несколько поддоменов и вы хотите воспользоваться бесплатными сертификатами, то будет нужно выпустить сертификат на каждый поддомен.

Работы по настройке сервера, где размещён сайт

Если ваш сайт размещён не на отдельном сервере, а на обычном хостинге, в первую очередь хочется отметить важный момент: не все хостинги позволяют размещать сайты с HTTPS протоколом. Поэтому вам нужно будет обратиться к своему хостинг-провайдеру и узнать, поддерживает ли хостинг такую возможность. Если нет, то, возможно, это повод перейти на другой хостинг?

Если говорить кратко, то в технические работы по переходу на HTTPS входят:
  • настройка сервера;
  • оптимизация сайта для работы по HTTPS;
  • настройка редиректов и служебных файлов.

Каждый этап по настройке сервера содержит в себе много нюансов. Любое необдуманное действие может привести к полной неработоспособности вашего сайта. Мы настоятельно рекомендуем вам доверить работу по переводу проекта на HTTPS профессионалам (обращайтесь, сделаем).


Развеиваем сомнения по поводу перехода на HTTPS

У наших клиентов часто возникают вопросы, связанные с переходом на HTTPS. Ответим на наиболее популярные:

Не потребуются ли глобальные доработки сайта после перехода на новый протокол?
Как правило, нет. Как показывает наша практика, 95% сайтов продолжает работать в штатном режиме и требуются лишь точечные доработки. Но чтобы выявить эти "точки", необходимо уделить достаточное внимание тестированию проекта после включения HTTPS протокола .

Не получится ли так, что на время перехода сайт будет длительное время недоступен?
Некий период недоступности сайта, как правило, есть, но обычно он не превышает 10-15 минут. Тем не менее, лучше всего производить переход во время наименьшей пользовательской активности на сайте.

Не станет ли сайт ранжироваться ниже в поисковой выдаче?
Нет, в долгосрочной перспективе переход сайта на HTTPS не приведёт к потере позиций. Просто нужно выполнить определенные рекомендации по переходу сайтов на новый протокол.

Чек-лист по переводу сайта на HTTPS от Яндекс
  • добавить сайт с https в Яндекс.Вебмастер
  • в robots.txt установить директиву host с указанием https-протокола
  • использовать функционал "Переезд сайта"
  • дождаться окончания переезда (~3-4 недели) это необходимо для того, чтобы поисковые индексы изменились и поисковый алгоритм "запомнил", что ваш сайт перешел на https
  • установить редирект со всех http страниц сайта на соответсвующие страницы с https
Рекомендации Google по переходу на HTTPS
  • выполнять переход небольшими итерациями
  • осуществлять переход в момент наименьшей активности пользователей на сайте
  • быть готовым ко временным колебаниям трафика и позиции в поиске. Примерный промежуток составляет 2-3 недели

Автор:
Березкина Елена
Руководитель проектов Digital Spectr