SSL-сертифікати масово почали встановлювати у 2020 році, коли компанія Google офіційно назвала наявність такого сертифіката фактором ранжування в пошуковій мережі. Вперше плани щодо врахування такого фактору були озвучені компанією ще раніше. Але тільки у 2020 році, коли в Google офіційно затвердили це, вебмайстри розпочали масово встановлювати сертифікати. Звичайно ж, SSL-сертифікат використовували й раніше, але після заяв Google це почали робити значно частіше.
Існують різні варіанти SSL-сертифікатів — платні, безплатні, з перевіркою доменів чи компанії. У цьому матеріалі я спробую пояснити простими словами, що таке SSL-сертифікат, навіщо він потрібен, як правильно його обрати та встановити.
Зі статті ви дізнаєтеся:
- Що таке SSL-сертифікат
- Які бувають SSL-сертифікати
- Хто видає SSL-сертифікати
- Скільки коштує сертифікат та чи можна отримати його безплатно
- Де купити або отримати безплатний SSL-сертифікат
- Як установити SSL-сертифікат на сайт
- Як перевести сайт на HTTPS
Що таке SSL-сертифікат
SSL (англ. Secure Sockets Layer — рівень захищених сокетів) – це протокол шифрування, який дозволяє захищати (кодувати) дані, що передаються між користувачем та сервером. Якщо ми говоримо про SSL-сертифікат сайту, то він допомагає шифрувати дані, які передаються між відвідувачем сайту та сервером.
Які це дані? Фактично це всі дані. Весь трафік, який проходить від користувача до сервера або у зворотному напрямку, буде зашифрованим. Це можуть бути персональні дані, які заповнює відвідувач під час реєстрації, або, наприклад, логін і пароль, що необхідні для авторизації користувача. Окрему увагу варто приділити й шифруванню даних платіжних карток: номеру, CVV-коду.
Від чого захищає SSL-сертифікат? Від несанкціонованої обробки даних сторонніми особами. У зашифрованому вигляді дані буде складно обробити (розшифрувати, прочитати чи використати) провайдеру інтернет-послуг, адміністратору мережі Wi-Fi та іншим особам чи компаніям, які залучені до ланцюжка передачі даних.
Кому потрібен SSL-сертифікат? Насамперед він необхідний сайтам, які виключають можливість вводити будь-які дані онлайн: мають форму реєстрації, замовлення або оплати тощо. Але сьогодні, коли наявність SSL-сертифіката є фактором ранжування у пошукових мережах, можна сказати, що такий сертифікат потрібен усім сайтам, адже отримати топові позиції без нього не вийде.
Які бувають SSL-сертифікати
SSL-сертифікати можуть бути різних типів. Поділяють їх залежно від типу перевірки:
- З перевіркою домену.
- З перевіркою компанії.
- З розширеною перевіркою.
Перший тип «SSL-сертифікат з перевіркою домену» є найпростішим і водночас найпоширенішим. Він видається на конкретний домен і захищає тільки його. Щоб отримати такий сертифікат, потрібно лише підтвердити права на володіння доменом. Зазвичай це відбувається шляхом надсилання електронного листа на будь-яку адресу, яка створена в самому домені. Є також варіант підтвердження через DNS-записи або шляхом установлення на сайт секретного токен-файлу. Інших документів для отримання сертифіката надавати не потрібно. Випуск та отримання такого SSL забирає 10-20 хвилин.
Цей варіант рекомендується обирати для невеликих сайтів, що мають користувацькі кабінети, приймають замовлення онлайн, під час яких користувачі вказують свої персональні дані, але не вводять інформацію з платіжних карток.
Другий тип «SSL-сертифікат з перевіркою компанії» передбачає перевірку не тільки конкретного домену, а й компанії, яка ним володіє. Щоб отримати такий тип сертифіката, потрібно підтвердити не лише права на домен, але й наявність у компанії або фізичної особи — підприємця документів на право заняття підприємницькою діяльністю. Час, за який можна отримати вказаний тип сертифіката, становить від 1 до 3 діб.
Вказаний тип сертифікатів варто вибрати, коли на сайті є можливість онлайн-оплати, якесь листування між користувачами або інші варіанти передачі важливих даних.
Третій тип «SSL-сертифікат з розширеною перевіркою» можуть отримати винятково юридичні особи — офіційно зареєстровані компанії та підприємства. Розширена перевірка передбачає перевірку домену, реєстраційних документів компанії, документів на право заняття підприємницькою діяльністю та контактних даних компанії. Час, за який можна отримати такий сертифікат, забере від 1 до 2 тижнів.
Такі сертифікати обирають великі проєкти. Наприклад, сайти банківських установ, страхових компаній, державних органів влади.
Крім типів перевірки, сертифікати можуть відрізнятися й типом поширення:
- На один домен/піддомен.
- На кілька доменів однієї організації.
- На домен і піддомени (Wildcard).
Хто видає SSL-сертифікати
Випускають та видають SSL-сертифікати центри сертифікації (СА — Certification authority). Це компанії, які безпосередньо перевіряють домени, документи та інші необхідні дані перед видаванням сертифіката. Такі компанії проходять постійні аудити, співпрацюють з інтернет-браузерами та вкладають мільйони доларів, аби відповідати суворим критеріям безпеки.
Найпопулярнішими центрами сертифікації є:
- Comodo;
- Symantec;
- GeoTrust;
- RapidSSL;
- Thawte.
Скільки коштує сертифікат та чи можна отримати його безплатно
Вартість SSL-сертифікатів залежить від кількох факторів. Насамперед від типу перевірки та поширення. Найдешевшими є сертифікати з перевіркою тільки домену. Вони коштують від 15 доларів на рік. Далі йдуть сертифікати з перевіркою компанії. Їх вартість — від 45 доларів за один рік користування. Найдорожчі — SSL-сертифікати з розширеною перевіркою. За один рік користування ним потрібно заплатити від 140 доларів.
Отримати SSL-сертифікат можна й безплатно. Найпопулярнішим центром сертифікації, який надає таку можливість, є Let’s Encrypt. Це безплатний автоматизований і відкритий центр сертифікації, створений некомерційною організацією Internet Security Research Group (ISRG). Цей центр видає приблизно 2 мільйони сертифікатів щодня. Організація існує за кошт спонсорів і меценатів, найвідомішими з яких є такі технологічні гіганти, як Mozilla, CISCO, Chrome, Facebook, Amazon та інші. Основна ідея організації — зробити інтернет більш безпечним. Мінусом такого сертифіката є те, що він видається на 3 місяці, а потім його потрібно випускати та встановлювати знову.
Де купити або отримати безплатний SSL-сертифікат
Сертифікати часто продають хостинг-провайдери та реєстратори доменних імен. Також є окремі сервіси, які не надають послуги з розміщення сайтів, але продають сертифікати. Знайти їх дуже просто — слід лише ввести до пошукового рядка браузера запит «купити SSL-сертифікат», і ви отримаєте десятки відповідних сайтів.
Безплатні SSL-сертифікати можна отримати у свого хостинг-провайдера. Наприклад, Cityhost.ua надає можливість використання безплатного SSL від Let’s Encrypt кожному клієнту. Він включений до всіх тарифів хостингу. Для отримання варто лише натиснути кілька кнопок у панелі керування. Ми також розробили систему автоматичного перевипуску таких сертифікатів. Клієнту не потрібно перевипускати його кожні три місяці. Це автоматично робитиме система, допоки клієнт купує у нас хостинг.
Як установити SSL-сертифікат на сайт
Для отримання сертифіката потрібно згенерувати CSR-запит (Certificate Signing Request — запит на видавання сертифіката. Зашифрована інформація про домен і компанію) та ваші особисті дані. Генерація запиту відбувається на стороні провайдера або сторонніми генераторами. Після обробки запиту можна перейти до встановлення сертифіката.
SSL установлюють на сервер хостингу, зазвичай теж в особистому кабінеті чи в панелі керування послугами. Щоб установити сертифікат, потрібні:
- Приватний ключ сертифіката (private key).
- Файл самого сертифіката (.crt).
- Ланцюжок проміжних сертифікатів від центру сертифікації або bundle — файл, який містить кореневі та проміжні сертифікати в певному порядку.
Їх потрібно завантажити у відповідні поля панелі керування. Процедура може відрізнятися залежно від провайдера. Наприклад, у Cityhost.ua випуск та встановлення відбуваються автоматично. Оберіть домен, для якого потрібен сертифікат, і система зробить усе необхідне сама.
Після успішного встановлення на хостинг потрібно перевести сайт на протокол HTTPS.
Як перевести сайт на HTTPS
Після отримання та встановлення SSL-сертифіката сайт відкриватиметься за обома протоколами — HTTP та HTTPS. Фактично існуватимуть дві однакові версії сайту, а це погано. Пошукові мережі можуть зробити висновки, що є дубль сайту (а так воно і є), та знизити позиції у видачі. Тому потрібно здійснити склеювання шляхом перенаправлення з однієї версії (HTTP) на іншу (HTTPS).
Для цього можна використати готові модулі, якщо сайт створений на CMS, або зробити 301 редирект (перенаправлення). Створювати його потрібно в файлі .htaccess, який розміщений у кореневій директорії сайту на хостингу. Відповідне правило для створення редиректу:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Якщо використовувати тільки nginx або зв’язку nginx+apache як вебсервер, щоб примусово перенаправити всі запити з HTTP на HTTPS на рівні вебсерверу nginx, достатньо до конфігураційного файлу віртуального хосту nginx додати рядок:
if ($scheme = http) {return 301 https://$host$request_uri;}
Після додавання такого запису версії сайту мають склеїтися, але це ще не все.
У коді сайту можуть залишитися посилання на стару версію сайту без HTTPS, тому потрібно уважно переглянути код та виправити неправильні посилання, якщо вони є.
Ще один момент, про який варто сказати, — системи аналітики Google Search Console, Google Analytics чи Яндекс.Вебмастер та Яндекс.Метрика. Оскільки фактично URL сайту було змінено, потрібно вказати правильну версію у цих системах.
Безпечних вам сайтів та великої кількості відвідувачів!
Отримати безплатний SSL-сертифікат від Let’s Encrypt можна, замовивши хостинг у Cityhost.ua. Читачам блогу та користувачам сервісу Freelancehunt надається знижка 30% на замовлення будь-якого тарифного плану. Щоб скористатися пропозицією, вкажіть промокод «freelancehunt-30» під час замовлення послуги й отримайте рахунок зі знижкою. Вона поширюється на всі активні тарифи хостингу і віртуальних серверів за умови першої оплати на будь-який доступний період. Зробити замовлення можна за посиланням: https://cityhost.ua.