Що таке HTTPS і як він захищає з’єднання

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

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

Як працює HTTPS і чим відрізняється від HTTP?

HTTP — це протокол, тобто набір правил передавання запитів і відповідей між браузером та сервером. Наприклад, браузер запитує сторінку товару, а сервер надсилає її вміст. Звичайний HTTP не шифрує цей обмін даними.

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

HTTPS забезпечує три основні властивості:

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

Для чого потрібен сертифікат HTTPS?

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

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

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

Чого HTTPS не гарантує?

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

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

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

Як перевірити з’єднання та реагувати на попередження?

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

Перш ніж вводити пароль або платіжні дані, уважно прочитайте доменне ім’я. В адресі bank.pryklad.com батьківським доменом є pryklad.com; саме слово «bank» не доводить зв’язку з банком. Так само можна скопіювати логотип і вигляд форми.

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

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

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

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

Коли конфігурація працюватиме стабільно, можна впровадити HSTS — механізм, що зобов’язує браузер використовувати HTTPS для наступних з’єднань. Це потребує обережності, особливо якщо дія механізму поширюється на піддомени, оскільки помилкові налаштування можуть ускладнити доступ до сервісів.

Першу практичну перевірку виконайте на найважливішій формі свого сайту: перевірте захист з’єднання, відсутність попереджень і те, чи відкриття сайту через HTTP правильно перенаправляє на HTTPS.

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

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

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