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

Компания Google активно ведет работу по стимулированию владельцев сайтов переводить сайты на работу по протоколу https вместо небезопасного http.
Почему же http использовать небезопасно? Что сделать, чтобы защитить свой сайт?
Компания 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

Читайте также: