Давно хотів розповісти про SSL сертифікати (щоб сайт відкривався по https).
Досить часто наші клієнти просят дати рекомендації щодо того, які сертифікати їм потрібні, де їх купити і чому вони так різняться за ціною залежно від різних провайдерів.
Уявіть, що вам треба подзвонити другу Миколі, передати йому дуже важливу інформацію. На сьогодні багато людей, що їх бесіду можуть прослуховувати, перехопивши GSM дзвінок. Ви, відповідно, шукаєте можливості поговорити через “захищений канал”. Хтось обирає Viber, Skype, а хтось користується інтернет телефонією з шифруванням. Таким чином ви захищаєте канал зв’язку.
SSL/https - це теж про захист каналу зв'язку. Його використання забезпечить вам захист даних між вашим комп'ютером і сервером сайту, з яким ви працюєте. Тобто, в іншому випадку, врізаючись у ваше з'єднання з сайтом, зловмисник, може отримати:
При використанні SSL-шифрування, серед доступних зловмисникові даних є тільки доменне ім'я і сервісний порт, куди відправляються дані. Уся інша інформація йому так просто недоступна.
Хотілося б зауважити наступне популярне твердження:
Якщо ваш сайт використовується "тільки для читання" і ви не очікуєте від користувача введення будь-яких даних (наприклад, корпоративний сайт, лендінг сторінка, статичний сайт-каталог і т.д.), то можете сміливо не використовувати і не купувати сертифікат SSL , залишаючись тільки з http.
На жаль, це твердження хибне.
Сьогодні багато пошукових систем знижують сайт у видачі, якщо у нього немає SSL сертифікату. Фактично він необхідний усім сайтам.
Наведу такий приклад. Наш корпоративний сайт є повністю статичним і майже не містить будь-якої серверної логіки. Це інформаційний сайт з безліччю сторінок. Зламувати його настільки ж безглуздо, як і зламувати його відвідувачів. Проте, на сайті є форма зворотного зв'язку, де будь-який відвідувач може залишити свої дані і ми з ним зв'яжемося - посилання. Якраз у цьому і криється джерело вразливості - без використання шифрування https, зловмисник може перехопити такі призначені для користувача дані, як ПІБ, email, відправлені файли, паролі в тексті повідомлення.
Використовуючи сертифікат SSL і шифрування - ми значно ускладнюємо процес перехоплення такого типу даних.
SSL-сертифікат - це набір з трьох елементів:
Припустимо, ключ - це дуже великий пароль на 1024 символи. Не заглиблюючись в алгоритми шифрування, очевидно, що чим довший пароль, тим складніше його підібрати. А в сертифікаті міститься інформація про його власника і того, хто його видав. Всі три елементи ви можете згенерувати самостійно і цілком безкоштовно. Можете, навіть, підключити їх до свого сайту.
"Але є одне "але " : ніхто, окрім вашого комп'ютера, не зможе перевірити справжність безпечного з'єднання, так як більше нікому не доступна інформація про ключі.
У цей момент на сцені з'являється провайдер сертифікатів (реєстратор) - він зберігає публічні дані про сертифікат, і надає їх будь-кому, хто надсилає запит. Тому, коли ви відвідуєте https ресурс, ваш браузер дивиться в сертифікаті хто його видав, відсилає запит на сервер реєстратора і перевіряє відповідність об'єкта видачі сертифіката і публічних ключів до заявлених ресурсом, що відвідують. Таким чином браузер визначає захищеність ресурсу.
Гроші. Багато грошей. Неймовірно багато грошей для одного або декількох сертифікатів на кілька десятків років. Колись на це існувала монополія, і всього 3-5 компаній видавали сертифікати. Сьогодні таким провайдером може стати кожен.
Для цього потрібно:
Для цього варто розібратися в тому, що формує ціну:
В Україні немає провайдерів сертифікатів, це занадто дорого. Тому, на пільгових умовах у нас є компанії, які перепродують видачу сертифікатів і економлять на витратах оплати персоналу і страхових платежах.
Чи варто брати найдорожчий сертифікат, який відобразить назву вашої компанії в зеленому квадраті з замочком? Для потіхи власного самолюбства і візуального відмінності - це відмінний варіант, але при наявності більш дешевих варіантів - не більше того.
На сьогодні існує ще один варіант отримання сертифікату - реєстратор Let'sEncrypt. Там можна отримати робочий сертифікат з деякими обмеженнями і повністю безкоштовно.
У концепції комерційних сертифікатів, згодом з'явився значний мінус. На початку 2000-х, якщо розробник створював прототип або міні-версію своєї великої ідеї, або якщо інвестор починав новий веб-стартап, потрібно було придбати сертифікат безпеки для збереження каналу передачі даних. Ціни були $50+. Так, наприклад, студент, роблячи курсову роботу, з бажанням показати, що зв'язок захищений, повинен був купити сертифікат. У той же час, не маючи веріфікованого сертифіката, при кожному вході на сторінку https з'являлося повідомлення "зв'язок не захищений" - не найкращий варіант для демонстрації роботи, чи не так?
З кожним роком кількість таких програмістів росло, а увійти до індустрії розробки веб-рішень ставало все легше. Сьогодні, навіть домогосподарки можуть за інструкцією створити сайт про себе, і зробити це майже безкоштовно. Технології стали доступнішими, хостинг став майже безкоштовним, але сертифікати як коштували $50 +, так і коштують. Уявіть собі: вам потрібна сторінка про себе, з вашим доменним ім'ям, яку б не ігнорувати пошукові системи. Ви купуєте домен за $10 і хостинг за $2-5 на місяць, за інструкцією розгортається сайт на базі зручної CMS (наприклад, AcroCMS) із безкоштовним шаблоном. І все. Сьогодні ви заплатили лише $15. Далі, пошуковий робот надсилає вам рекомендацію: "Перенесіть сайт на https для можливого підвищення його у видачі". Але за гроші на покупку сертифіката, ви можете зробити ще 3 таких сайти.
Так, у квітні 2016-го року з'явився новий реєстратор сертифікатів - Let'sEncrypt. Це повністю автоматичний сервіс, який дозволяє створювати безкоштовні сертифікати для вашого доменного імені.
Менш ніж за 2 роки проект ґрунтовно закріпив свої позиції у сфері розвитку малих сайтів і веб-додатків. Підтримку Let'sEncrypt вбудували собі безліч хостинг-компаній, що спрощуює процес отримання сертифікату і його автоматичного оновлення кожні 90 днів.
Дякую.