SSL-сертифікат захищає від перехоплення цінну інформацію, яку люди вводять у вас на сайті: паролі, адреси електронної пошти, деталі карти.

Більшість сертифікатів коштують грошей, але є і безкоштовні варіанти. Let’s Encrypt — один з них, але взагалі, таких проектів кілька.

У цій статті розбираємося, як отримати сертифікат Let’s Encrypt і перевести сайт на HTTPs двома способами: за допомогою додатка в панелі управління хостингом cPanel і вручну в командному рядку.

Але спочатку коротко — про те, як з’явився цей проект і чому люди досі використовують платні сертифікати, якщо є безкоштовні.

Зміст

  1. Історія Let’s Encrypt
  2. Let’s Encrypt або платний сертифікат
  3. Отримання SSL-сертифіката Let’s Encrypt в cPanel
  4. Отримання SSL-сертифіката Let’s Encrypt в командному рядку

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

З 30 вересня 2021 на деяких пристроях сайти з сертифiкатами Let’s Encrypt будуть вiдкриватися з попередженням, що на сайтi небезпечно. Це пов’язано з тим, що компанiя перейшла на новий кореневий сертифiкат, якому поки що не довiряють деякi пристрої. Через це сайт з Let’s Encrypt i може вiдображуватися як ненадiйний. Навiть якщо насправдi з ним усе в порядку.

Детальнiше на цю тему читайте у статтi в нашому блогу. Там ви також знайдете список пристроїв, на яких Let’s Encrypt не буде працювати. А щоб швидко вирiшити проблему з сумiснiстю ви можете встановити на сайтi платний сертифiкат.

Подивитися сертифiкати

Історія 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 — тільки перевірка володіння доменом; платні сертифікати — перевірка володіння доменом + перевірка реєстрації бізнесу у деяких сертифiкатiв.

Перевірка володіння доменом потрібна, щоб отримати 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://. Ліворуч від домена повинен відображатися сірий замочок. Це значить, усе працює.

Якщо замочок буде перекреслено або на ньому буде якийсь знак типу знаку оклику або жовтого трикутника, значить щось не так і з’єднання незахищене. Натисніть на замочок, щоб побачити причину помилки. Погугліть, як її вирішити, або зверніться по допомогу до підтримки.

Залишається одне — домен досі відкривається по незахищеному протоколу 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

Надiшлiть запит на випуск та установку сертифіката 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, а замочок в адресному рядку — бути сірим.

Якщо замочок буде перекреслено або на ньому буде якийсь знак типу знаку оклику або жовтого трикутника, значить щось не так і з’єднання незахищене. Натисніть на замочок, щоб побачити причину помилки. Погугліть, як її вирішити, або зверніться по допомогу до підтримки.

Якщо сайт відкривається також по 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-сертифікат.

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

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