TLS handshake nedir?
Kısa cevap
TLS handshake, şifreli veri gönderilmeden önce istemci ile sunucunun bağlantı parametrelerinde anlaştığı açılış adımıdır: istemci ClientHello ile desteklediği sürümleri, cipher suite'leri ve bağlanmak istediği domain'i (SNI) bildirir; sunucu ServerHello ile seçimini yapar ve sertifikasını gönderir; iki taraf key exchange ile ortak session key'leri üretir. Handshake, TLS'in hesaplama açısından en pahalı kısmıdır. TR7'de handshake yükü vService Dashboard'unun SSL sekmesindeki SSL New Connections (TPS) panelinden izlenir ve vService Limits profilindeki Max. SSL Connections/s ile sınırlanır.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| vService → Dashboard → SSL sekmesi | SSL New Connections (TPS), SSL Concurrent Connections, SSL Session Reuse | Saniyedeki yeni SSL bağlantısı, açık SSL bağlantısı ve önbellekten sürdürülen session oranı |
| Load Balancer → Profiles (L4-L7 Behavior Sets) → vService Limits | Max. SSL Connections/s, Max. Total SSL Connections | Yeni SSL bağlantısı hızını ve açık SSL bağlantısı sayısını sınırlama |
| Certificates & PKI → TLS Security Profiles | Min. SSL Version, Cipher Algorithms, Curve/ECDHE | Handshake'te kabul edilen sürüm, cipher suite ve curve'ler |
| Load Balancer → Conditions (Policy Match) | SSL Version, SSL Cipher, SSL SNI Info | Handshake'te anlaşılan değerlere göre karar; SSL SNI Info yalnız SSL sonlandırılmayan (passthrough) L7 TCP vService'te eşleşir |
Nasıl Çalışır?
TLS 1.3'te tam handshake (RFC 8446):
- ClientHello: İstemci desteklediği sürümleri, cipher suite'leri, key exchange gruplarını ve key share'ini, SNI ve ALPN extension'larını gönderir.
- ServerHello: Sunucu sürümü, cipher suite'i ve grubu seçer, kendi key share'ini gönderir; bu noktadan sonra mesajlar şifrelenir.
- Certificate, CertificateVerify, Finished: Sunucu sertifikasını ve private key'ine sahip olduğunu kanıtlayan imzayı gönderir; istemci doğrular ve Finished ile handshake tamamlanır.
TLS 1.3'te tam handshake tek round trip'tir; TLS 1.2'de iki round trip sürer. Daha önce bağlanmış istemciler session resumption ile tam handshake'i atlayabilir (TLS session resumption nedir?).
Sık Karıştırılan Noktalar
- "TLS'in maliyeti şifreli veri aktarımındadır." Asıl maliyet her yeni bağlantıdaki handshake'tedir; keep-alive ve session resumption bu maliyeti azaltır.
- "Handshake başarısızsa sertifika bozuktur." İstemci ile sunucunun ortak bir sürüm ya da cipher suite bulamaması da handshake'i başarısız kılar.
- "Handshake tamamen şifresizdir." TLS 1.3'te ServerHello'dan sonraki mesajlar (sertifika dahil) şifrelidir; ClientHello ve içindeki SNI ise açık gider.
Dokümantasyonda nasıl yapılır
