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

Большинство сертификатов стоят денег, но есть и бесплатные варианты. Let’s Encrypt — один из них, но вообще, таких проектов несколько.

В этой статье разбираемся, как получить сертификат Let’s Encrypt и перевести сайт на HTTPs двумя способами: при помощи приложения в панели управления хостингом cPanel и вручную в командной строке.

Но сначала коротко — о том, как появился этот проект и чем сертификаты Let’s Encrypt отличаются от платных.

SSL-сертификаты Let’s Encrypt перестали распознаваться на старых устройствах

С 30 сентября 2021 на некоторых устройствах сайты с сертификатами Let’s Encrypt будут открываться с предупреждением, что на сайте небезопасно. Это связано с тем, что компания перешла на новый корневой сертификат, которому пока не доверяют некоторые устройства. Из-за этого сайт с Let’s Encrypt и может отображаться как ненадёжный. Даже если на самом деле с ним всё в порядке.

Подробнее на эту тему читайте в статье в нашем блоге. Там же вы найдёте список устройств, на которых Let’s Encrypt не будет работать. А чтобы быстро решить проблему с совместимостью вы можете установить на сайт платный сертификат.

Посмотреть сертификаты

Содержание

  1. История Let’s Encrypt
  2. Let’s Encrypt или платный сертификат
  3. Получение SSL-сертификата Let’s Encrypt в cPanel
  4. Получение SSL-сертификата Let’s Encrypt в командной строке

История Let’s Encrypt

Проект Let’s Encrypt придумали два сотрудника Mozilla в 2012 году, чтобы у всех была возможность бесплатно получить сертификат и перевести сайт на HTTPs.

Это некоммерческий проект, который существует за счёт спонсоров вроде Facebook, Google, Mozilla, Cisco, HP enterprise. 

Первый сертификат компания выпустила в 2015 году. В декабре этого же года проект запустился для всех.

Сейчас Let’s Encrypt — самый популярный центр сертификации в мире. По данным с официального сайта компании в мире 158 миллионов активных сертификатов Let’s Encrypt, а за всё время компания выпустила уже больше миллиарда сертификатов.

Lets Encrypt сертификат — доля на рынке SSL
Статистика использования SSL-сертификатов на 9 апреля 2021. Скриншот с сайта w3techs.com

На скриншоте сертификаты Let’s Encrypt представлены в основном как IdenTrust, а не как Let’s Encrypt. Это потому что в 2015 году компании заключили договор.

На то чтобы все ОС и браузеры начали доверять новому сертификату, могут уйти годы. Поэтому незадолго после выпуска первого сертификата, Let’s Encrypt перекрёстно подписала свои промежуточные сертификаты с сертификатом уже известного центра сертификации — IdenTrust. После этого сертификаты Let’s Encrypt стали распознавать все программы, которые распознают IdenTrust.

В сентябре 2021 года срок действия договора между Let’s Encrypt и IdenTrust истекает и компания перейдёт на собственный корневой сертификат. Сертификаты, которые выпустили до этого всё равно продолжат работать.

Let’s Encrypt или платный сертификат

В плане надёжности бесплатный сертификат Let’s Encrypt не отличается от платного. И тот и другой одинаково безопасно настраивает на сайте HTTPs. Но всё равно есть вещи, в которых эти сертификаты отличаются.

Срок действия. Let’s Encrypt — 90 дней; платный сертификат — от года до двух.

У Let’s Encrypt есть автоматическое обновление, но если по каким-то причинам оно не сработает и сертификат не продлится, сайт перестанет открываться и придётся всё делать вручную.

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

Совместимость. Let’s Encrypt — почти все платформы; платные сертификаты — все платформы.

Сертификаты Let’s Encrypt не работают на некоторых платформах: Windows XP (до версии SP3), Android < v2.3.6, Java (7 и 8). Полный список совместимых платформ.

Эти платформы уже давно устарели, но полностью пользоваться люди ими ещё не перестали. Постепенно этот недостаток будет становиться всё менее актуальным.

Проверка перед выпуском. Let’s Encrypt — только проверка владения доменом; платные сертификаты — проверка владения доменом + проверка регистрации бизнеса у некоторых сертификатов.

Проверка владения доменом нужна, чтобы получить SSL-сертификат для конкретного домена мог только его владелец, а не любой желающий. Проверку проходят как при получении платного SSL-сертификата, так и при получении SSL-сертификата Let’s Encrypt. Но в случае с Let’s Encrypt она обычно выполняется автоматически.

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

Смысл в том, чтобы дополнительно подчеркнуть, что сайт не мошеннический. Если на домене стоит сертификат с проверкой компании, значит его владелец зарегистрирован на государственном уровне и поэтому имеет право вести бизнес от имени этого домена.

Так вот Lets Encrypt выпускает только сертификаты с базовой проверкой владения доменом. Проверка компании — это особенность платных сертификатов.

Essential SSL в подарок при покупке хостинга

На большинстве тарифов виртуального хостинга и на всех тарифах VPS при покупке хостинга сразу на квартал или больше, вы получите сертификат Comodo бесплатно.

Посмотреть тарифы

Установка сертификата Let’s Encrypt в cPanel

Найдите на главной странице cPanel блок «Безопасность» и перейдите в раздел «Let’s Encrypt SSL».

Выпуск сертификата letsencrypt в cPanel

Здесь будет список всех доменов, для которых можно получить сертификат Let’s Encrypt. Чтобы начать процесс, нажмите в блоке «Issue a new certificate» кнопку «Issue» напротив интересующего домена. 

Список доменов, для которых можно получить сертификат Lets Encrypt

На следующей странице в блоке «Installing certificate to: vashdomen.tk» выберите поддомены, которые должен защитить сертификат Let’s Encrypt. 

Чуть ниже в блоке «Please choose an SSL validation method» выберите способ валидации сертификата (оба способа автоматические, вам ничего делать не придётся). Затем нажмите кнопку «Issue».

Если выпускаете сертификат не только для домена и его версии с www, но и для других поддоменов, выберите способ валидации при помощи DNS.

Страница установки сертификата Lets Encrypt

Установка SSL-сертификата Let’s Encrypt обычно занимает около 30 секунд. По окончании процесса вы увидите сообщение, что всё готово.

Сообщение об успешном получении сертификата для HTTPs от Lets Encrypt

Нажмите кнопку «Go Back», чтобы вернуться на главную страницу раздела. В блоке «Your domains with Let’s Encrypt certificates» появится строка с доменом, для которого вы только что установили сертификат. В ней вы увидите срок действия установленного сертификата, а также сможете его удалить сертификат (Remove), переустановить (Reinstall) и просмотреть детали (View).

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

Установка Let's encrypt в cPanel — список установленных сертификатов

Зайдите на сайт в браузере. Проверьте, чтобы в адресной строке перед доменом было именно https://, а не http://. Возле домена должен отображаться серый замочек. Это значит, что всё работает.

Если замочек будет перечёркнут или на нём будет какой-то значок вроде восклицательного знака или желтого треугольника, значит что-то не так и соединение не защищено. Нажмите на замочек, чтобы увидеть причину ошибки. Погуглите, как её решить, или обратитесь в поддержку.

Читайте на эту тему: Ошибки подключения SSL и как их исправить

Остаётся одно — домен по-прежнему открывается по незащищённому HTTP протоколу. Чтобы это исправить, настройте принудительную переадресацию с HTTP на HTTPs.

Для этого вернитесь на главную страницу cPanel, найдите блок «Файлы» и перейдите в раздел «Менеджер файлов».

Получение сертификата HTTPs от Let's Encrypt в cPanel — диспетчер файлов на главной странице cPanel

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

В корневой папке домена найдите файл .htaccess, выберите его и нажмите «Редактировать» в меню с опциями вверху страницы.

Как как получить сертификат https от Let's Encrypt — файл .htaccess в корневой папке домена

В самом верху файла разместите такой код, после чего отступите от него несколько строк:

#Редирект с HTTP на HTTPs
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

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

Установка сертификата Let’s Encrypt в командной строке

Инструкции подойдут для всех популярных ОС на базе Linux: Ubuntu, Debian, CentOS. Вcё, что вам понадобится — это доступ к серверу с привилегиями sudo.

Сначала подключитесь к серверу по SSH.

ssh username@hostname

Для установки сертификата понадобится программа Certbot. Чтобы её установить, на сервере должна быть утилита snapd.

Установка snapd — это единственный этап, на котором команды отличаются в зависимости от ОС на сервере. Дальше они будут одинаковыми для любой ОС.

Мы устанавливали Let’s Encrypt на VPS с Centos 7 и Ubuntu 18.04 с веб-сервером Apache. Если у вас другая ОС или веб-сервер, поищите подходящую инструкцию на официальном сайте разработчика утилиты.

Centos

sudo apt-get install snapd

Ubuntu

sudo apt install snapd

После установки snapd убедитесь, что у вас последняя версия утилиты.

sudo snap install core

Подождите пока пройдут все проверки и переходите к установке Certbot.

sudo snap install --classic certbot

Создайте символическую ссылку между /snap/bin/certbot и /usr/bin/certbot. Это нужно, чтобы работала команда certbot:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Запросите выпуск и установку сертификата Let’s Encrypt.

sudo certbot --apache

На первом этапе Certbot попросит вас ввести электронную почту для отчётов о продлении сертификата и важных сообщений.

Создать бесплатный сертификат Let's Encrypt. Шаг №1 — электронная почта

Дальше будет ссылка на правила пользования услугами Let’s Encrypt. Введите «Y», чтобы согласиться с правилами и продолжить.

Сгенерировать бесплатный сертификат Let's Encrypt. Шаг №2 — правила пользования

Затем вам предложат подписаться на рассылку на почту. Введите «Y», чтобы согласиться или «N», чтобы отказаться.

Установить бесплатный сертификат Let's Encrypt. Шаг №3 — рассылка

На следующем этапе Certbot выведет список доменов на сервере. Введите номер домена, на который хотите установить сертификат Let’s Encrypt.

Получить SSL-сертификат Lets Encrypt. Шаг №4 — список доменов

Процесс установки автоматический. В конце должно появиться сообщение «Congratulations! You have successfully enabled https://vashdomen.tk».

Как получить сертификат безопасности Let's Encrypt. Шаг №5 — сообщение об успешной установке

Зайдите на ваш сайт в браузере. Проверьте, чтобы в адресной строке стояло https://, а не http://. Если нужно, исправьте протокол вручную. Сайт должен открываться по HTTPs, а замочек в адресной строке — быть серым. 

Если замочек будет перечёркнут или на нём будет какой-то значок вроде восклицательного знака или желтого треугольника, значит что-то не так и соединение не защищено. Нажмите на замочек, чтобы увидеть причину ошибки. Погуглите, как её решить, или обратитесь в поддержку.

Читайте на эту тему: Ошибки подключения SSL и как их исправить

Если сайт открывается также по HTTP, очистите кэш в браузере. Certbot настраивает принудительный редирект с HTTP на HTTPs, но скорее всего этого не будет заметно сразу из-за кэша.

Кроме редиректа Certbot также создаёт задачу cron, которая будет автоматически продлевать сертификат каждые 90 дней. Остаётся только убедиться, что эта задача работает.

sudo certbot renew --dry-run

Cлова «Congratulations, all simulated renewals succeeded» будут означать, что всё в порядке.

Установить Let's Encrypt на VPS. Шаг 6 — тестирование автопродления

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

Когда придёт время, Certbot должен самостоятельно продлить ваш Let’s Encrypt и прислать письмо с подтверждением на почту, которую вы указали на первом этапе установки сертификата.

Управляйте всеми сервисами в одном аккаунте

В HOSTiQ есть всё для запуска сайта. У нас вы можете купить дешёвый домен, виртуальный хостинг и SSL-сертификат.

При покупке хостинга сразу на длительный срок вы получите Comodo Essential SSL в подарок, либо как вариант можете установить бесплатный SSL-сертификат Let’s Encrypt.

Купить домен с хостингом