Що таке SSL і як захистити з’єднання сайту

Автор: Опубліковано

Коротко: SSL — поширена назва технології, що захищає з’єднання між браузером і сервером сайту. Сучасні сайти використовують її наступника — TLS, хоча досі часто говорять про «сертифікат SSL». Таке з’єднання захищає дані від читання та зміни під час передавання, але не гарантує доброчесності власника сайту.

SSL, TLS і HTTPS — у чому різниця?

SSL, тобто Secure Sockets Layer, — старіший протокол захисту мережевої комунікації. Його наступник — TLS, Transport Layer Security. Старі версії SSL застаріли, і їх не слід використовувати. Проте ця назва збереглася в пропозиціях хостингу та сертифікатів.

HTTPS — це HTTP, протокол обміну даними із сайтом, захищений за допомогою TLS. Отже, адреса, що починається з https://, означає спробу з’єднатися із сайтом із застосуванням цього захисту. Коректність з’єднання перевіряє браузер, який у разі проблем може показати попередження.

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

Що захищає шифроване з’єднання, а чого — ні?

TLS забезпечує конфіденційність передаваних даних і їхню цілісність, тобто захист від непомітної зміни під час передавання. Він також допомагає підтвердити, що браузер обмінюється даними із сервером, уповноваженим обслуговувати вказаний домен.

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

Проте шифроване з’єднання не означає, що сам сайт безпечний або його власник доброчесний. Шахрай теж може отримати сертифікат для свого домену. Тому перед оплатою перевірте точну адресу магазину й дані продавця, а не лише позначку з’єднання в браузері.

TLS також не захищає дані після їх збереження на сервері, не видаляє вірусів і не виправляє помилок застосунку. Він не забезпечує повної анонімності: той, хто спостерігає за мережевим трафіком, усе ще може бачити частину відомостей про з’єднання, наприклад IP-адресу сервера. Оновлення програмного забезпечення, контроль доступу та резервне копіювання залишаються окремими завданнями.

Який сертифікат вибрати для сайту?

Для звичайного блогу, корпоративного сайту чи магазину зазвичай достатньо сертифіката DV — із перевіркою контролю над доменом. Видавець перевіряє, чи може замовник підтвердити цей контроль, наприклад за допомогою відповідного запису в DNS — системі, що спрямовує трафік домену до потрібних служб.

Сертифікати OV і EV передбачають також перевірку організації, причому EV потребує ширшої перевірки за правилами видавця. Це не означає автоматично сильнішого шифрування, ніж у разі DV. Вибір такого сертифіката може бути зумовлений організаційними чи договірними вимогами, а не потребою краще захистити саме передавання даних.

Під час вибору насамперед перевірте, які імена охоплює сертифікат:

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

Як увімкнути HTTPS на своєму сайті?

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

Практична послідовність упровадження така:

  1. Визначте всі використовувані доменні імена, зокрема варіант із www та потрібні субдомени.
  2. Отримайте й установіть сертифікат за інструкціями свого постачальника.
  3. Перевірте роботу сайту через HTTPS, особливо вхід в обліковий запис, форми й оплату.
  4. Змініть адресу сайту в системі керування вмістом і посилання на зображення, скрипти та таблиці стилів так, щоб вони використовували HTTPS.
  5. Налаштуйте постійне переспрямування з HTTP на HTTPS.
  6. Увімкніть автоматичне поновлення та сповіщення про проблеми.

Якщо на сайті залишаються ресурси, що завантажуються через HTTP, виникає так званий змішаний вміст. Браузер може блокувати ці ресурси або намагатися завантажити їх через HTTPS, через що частина сайту перестане працювати. Отже, встановлення сертифіката саме по собі не завершує впровадження.

Як перевірити сертифікат і реагувати на помилки?

У відомостях про сайт, доступних біля адресного рядка, можна перевірити стан з’єднання та подробиці сертифіката. Вигляд цього меню залежить від браузера — не кожен показує звичний значок замка. Перевірте доменне ім’я та строк чинності документа.

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

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

Дивіться також: Що таке CDN?

Читайте також

Дізнайтеся, як PHP-FPM обробляє запити PHP, чим відрізняється від вебсервера та як налаштувати процеси під трафік і ресурси хостингу.
Дізнайтеся, як BIND обслуговує DNS, чим відрізняються його серверні ролі та коли варто розгортати його самостійно замість керованої послуги.
Дізнайтеся, що означають польський реєстр і номер REGON, чим вони відрізняються від NIP та KRS і як перевірити дані підприємства.