advanced
TLS и certificates
Понимайте TLS handshakes, certificate chains, SNI, ALPN, session resumption, termination points и common HTTPS misconfigurations.
TLS шифрует и аутентифицирует трафик между клиентом и сервером. Handshake согласует cipher suites, проверяет цепочку сертификатов против доверенных CA и устанавливает session keys. SNI позволяет одному IP обслуживать несколько сертификатов; ALPN выбирает HTTP/2 или HTTP/1.1 при handshake. Session resumption (tickets, session IDs) снижает стоимость повторного handshake.
ClientHello → ServerHello + цепочка cert → key exchange → Finished → шифрованный HTTP
Termination может быть на load balancer, reverse proxy или в Node — это меняет владение сертификатами, HSTS и что видит upstream (plain HTTP vs re-encrypt).
На интервью: chain of trust, почему self-signed не работает в браузерах, mTLS для service-to-service, типичные misconfig (просроченный cert, неверный hostname, неполная цепочка).
Типовые ошибки: TLS на edge без проверки upstream certs; отключение verification в Node; внутренние hop'ы HTTP вместо HTTPS.
Компромисс: сложность эксплуатации на edge против сквозного шифрования внутри ЦОД.
Чеклист:
- Разберите handshake и источники latency.
- Назовите SNI, ALPN и выгоду resumption.
- Укажите точку termination в архитектуре.
- Не отключайте проверку cert в production.