HTTPS или HTTP?

Для работы сайтов существуют два протокола — http и https. Разница между этими протоколами в том, что по протоколу http данные передаются по открытому каналу связи, а по протоколу https — по зашифрованному, то есть https это — http поверх ssl.

Аббревиатура ssl расшифровывается как Secure Sockets Layer — уровень защищенных сокетов. Не вдаваясь в технические и математические подробности, скажу только, что этот протокол обеспечивает шифрование и подписывание передаваемых данных на основе алгоритма с открытым ключом.  Протокол ssl защищает передаваемые данные от чтения и подмены на транзитных узлах и позволяет удостовериться в подлинности узла, с которым установлено соединение.  Помимо сайтов, протокол ssl активно используется для почтовых серверов и ряда других сервисов.

Для организации соединения ssl нужен сертификат, являющийся публичным ключом, и парный к нему секретный ключ. Для того, чтобы сертификатом можно было пользоваться, сертификат должен быть удостоверен.  В самом простом случае сертификат можно подписать собственным секретным ключом и тогда сертификат будет назваться самоподписным.  При попытке соединения с сайтом, имеющим самоподписной сертификат,  браузер выдаст предупреждение, после которого можно будет вручную признать сертификат достоверным на один сеанс или сохранить это на все последующие сеансы.  Самоподписные сертификаты вполне пригодны тогда, когда стоит задача только обеспечить шифрование канала,  но нет необходимости удостоверять подлинность узла, например, для какого-либо непубличного ресурса типа панели управления сервером.  Подлинность узла, предъявляющего самоподписной сертификат, устанавливается вне протокола ssl.  Для публичных сайтов самоподписной сертификат не подходит, поскольку у обычного посетителя публичного  сайта нет способов убедиться в подлинности узла вне протокола ssl. Для того, чтобы сертификат стал достоверным для всех, он должен быть удостоверен удостоверяющим центром.  Удостоверяющий центр — организация, сертификат которой общепризнан как достоверный и надёжный и внесён в дистрибутивы операционных систем, браузеров и почтовых программ. Если сертификат подписан одним из удостоверяющих центров, то он становится достоверным.  Перед подписанием сертификата удостоверяющий центр производит проверку заказчика в установленном для данной категории сертификатов порядке. Существует три категории проверки: проверка домена, проверка организации и расширенная проверка организации. При проверке домена удостоверяющий центр проверяет только наличие у заявителя прав на администрирование домена, но правомочность самого заявителя не проверяется. Сертификат с проверкой домена стоит дешевле и доступен как юридическим, так и физическим лицам, он обеспечивает шифрование передаваемой информации, но он не удостоверяет подлинность самого сайта.  Сертификат с проверкой организации стоит дороже и доступен только юридическим лицам. При проверке организации удостоверяющий центр проверяет не только право управления доменом, но также и существование организации на основании выписки из ЕГРЮЛ, наличия телефона организации в авторитетных справочниках и другой открытой информации. Телефон организации для проверки прозванивается русскоговорящим сотрудником удостоверяющего центра. Сертификат содержит информацию об организации, доступную каждому посетителю сайта. Этот сертификат позволяет не только шифровать трафик, но и удостовериться, что сайт действительно при надлежит той организации, которая указана на самом сайте. И, наконец, самые дорогие и авторитетные сертификаты — с расширенной проверкой организации. При выпуске этих сертификатов удостоверяющий центр не только проверяет организацию по открытым источникам, но и запрашивает копии уставных и правоустанавливающих документов организации. Большинство современных браузеров указывают на наличие такого сертификата зелёной адресной строкой с указанием наименования организации.

Кому и зачем нужен протокол https? Использование для сайта защищённого протокола будет полезно всем уже потому,  что поисковая система Google объявила, что сайты, работающие по протоколу https ранжируются выше, чем сайты, работающие по протоколу http. Другие поисковые системы таких заявлений не делали, но есть основания считать, то и они отдают предпочтение https. Если посетители Вашего сайта отправляют на сайт персональные данные, то тут использование https становится уже обязательным, поскольку закон о защите персональных данных требует использовать для передачи персональных данных только защищённые каналы связи.  Если на Вашем сайте есть приём онлайн-платежей, то Вам будет необходим сертификат с проверкой организации, даже если сам платёж совершается на странице эквайринговой системы. Такой сертификат повысит доверие к Вашему сайту со стороны Ваших клиентов: далеко не каждый готов платить в онлайне, не убедившись в подлинности сайта, на котором требуется совершить платёж. Сертификат с расширенной проверкой нужен банкам, платёжным системам и другим сайтам, на которых непосредственно производятся финансовые операции.

Нужно понимать, что защищенный протокол https обеспечивает только защиту от перехвата и подмены передаваемых данных, а также, при использовании соответствующего сертификата, удостоверяет подлинность узла. Не следует ожидать от этого протокола того, для чего он не предназначен: сайт, отвечающий по протоколу https может быть взломан точно так же, как и отвечающий по протоколу http, и с взломанного сайта могут распространяться вирусы вне зависимости от протокола. Также нужно понимать, что злоумышленник может приобрести сертификат с проверкой домена и разместить на этом домене фишинговый сайт, поэтому нельзя ограничиваться только подтверждением браузером установления защищенного соединения, нужно не полениться проверить сертификат, например, в браузере Firefox это можно сделать, клинкув по знаку зелёного замка в начале адресной строки, в других браузерах также есть аналогичные средства проверки.  В открывшемся окне с сертификатом нужно проверить, на кокой домен или группу доменов он выдан, является ли он сертификатом с проверкой организации или только с проверкой домена, на какую организацию выдан сертификат и совпадает ли эта организация с называемой на сайте, и только после этого можно делать вывод о доверии к сайту.

Если Вы решили использовать для сайта протокол https, лучше не откладывать это. При переходе с протокола http на протокол https происходит временное выпадение сайта из поисковой выдачи и снижение позиций, поэтому переход на https лучше успеть сделать до того, как сайт наберёт высокие позиции. Ещё одна проблема при переходе на https может возникать из-за появления смешанного контента, когда основная часть контента сайта отдаётся по протоколу https, но некоторые элементы отдаются по протоколу http.  Причём понятие смешанного контента относится не только к элементам самого сайта, но и к элементам, подгружаемым со сторонних ресурсов, таким, как счётчики, информеры, библиотеки яваскриптов. При наличии смешанного контента браузеры поступают по-разному: некоторые объявляют всё соединение незащищенным, а некоторые блокируют элементы, полученные по протоколу http. Но проблема смешанного контента не затрагивает клиентов «Сайта без хлопот»: необходимые для исключения смешанного контента  изменения мы произведём сами при подключении сертификата.