SSL

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

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

В интернет-маркетинге SSL ассоциируется с HTTPS - защищённой версией протокола HTTP. Наличие SSL-сертификата на сайте является обязательным условием для современных проектов, влияет на ранжирование в поисковых системах и доверие пользователей.

История

[править]

Протокол SSL был разработан компанией Netscape в середине 1990-х годов для обеспечения безопасности интернет-коммуникаций.

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

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

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

[править]

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

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

[править]

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

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

Типы шифрования

[править]

SSL/TLS использует комбинацию 2 типов шифрования:

  • Асимметричное шифрование - используется для безопасного обмена ключами. Требует пары ключей (открытый и закрытый).
  • Симметричное шифрование - используется для шифрования самих данных. Быстрее, но требует общего ключа.

SSL-сертификаты

[править]

SSL-сертификат - цифровой документ, удостоверяющий подлинность сайта и содержащий открытый ключ для шифрования.

Что содержит сертификат

[править]
  • Доменное имя, для которого выдан сертификат.
  • Название организации (для сертификатов с проверкой организации).
  • Адрес организации.
  • Срок действия сертификата.
  • Информация о центре сертификации, выдавшем сертификат.
  • Открытый ключ.
  • Цифровая подпись центра сертификации.

Типы сертификатов

[править]
  • DV (Domain Validation) - подтверждает только право владения доменом. Выдаётся быстро и автоматически.
  • OV (Organization Validation) - подтверждает существование организации. Требует проверки документов.
  • EV (Extended Validation) - расширенная проверка. Ранее отображал название организации в зелёной строке браузера.

По количеству доменов

[править]
  • Одиночный сертификат - для 1 домена.
  • Wildcard-сертификат - для домена и всех его поддоменов (пример: *.example.com).
  • SAN-сертификат - для нескольких разных доменов.

Центры сертификации (CA)

[править]

Организации, уполномоченные выдавать SSL-сертификаты. Браузеры и операционные системы содержат списки доверенных центров сертификации.

  • Платные CA: Comodo, Symantec, GlobalSign, DigiCert.
  • Бесплатные CA: Let's Encrypt (самый популярный).
  • Государственные CA: существуют в некоторых странах (например, Минцифры России).

SSL и SEO

[править]

Наличие SSL-сертификата влияет на поисковую оптимизацию.

Фактор ранжирования

[править]
  • Google объявил HTTPS фактором ранжирования в 2014 году.
  • Яндекс также учитывает наличие HTTPS.
  • Влияние незначительное, но может быть решающим при прочих равных.

Доверие пользователей

[править]
  • Браузеры помечают сайты без HTTPS как «Небезопасные».
  • Значок замка повышает доверие, особенно при оформлении заказов.
  • Выше CTR в поисковой выдаче.

Скорость загрузки

[править]

Современные версии TLS (1.2, 1.3) и HTTP/2, работающие только через HTTPS, могут даже ускорить загрузку сайта.

Проблемы и ошибки SSL

[править]

Наиболее частые проблемы, связанные с SSL-сертификатами.

Истёкший сертификат

[править]

Самый распространённый тип ошибки. Сертификаты имеют ограниченный срок действия (обычно от 3 месяцев до 2 лет). Необходимо своевременно обновлять сертификат.

Недействительный сертификат

[править]

Возникает, если сертификат выдан для другого домена. Например, на сайте example.com установлен сертификат для test.com.

Самоподписанный сертификат

[править]

Сертификаты, не подписанные доверенным центром сертификации. Браузеры показывают предупреждение. Подходят только для тестовых сред.

Проблемы с цепочкой сертификатов

[править]

Промежуточные сертификаты не установлены на сервере. Браузер не может построить цепочку доверия до корневого сертификата.

Смешанный контент

[править]

Не ошибка SSL, но связанная с ним проблема: HTTPS-страница загружает ресурсы по HTTP. Браузер может блокировать такой контент.

Как получить и установить SSL-сертификат

[править]

Пошаговая инструкция по переходу на HTTPS.

Шаг 1: Выбор типа сертификата

[править]

Для большинства проектов достаточно бесплатного DV-сертификата Let's Encrypt. Для коммерческих сайтов, собирающих личные данные, можно выбрать платный OV-сертификат.

Шаг 2: Получение сертификата

[править]
  • Через панель хостинга (многие провайдеры предлагают автоматическую установку).
  • Вручную с помощью Certbot (для Let's Encrypt).
  • Покупка у платного центра сертификации.

Шаг 3: Установка на сервер

[править]

Настройка веб-сервера для использования сертификата.

Пример для Nginx:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ssl_protocols TLSv1.2 TLSv1.3;
}

Шаг 4: Настройка редиректа с HTTP

[править]

301-редирект с HTTP на HTTPS, чтобы пользователи всегда попадали на защищённую версию.

Шаг 5: Проверка

[править]

Проверить правильность установки можно онлайн-инструментами (SSL Labs SSL Test).

Будущее SSL/TLS

[править]

Старые версии протоколов (SSL 3.0, TLS 1.0, TLS 1.1) объявлены устаревшими и отключены во всех современных браузерах. В будущем ожидается дальнейшее ужесточение требований к безопасности и переход на TLS 1.3.

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

[править]