SSL/TLS (уровень защищённых сокетов / безопасность транспортного уровня)

Электронная почта и безопасность
Криптографические протоколы, защищающие соединения между клиентом и сервером с помощью шифрования и проверки сертификата.
← Вернуться к глоссарию

Что такое SSL/TLS?

SSL/TLS защищает данные между клиентом и сервером и позволяет проверить hostname сертификатом. SSL устарел, поэтому используйте актуальные версии TLS.

SSL и TLS: краткая история

TLS заменил SSL и исправил его слабые места. Не включайте устаревшие протоколы ради совместимости без оценки риска.

ВерсияГодСтатус
SSL 1.01994Не выпускалась (ошибки)
SSL 2.01995Устарела (небезопасна)
SSL 3.01996Устарела (уязвимость POODLE)
TLS 1.01999Устарела
TLS 1.12006Устарела
TLS 1.22008Действующий стандарт
TLS 1.32018Новейшая, рекомендуется

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

TLS handshake

Клиент и сервер согласуют версию, cipher suite, сертификат и ключ сеанса до передачи данных.

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

Сертификаты SSL/TLS

Содержимое сертификата

Проверяются SAN, issuer, срок, открытый ключ, подпись и цепочка.

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

DV подтверждает контроль домена, OV и EV требуют дополнительных процедур, но ни один тип не гарантирует безопасность приложения.

Охват сертификата

Проверьте точный hostname, SAN и правила wildcard для каждого сервиса.

Внедрение SSL/TLS

Бесплатные сертификаты Let's Encrypt

Let's Encrypt выпускает короткоживущие сертификаты и требует автоматического продления.

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

Сертификаты облачного провайдера

Проверьте владельца, область действия, экспорт ключа, обновление и зависимость от провайдера.

Проверка сертификата

Проверяйте цепочку, срок, SAN, SNI, DNS, IPv4 и IPv6 с независимых точек.

Лучшие практики SSL/TLS

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

Ограничьте версии и cipher suites, включите безопасный redirect, HSTS после проверки и не допускайте mixed content.

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;

Управление сертификатами

Храните ключи безопасно, мониторьте срок, автоматизируйте ротацию и документируйте владельца.

Проверка SSL/TLS

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

curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

openssl s_client -connect example.com:443 -servername example.com

Частые проблемы SSL

Hostname mismatch, истёкший срок, неполная chain, неверный SNI, слабый TLS, CAA и mixed content требуют разных исправлений.

Применяйте эти знания на практике

Используйте API DomScan для проверки доступности доменов, их состояния и многого другого.