TLS

Материал из Энциклопедия интернет-маркетинга MarketWiki

TLS (Transport Layer Security, безопасность транспортного уровня) - криптографический протокол, обеспечивающий защищённую передачу данных между узлами в сети интернет. TLS является преемником протокола SSL и используется для шифрования трафика, аутентификации серверов и обеспечения целостности передаваемой информации.

В интернет-маркетинге TLS ассоциируется с HTTPS - защищённой версией протокола HTTP. Использование TLS на сайте является обязательным условием для современных проектов и влияет на доверие пользователей и позиции в поисковых системах.

История

[править]

TLS был разработан IETF (Internet Engineering Task Force) как стандартизированная версия протокола SSL, созданного Netscape.

  • TLS 1.0 (1999) - основан на SSL 3.0, с незначительными изменениями.
  • TLS 1.1 (2006) - обновление с улучшениями безопасности.
  • TLS 1.2 (2008) - значительное обновление, до сих пор широко используется.
  • TLS 1.3 (2018) - современная версия с улучшенной производительностью и безопасностью.

Сегодня все версии SSL и TLS 1.0 считаются устаревшими и небезопасными. Рекомендуется использовать TLS 1.2 или TLS 1.3.

Как работает TLS

[править]

TLS обеспечивает безопасность на транспортном уровне, шифруя данные до их отправки.

TLS-рукопожатие (handshake)

[править]

Процесс установления защищённого соединения включает несколько этапов:

  • Client Hello - клиент отправляет серверу информацию о поддерживаемых версиях TLS и алгоритмах шифрования.
  • Server Hello - сервер выбирает версию TLS и алгоритм шифрования, отправляет свой сертификат.
  • Проверка сертификата - клиент проверяет подлинность сертификата (с помощью центров сертификации).
  • Обмен ключами - клиент и сервер генерируют и обмениваются ключами для сеансового шифрования.
  • Завершение рукопожатия - обе стороны подтверждают готовность к защищённой передаче.

Record Protocol

[править]

После установления соединения данные передаются с использованием Record Protocol, который разбивает информацию на блоки, сжимает их (опционально), шифрует и добавляет код аутентификации.

Версии TLS

[править]

Разные версии TLS имеют свои особенности и уровень безопасности.

Основан на SSL 3.0. Содержит ряд уязвимостей. Считается устаревшим. Многие современные сайты и браузеры отключили поддержку этой версии.

Незначительное улучшение по сравнению с TLS 1.0. Также считается устаревшим. Рекомендуется отключать поддержку этой версии на сервере.

Наиболее распространённая версия на сегодняшний день. Использует более сильные алгоритмы шифрования. Поддерживается всеми современными браузерами и серверами.

Самая современная версия, выпущенная в 2018 году. Основные улучшения:

  • Ускоренное рукопожатие (сокращено до 1 round-trip).
  • Удаление устаревших и небезопасных алгоритмов.
  • Улучшенная безопасность.
  • Поддержка 0-RTT (нулевое время ожидания для повторных соединений).

TLS и HTTPS

[править]

HTTPS - это комбинация протоколов HTTP и TLS. Именно TLS обеспечивает защиту, а HTTP отвечает за передачу гипертекста. Поэтому правильнее говорить не HTTPS, а HTTP over TLS.

Настройка TLS на сервере

[править]

Для корректной работы TLS необходимо правильно настроить веб-сервер.

Выбор версий

[править]

Рекомендуется оставить поддержку TLS 1.2 и TLS 1.3. Все более старые версии следует отключить.

Пример для Nginx:

ssl_protocols TLSv1.2 TLSv1.3;

Выбор шифров

[править]

Важно выбрать надёжные и безопасные наборы шифров. Рекомендуется использовать шифры, обеспечивающие совершенную прямую секретность (PFS).

Пример для Nginx:

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;

HSTS (HTTP Strict Transport Security) - механизм, заставляющий браузер подключаться к сайту только по HTTPS.

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

TLS и SEO

[править]

Использование современных версий TLS (особенно TLS 1.3) может незначительно улучшить скорость загрузки сайта, что положительно влияет на ранжирование. Однако основной SEO-эффект даёт сам факт использования HTTPS, независимо от версии TLS.

Проверка TLS

[править]

Проверить правильность настройки TLS можно с помощью онлайн-инструментов:

  • SSL Labs SSL Test - подробный анализ конфигурации.
  • SSL Checker - базовая проверка сертификата.
  • ImmuniWeb SSLScan - проверка безопасности.

Связанные термины

[править]