Что такое SSL-сертификат и работа сайта по https-протоколу

Редактор: Евгений Буровинский 27190 10 мин Аудио

Обратите внимание на рейтинг компаний предлагающих SSL сертификат

Любой сайт имеет в адресе страниц приставку http//.

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

https - это доработанный протокол, который обладает большей защитой данных.

Чтобы перевести сайт со стандартного http-протокола на защищенный https, вам нужен SSL-сертификат.

Как работает https-протокол

Как было сказано выше, https (http Secure) - это расширение протокола http, при котором используется зашифрованное соединение. 

Работает это так:

1. Пользователь вводит имя сайта в браузере.
2. Браузер “спрашивает” у сервера, установлен ли на этом сайте SSL-сертификат.
3. Сервер в ответ на запрос браузера пользователя отправляет копию SSL-сертификата и публичный ключ.
4. Браузер проверяет подлинность сертификата, запрашивая информацию о нем у центра сертификации, который его выдал.
5. Если информация подтверждается, то браузер генерирует сеансовый ключ, зашифровывает его полученным публичным ключом и посылает на сервер.
6. Сервер расшифровывает это сообщение и сохраняет сеансовый ключ.
7. После этого между сервером и браузером устанавливается безопасное (зашифрованное) соединение по протоколу https.

Зачем нужен https-протокол

Сайт может функционировать с базовым протоколом http. Посетителям будут доступны все страницы, изображения, видео и т.д., но владельцам стоит учитывать требования поисковых систем и заботиться о безопасности пользователей: 

  • сайты с https будут иметь лучшие показатели в поисковой выдаче;
  • пользователям небезопасно вводить свои личные данные (например, пароли, номера банковских карт) на сайтах с http, где их легче похитить злоумышленникам.

Сайты, работающие по защищенному протоколу https, сложнее взломать, и они безопаснее для пользователей. 

Как устроен SSL-сертификат

SSL (англ. Secure Sockets Layer переводится как “слой защищенных подключений”) - это криптографический протокол, который создан для безопасного обмена и хранения информации на сайтах. 

Официальные SSL-сертификаты распространяются в виде набора текстовых файлов - ключей. SSL-сертификаты различаются по используемому методу проверки прав владельца на его выпуск. Самый простой вариант - это проверка прав владения доменом. В более сложных вариантах сертификатов, которые обеспечивают защиту инфраструктуры целого предприятия, нужна проверка информации о компании.

Цифровой сертификат содержит следующую информацию:

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

Эта информация позволяет браузеру клиента:
1. Проверить достоверность сертификата.
2. Установить, что он был выпущен доверенной организацией специально для конкретного домена.
3. Сделать вывод, что устанавливаемое с сервером соединение - безопасное.

Дополнительные возможности

1. SSL-сертификат может быть выпущен для одного или нескольких “зеркал” доменных имен, например, mail.ru и www.mail.ru
2. Существуют сертификаты, которые, кроме основного домена, защищают все его поддомены - wildcard сертификаты (poddomen1.site.com, poddomen2.site.com). 
3. Особая категория SSL-сертификатов - это мультидоменные сертификаты, защищающие сразу несколько доменов.

Как посмотреть информацию о сертификате

Если сайт использует SSL-сертификат, то знак “замок” в адресной строке браузера будет закрыт. Если сертификата нет, то открыт. 

Браузер предоставляет пользователю полную информацию о применяемом на сайте SSL-сертификате. 

1. Чтобы просмотреть ее в браузере Google Chrome, нажмите на значок в начале адресной строки браузера.

2. Выберите в меню пункт “Сертификат”.

3. Открывшееся окно покажет всю информацию о сертификате: 

  • для какого домена создан;
  • название выпустившей сертификат организации;
  • срок действия сертификата. 

4. Специалисты могут просмотреть дополнительную техническую информацию о сертификате и участвовавших в его выпуске организациях в закладках “Details” и “Certification Path”.

Взаимодействие с браузером

В браузеры встроены сертификаты всех официальных удостоверяющих центров:

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

Виды SSL-сертификатов

Различают три вида SSL-сертификатов.

  • платные официальные сертификаты, выданные одним из доверенных центров;
  • бесплатные сертификаты от Let's Encrypt;
  • самоподписанные (самозаверенные, self-signed certificate).

Как получить официальный сертификат для сайта

Для большинства сайтов будет достаточно установить  SSL-сертификат начального уровня с проверкой домена  (DV-сертификаты, от английского Domain Validation).

Время выдачи таких сертификатов занимает лишь несколько минут.
1. Зайдите в наш каталог и выберите надежную компанию, предлагающую SSL-сертификаты.
2. Зарегистрируйтесь на сайте компании и укажите информацию о себе.
3. Подтвердите, что именно вы являетесь владельцем домена.
4. Создайте запрос на получение сертификата.
5. SSL-сертификат будет сгенерирован автоматически.

Есть несколько способов подтверждения владения доменом:

  • Проверка через электронную почту. Центр сертификации высылает вам проверочный e-mail, в котором будет ссылка для подтверждения домена. Отправить такое письмо могут либо на почту, указанную в информации по домену, либо на один из адресов, относящихся к конкретному домену: admin@, administrator@, hostmaster@, postmaster@, webmaster@
  • Проверка при помощи DNS-записи. При этом способе вам необходимо создать особую запись в DNS-зоне домена, и затем программное обеспечение центра сертификации проверит ее наличие.
  • Проверка через протокол HTTP. Со стороны организации, выпускающей сертификат, вам будет предоставлен специальный файл с определенным названием и содержимым. Его необходимо загрузить на свой сайт, после чего центр сертификации проверит его доступность по протоколу HTTP и подтвердит возможность выдачи сертификата.

Официальные SSL-сертификаты - платные. Такие сертификаты выпускаются на срок 1-4 года. Стоимость, в зависимости от срока действия, начинается от 3-5 USD. 

Пример получения официального сертификата у провайдера Reg.ru

1. При заказе официального SSL-сертификата у провайдера Reg.ru введите свои контактные данные для его выпуска.

2. Скачайте на свой компьютер необходимые для установки сертификата файлы, включая его приватный ключ.

3. На контактный e-mail вам будет прислано письмо с инструкцией по активации сертификата (это делается через добавление специальной записи в DNS).

Согласно инструкции от Reg.ru, при заказе SSL-сертификатов время их активации может составить до 12-ти часов.

Как получить бесплатный сертификат от Let's Encrypt

Для популяризации протокола HTTPS компания Google создала специальную систему выпуска бесплатных официальных сертификатов - Let's Encrypt. 

Эти бесплатные сертификаты имеют ограничение срока действия в три месяца. 

Существуют три способа получения бесплатного сертификата от Let's Encrypt:
1. В админ-панели провайдера.
2. В панели управления хостингом.
3. Сгенерировать сертификат на сервере (для VPS и выделенных серверов).

Получение сертификата у провайдера

Получить бесплатный SSL-сертификат у провайдера можно в один клик.

Например, у провайдера Beget достаточно просто нажать кнопку “Установить”.

Получение сертификата в панели управления

В большинство популярных панелей управления хостингом встроена поддержка сертификатов от Let's Encrypt. 

Например, в ISPmanager вы можете быстро создать сертификат, просто указав в соответствующей форме название домена. 

Входящее в состав панели программное обеспечение автоматически выполнит процедуру валидации домена (Через DNS или через HTTP), а также будет делать автоматическое обновление сертификата каждые три месяца.

Генерация сертификата Let's Encrypt на сервере

Пользователи услуги VPS и выделенных серверов могут применить специальное программное обеспечение от Let's Encrypt и создать бесплатный сертификат для сайтов на свой сервер. Также существует механизм автоматического обновления этих сертификатов.

Для автоматизированного получения SSL-сертификата был разработан скрипт certbot (или certbot-auto для некоторых версий). 

Скрипт работает с web-серверами:

Он считывает список работающих на сервере сайтов и предлагает установить для них сертификаты. Например, так выглядит работа скрипта с web-сервером Apache:

1.  Запустите команду “certbot --apache”.

2. Сertbot находит все настроенные на сервере web-сайты, формирует из них список и предлагает вам указать нужные домены из этого списка для установки сертификатов.

3. Затем скрипт запрашивает у сервера Let's Encrypt сертификаты для выбранных вами доменов и прописывает для них настройки в конфигурационные файлы Apache.

4. После этого certbot предлагает вам выбрать: должны ли указанные сайты работать только по протоколу HTTPS или также открываться и по HTTP. 

5. После окончания своей работы скрипт certbot выведет на экран информацию о том, для каких доменов были выпущены SSL-сертификаты и в каких папках на сервере находятся файлы с ключами от сертификатов.

Создание самоподписанного сертификата на сервере

Самоподписанные сертификаты генерируются владельцем сервера и домена самостоятельно. Подходит только для владельцев  виртуальных и выделенных серверов под управлением Linux. 

Самоподписанные сертификаты:

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

Но такие сертификаты могут:

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

Для создания самоподписанного сертификата используется набор инструментов из библиотеки OpenSSL.

Для генерации SSL-сертификата из командной строки используйте команду:

# openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout /home/ssl/my_key.key -out /home/ssl/my_cert.crt

Будут запрошены:

  • пароль для файла с сертификатом;
  • данные о владельце сертификата (страна, город, название организации).

Самый главный параметр, который попросит ввести программа OpenSSL - это Common Name - адрес домена, для которого используется сертификат.

После выполнения данной команды на сервере в каталоге /home/ssl будут сгенерированы файлы сертификата: публичный ключ - в файле my_cert.crt и приватный ключ - в файле my_key.key.

Выводы

1. SSL-сертификаты обеспечивают соединение пользователя с сервером сайта по протоколу https, который более безопасен, чем привычный http.
2. Наличие SSL-сертификата гарантирует лучшее ранжирование сайта поисковыми системами.
3. Сертификаты бывают платными (выданными официальными центрами сертификации), бесплатными (от Let's Encrypt) и самоподписанными.
4. Для сайтов, связанных с электронной торговлей, лучше использовать официальные сертификаты. Для небольших проектов начинающих вебмастеров подойдут бесплатные сертификаты от Let’s Encrypt. Для сайтов, которые используются во внутренней сети предприятия, можно применять самоподписанные сертификаты.

Следующая статья для новичков - Как создать почту на собственном домене

Комментарий эксперта

Антон Бобков, менеджер по продукту хостинг-провайдера и регистратора доменов REG.RU

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

Для сайтов, которые собирают паспортные данные или на которых есть формы оплаты, более правильным выбором будет официальный платный сертификат. У бесплатных может не быть гарантии сохранности данных сайта, поддержки ряда OC и печати доверия (картинка с логотипом удостоверяющего центра, которая подтверждает, что сайт проверен). 

Процесс получения платного сертификата может показаться сложным, но это не так. Мы в REG.RU постарались сделать выпуск и установку максимально автоматизированными. А чтобы клиентам было проще попробовать такой SSL — даём возможность в течение года пользоваться им бесплатно при регистрации домена или заказе хостинга. 

Евгений Буровинский

Обзоры и рейтинг лучших регистраторов доменных имен

Rank Хостинг Клиенты Оценка Отзывы
1
200000
4.9 159
2
3700000
4.8 377
3
900000
4.0 178

Провайдеры с виртуальным хостингом

Rank Хостинг Клиенты Оценка Отзывы
1
147000
5.0 394
2
577930
5.0 488
3
200000
4.9 159

Где купить SSL сертификат?

Rank Хостинг Клиенты Оценка Отзывы
1
147000
5.0 394
2
577930
5.0 488
3
200000
4.9 159
Только эксперты отвечают на ваши вопросы
Не нашли ответ на свой вопрос?
Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.

Добавляя подтверждение "Я не робот" вы так же даете согласие получать сообщения от ru.hostings.info и принимаете его Политику конфиденциальности, позволяя ru.hostings.info хранить и обрабатывать вашу личную информацию, указанную выше, для предоставления вам запрашиваемого контента.

Рейтинги хостинг-провайдеров по задачам сайта
Апреля
Панель управления

От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Вид хостинга

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

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

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

Выделенный сервер - нужен для очень сложных и ресурсоемких проектов. Для вас выделяют отдельный сервер,мощность которого будете использовать только вы. Дорого и сложно настраивать.

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга - это не очень популярная услуга и требуется в исключительных случаях.

CMS

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

Тип виртуализации

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера.  С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Прочее

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

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

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

Бесплатный тест

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback - период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

Региональные
Цена

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

Технологии и ОС

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ASP.NET - платформа для разработки веб-приложений от Майкрософт.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Тип диска