Шифрование данных сейчас — общепринятый стандарт веб-разработки. Начинающих веб-мастеров, маркетологов, а также предпринимателей впервые столкнувшихся с необходимостью создания сайта, пугает требование установить один важный файл… но мы поможем преодолеть этот страх в своей статье. Начинаем.
Что такое SSL-сертификат
SSL-сертификат (от англ. Secure Sockets Layer, уровень защищенных сокетов) — протокол безопасности, показывающий подлинность сайта. Под сокетом подразумевается точка подключения.
Простыми словами, SSL — это цифровой сертификат, показывающий, что точка подключения к сайту и передача данных защищены. Все передаваемые данные пользователя в этом случае защищены от перехвата мошенниками.
Для чего нужен SSL
- Защита информации от мошенников. Наличие SSL на сайте не позволит злоумышленникам перехватить данные пользователей. Также становится невозможной подмена информации: без защиты мошенник может подменить например, номер счета получателя платежа, и деньги уйдут не по назначению. Поэтому для всех сайтов связанных с финансами граждан, переводами и прочими чувствительными данными, наличие сертификатов безопасности обязательно.
- Браузеры помечают сайт без защиты. В адресной строке появляется красный значок. Это может отпугивать пользователей, что негативно скажется на поведенческих факторах.
- Поисковые системы отдают предпочтение защищенным сайтам. Наличие SSL-сертификата — один из факторов ранжирования. Да, не самый важный, но даже такая малость может уменьшить посещаемость сайта.
Наличие защищенного канала передачи данных с сайта сейчас считается стандартом при разработке ресурса.
Как работают SSL-сертификаты
Давайте рассмотрим принцип работы этой технологии. На практике применяется сразу две технологии шифрования.
- Ассиметричная. В этом случае используется пара «открытый/закрытый» ключ.
- Симметричная. Здесь применяется два закрытых (секретных) ключа.
Первая технология позволяет аутентифицировать браузер и сервер и убедиться, что они полностью безопасны. Вторая технология обеспечивает безопасность передачи данных. При этом симметричное шифрование более быстрое, в отличие от более асимметричной технологии. Совместное использование этих типов шифрования обеспечивает надежную защиту и достаточную скорость обработки запросов.
На практике это выглядит примерно вот так:
- Браузер запрашивает страницу по протоколу HTTPS. Пользовательский компьютер отправляет запрос к серверу по выбранному URL.
- Сервер отправляет браузеру копию своего SSL. В ответ отправляется копия ключа для проверки.
- Браузер проверяет подлинность сертификата, отправляет свой публичный ключ серверу. На этом этапе сверяется не только адрес сайта, но и действительность сертификата, его срок действия.
- Сервер зашифровывает запрошенную страницу полученным публичным ключом и отправляет ее браузеру. Браузер же, имея копию ключа, может ее расшифровать и вывести информацию на монитор.
- Защищенное соединение установлено! Запросы шифруются ключами сервера и браузера и никакие данные пользователя не будут доступны посторонним людям.
На практике это все происходит практически моментально. Пользователь даже не замечает этих процессов.
Какие бывают SSL
Нужно отметить, что SSL делятся на несколько крупных групп, причем их тоже можно поделить на несколько уровней. Первый уровень определяется тем, кто подписывает цифровой ключ.
- Самоподписанные. В этом случае компания или владелец сервера сами генерируют подпись. На практике браузеры помечают сайты с такой подписью как опасные.
- Подписанные удостоверяющим центром. Они подписываются в специализированных центрах, это позволяет определять их безопасность всеми браузерами.
Существует разделение также и по тому, какие данные шифруются:
- DV (domain validation). Шифрует передаваемые данные, но не показывает подлинность компании-владельца сайта. Показывает только подлинность доменного имени. Считается базовым вариантом.
- OV (organization validation). В этом случае необходимо подтвердить данные о компании. Обычно используется юридическим лицами.
- EV (extended validation). Максимальный уровень защиты, обеспеченный проверкой не только компании, но и законности деятельности, а также принадлежности домена. Чаще всего такие сертификаты используются банками и другими организациями, передающими критические данные пользователей.
Помимо перечисленного, встречаются и более специализированные сертификаты, например, типа Subject Alternative Name — позволяющий использовать один ключ сразу для нескольких доменов. Иногда встречаются варианты для поддоменов. Но, все это специфические сертификаты, применяемые только в определенных условиях.
Как выбрать SSL-сертификат
В целом выбор типа сертификата зависит от того какие данные собираются на сайте, а также от того для чего вам этот ресурс нужен:
- Блог или информационный сайт. В этом случае почти никакие критические данные пользователей не собираются. Вам будет достаточно простого сертификата DV.
- Интернет-магазин или сервис где пользователи что-либо оплачивают. В этом случае самым лучшим вариантом будет использование сертификата EV. Хотя сейчас многие банки предлагают эквайринг с переводом пользователя для оплаты на свой сервис. В этом случае достаточно варианта OV. Но, и тут есть исключения, к примеру, «ЮКасса» позволяет подключаться к сервису используя бесплатный DV-сертификат.
- Порталы и форумы. Если пользователи у вас не регистрируются, достаточно самого простого сертификата. Для сайтов предполагающих создание персональных аккаунтов лучше использовать подпись типа OV.
Следует учитывать и другие факторы: например, имеет ли выбранный сертификат печать доверия. В противном случае могут возникнуть сложности при необходимости подключения различных сторонних сервисов. Допустим, вы хотите использовать для комментариев приложение «ВКонтакте». Оно позволяет пользователю оставлять комментарии авторизовавшись через «ВКонтакте». Если у вашего сайта сертификат DV или OV из непроверенных источников, использовать этот сервис не получится.
Где получить SSL-сертификат
Их выдают в удостоверяющих центрах: это специализированные компании, отвечающие за безопасность передаваемых с помощью их ключей данных. В случае потери информации или попадания ее к мошенникам удостоверяющие центры несут ответственность, а в некоторых случаях могут возместить и финансовый ущерб.
Для получения необходимо обратиться в удостоверяющий центр. Это можно сделать самостоятельно или через посредника. Наиболее простой способ — заказать сертификат на хостинге или у регистратора вашего домена. Все они предоставляют такую услугу.
Юридические лица могут бесплатно заказать отечественный SSL от «Минцифры». К сожалению, эта возможность доступна только юридическим лицам, если вы ИП или физлицо, получить таким образом сертификат не получится.
Как установить SSL-сертификат на сайт
Рассмотрим два способа настройки SSL на сайте. Начнем с более сложного.
- Проверяем настройки сервера. Они должны совпадать с данными в WHOIS. Посмотреть запись в WHOIS можно через любой сервис проверки.
- Заказ сертификата. Идем на сайт к посреднику, который работает непосредственно с удостоверяющими центрами и выбираем устраивающий нас сертификат из представленных. Заказываем и оплачиваем.
- Отправляем данные на проверку. После подтверждения оплаты необходимо отправить данные о сайте и компании в удостоверяющий центр.
- Устанавливаем сертификат на сервер. Способ установки может меняться в зависимости от особенностей интерфейса вашего сервера. Лучше обратиться за помощью к разработчику.
Гораздо проще установить SSL на сайт, который находится на хостинге:
- В настройках хостинга находим раздел SSL. В зависимости от компании он может иметь разные названия.
- Выбираем подходящий вариант. Обычно есть возможность использовать бесплатные и платные сертификаты.
- Отправляем запрос. В зависимости от того какой тип сертификата выбран может быть достаточно просто запросить выпуск SSL или отправить все данные о вашей компании.
- Устанавливаем сертификат. Обычно это делается простым копированием ключа и вставкой его в соответствующее поле.
На этом процесс установки завершен. Если ваш сайт изначально работал без протокола HTTPS, рекомендуется проверить все ссылки. Это позволит избежать ситуации, когда вроде бы сертификат есть, но несколько страниц его не имеют.
Как проверить корректность SSL
Для проверки можно использовать несколько способов. Самый простой — посмотреть отображение сайта в браузере. В поисковой строке должен быть замочек. В некоторых браузерах он зеленого цвета. Если кликнуть на него, вы увидите выпадающее окно. Нас интересует строка «Безопасное подключение»:
Открывается окно где указаны все данные сертификата: домен сайта, срок действия, удостоверяющий центр.
Также можно воспользоваться сервисом проверки SSL. У меня процесс проверки показан на примере REG.ru. Попасть на сервис проверки можно с любой страницы сайта REG.ru: для этого в меню наводим курсор на позицию «SSL». В выпадающем списке нажимаем на ссылку «Проверка SSL-сертификата».
Открывается окно для ввода домена. Указываем адрес сайта и жмем кнопку «Проверить».
Практически моментально получаем результаты. Данных в этом случае немного. Показано, что они защищены, а также указано начало и окончание действия сертификата.
Если вы проверяете наличие сертификата на своем сайте сразу после установки, вы можете получить предупреждение о небезопасности соединения. Обычно это красный цвет замка. Исправляется проблема чисткой куков браузера. После этого браузер будет нормально считывать SSL.
ТОП 3 бесплатных SSL
Рассмотрим несколько сервисов, позволяющих получать бесплатные сертификаты.
Let's Encrypt
Сайт: https://letsencrypt.org/
Наиболее распространенный вариант. Этот сертификат можно подключить практически на каждом хостинге. При этом его принимают в том числе и финансовые организации.
Этот сервис настолько популярен, что иногда разработчики удивляются, что есть и другие способы получения бесплатного SSL.
ZeroSSL
Сайт: https://zerossl.com/
Еще один бесплатный вариант. Позволяет получить сертификат на 90 дней.
Здесь есть русскоязычный интерфейс: если точнее, тексты автоматически переводятся на русский. Возможно кому-то это будет более удобным, чем возиться с англоязычным сервисом.
Cloudflare
Сайт: https://www.cloudflare.com/
Этот сервис в целом занимается безопасностью в интернете. Среди прочего они предлагают и бесплатный SSL.
Чтобы подключить бесплатный сертификат вам понадобится учетная запись в сервисе. Сертификат выдается в течение пяти минут.
Коротко о главном
- Наличие на сайте протокола HTTPS — современный стандарт.
- При выборе SSL необходимо учитывать особенности ресурса.
- Сертификат безопасности гарантирует защиту от перехвата данных пользователей.
- Сертификаты с максимальной защитой требуют проверки юридической информации о компании.
- Бесплатные варианты не уступают по эффективности платным, но имеют небольшие ограничения — в частности их чаще нужно перевыпускать.
Комментарии