Как работает HTTPS. Разбираемся в SSL, TLS и сертификатах
HTTPS — это расширение протокола HTTP, которое обеспечивает безопасную передачу данных между клиентом и сервером. За безопасность отвечают криптографические протоколы SSL/TLS, а также инфраструктура цифровых сертификатов.
HTTP vs HTTPS
HTTP передаёт данные в открытом виде, что делает возможным перехват и подмену трафика. HTTPS решает эту проблему:
- шифрует передаваемую информацию,
- гарантирует подлинность сервера,
- обеспечивает целостность данных.
SSL и TLS
- SSL (Secure Sockets Layer) — предшественник, сегодня считается устаревшим.
- TLS (Transport Layer Security) — современный протокол, используемый повсеместно.
Когда мы говорим «SSL-сертификат», фактически речь идёт о TLS, но историческое название закрепилось.
Как работает TLS-Handshake (коротко)
- Инициация соединения: клиент сообщает серверу, что хочет установить защищённый канал, и передаёт список поддерживаемых версий TLS и алгоритмов шифрования.
- Ответ сервера: сервер выбирает алгоритмы и отправляет клиенту свой сертификат.
- Проверка сертификата: клиент проверяет, действителен ли сертификат и подписан ли он доверенным центром сертификации (CA).
- Генерация общего ключа: клиент и сервер обмениваются ключами (обычно через алгоритмы на основе RSA или ECDHE).
- Установление шифрованного канала: всё дальнейшее общение идёт по симметричному шифрованию с заранее согласованными ключами.
Сертификаты и доверие
Цифровой сертификат — это документ, подтверждающий, что конкретный публичный ключ принадлежит владельцу домена.
В нём содержатся:
- доменное имя,
- информация о владельце,
- срок действия,
- подпись центра сертификации.
Браузеры и ОС имеют список доверенных CA. Если сертификат подписан неизвестным центром или подделан, пользователь увидит предупреждение.
Типы сертификатов
- DV (Domain Validation) — проверяется только домен.
- OV (Organization Validation) — дополнительно проверяется организация-владелец.
- EV (Extended Validation) — строгая проверка юридического лица, дающая максимальный уровень доверия.
Let's Encrypt и автоматизация
На практике чаще всего используют DV-сертификаты. Для большинства задач достаточно бесплатного решения Let's Encrypt, которое можно автоматизировать при помощи Certbot или встроенных интеграций в веб-серверах.
Версии TLS и совместимость
TLS, как и любой криптографический протокол, эволюционировал. Старые версии постепенно признаются небезопасными и отключаются:
- SSL 2.0 и SSL 3.0 — давно уязвимы, использовать категорически нельзя.
- TLS 1.0 и TLS 1.1 — официально признаны устаревшими (RFC 8996, 2021 год). Их поддержка в браузерах и современных серверах отключена.
- TLS 1.2 — на сегодняшний день это основной стандарт, поддерживаемый большинством приложений.
- TLS 1.3 — современная версия, значительно ускоряющая handshake и убирающая устаревшие криптографические алгоритмы.
Почему это важно для администраторов
- Если сервер поддерживает только старые версии TLS, современные браузеры просто откажутся подключаться.
- С другой стороны, если вы отключите TLS 1.0/1.1, но у пользователей или интеграций стоят старые клиенты (например, старый Android или старый OpenSSL), соединение может не установиться.
- Поэтому в продакшне обычно оставляют поддержку TLS 1.2 и TLS 1.3, а всё ниже — отключают.
Проверка поддержки протоколов
Проверить, какие версии TLS поддерживает ваш сервер, можно с помощью:
openssl s_client -connect yoursite.com:443 -tls1_2
(или-tls1_3
)- онлайн-сервисов вроде SSL Labs SSL Test, которые покажут версии TLS, алгоритмы шифрования и уязвимости.
Таким образом, мониторинг TLS-версий и корректная настройка протоколов — это не только вопрос безопасности, но и вопрос доступности: сервер должен поддерживать современный стандарт, но при этом не отрезать часть аудитории, если у неё старое ПО.
Заключение
HTTPS — это стандарт де-факто для всех современных веб-приложений.
Он обеспечивает:
- конфиденциальность,
- аутентичность,
- целостность передаваемых данных.
Без HTTPS невозможно представить безопасную работу с вебом: от интернет-банков до API и сервисов мониторинга доступности.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний