SSL El Sıkışma İzleme
Herhangi bir host ve porta tam TLS el sıkışma (handshake) izi.
Çalıştırmak için yukarıya bir değer girin: SSL El Sıkışma İzleme
örn. example.com
Kısa cevap
SSL Handshake Trace, bir host ve porta yapılan TLS el sıkışmasının adımlarını, üzerinde anlaşılan sürüm ve şifre takımını ve sunulan sertifika zincirini gösterir. El sıkışmanın nerede takıldığını teşhis etmek için kullanın.
SSL Handshake Trace, bir sunucuyla kurulan TLS el sıkışmasının (handshake) tüm adımlarını açıp önünüze serer; hangi protokol sürümünün ve şifre takımının (cipher suite) üzerinde anlaşıldığını, sunucunun hangi sertifika zincirini sunduğunu ve el sıkışmanın nerede takıldığını gösterir. Bir bağlantı 'çalışmıyor' dediğinde, sorunun sertifikada mı, protokol uyumsuzluğunda mı yoksa ağ katmanında mı olduğunu ayırt etmek için ihtiyacınız olan alt seviye görünümü sağlar. Hostname ve port belirtir, aracın el sıkışmayı adım adım kaydetmesini izlersiniz.
Bu, openssl s_client komutunun sunduğu ayrıntının tarayıcı dostu hâlidir. Web dışı servisleri de (465 posta, 993 IMAPS, özel portlar) test edebilir; ne zaman TLS 1.3 ile ne zaman 1.2 ile bağlanıldığını, hangi eğri veya anahtar değişiminin kullanıldığını ve sunucunun ara sertifikaları gönderip göndermediğini net biçimde görürsünüz. Özellikle 'benim tarayıcımda açılıyor ama bir istemcide açılmıyor' türü sorunları teşhis etmenin en doğrudan yoludur.
TLS el sıkışması adım adım
El sıkışma, istemcinin ClientHello mesajıyla başlar; burada desteklediği TLS sürümlerini, şifre takımlarını ve SNI ile hangi hostname'e bağlandığını bildirir. Sunucu ServerHello ile seçtiği sürüm ve şifre takımını, ardından sertifika zincirini gönderir. TLS 1.2'de anahtar değişimi ve doğrulama birkaç ek turda tamamlanırken, TLS 1.3 bu süreci kısaltıp daha az tur ve daha güçlü varsayılanlarla çalışır. Son adımda iki taraf da oturum anahtarlarını türetir ve şifreli iletişime geçer. Bu araç, her adımı ve tarafların üzerinde anlaştığı parametreleri raporlar.
El sıkışma nerede takılıyor
Bir el sıkışmanın başarısız olduğu adım, sorunun kaynağını ele verir. TCP bağlantısı hiç kurulmuyorsa sorun ağ veya güvenlik duvarındadır, TLS'te değil. ServerHello geliyor ama sertifika doğrulaması başarısızsa, sorun zincirde ya da ad uyuşmazlığındadır. Ortak bir şifre takımı ya da protokol sürümü üzerinde anlaşılamıyorsa (örneğin istemci yalnızca modern TLS 1.3 isterken sunucu yalnızca eski sürümleri sunuyorsa) el sıkışma daha ServerHello'da kesilir. Trace, kopmanın hangi mesajda olduğunu göstererek doğru yere bakmanızı sağlar.
Protokol ve şifre takımı uyumu
İstemci ve sunucu, ortak destekledikleri en güçlü protokol sürümü ve şifre takımı üzerinde anlaşır; kesişim boşsa bağlantı kurulamaz. Eski bir istemciyi (örneğin güncellenmemiş bir cihaz veya kütüphane) yalnızca TLS 1.3'e izin veren bir sunucuya bağlamaya çalışmak tam da bu şekilde başarısız olur. Trace, üzerinde anlaşılan sürüm ve şifre takımını gösterdiği için; sunucunuzun çok katı mı yoksa gereğinden gevşek mi yapılandırıldığını değerlendirebilir, zayıf şifre takımlarını kapatırken meşru istemcileri dışarıda bırakmadığınızı doğrulayabilirsiniz.
Sertifika zincirini el sıkışma sırasında görmek
Trace, sunucunun el sıkışmada gerçekten hangi sertifikaları gönderdiğini gösterir; bu, sertifika dosyanızın diskte ne içerdiğinden farklı olabilir. Sunucu yalnızca yaprak sertifikayı gönderiyorsa ara sertifika eksiktir ve katı istemciler bağlantıyı reddeder. Trace ile gönderilen zinciri görüp eksik veya yanlış ara sertifikayı canlı bağlantı üzerinden teşhis edersiniz; bu, yapılandırmayı düzeltip yeniden yükledikten sonra sorunun gerçekten çözüldüğünü de teyit etmenizi sağlar.
Sıkça sorulan sorular
- Bu araç openssl s_client'tan farkı ne?
- İkisi de bir TLS el sıkışmasının ayrıntılarını gösterir, ama bu araç bunu komut satırı, kurulum veya doğru bayrakları hatırlama zorunluluğu olmadan tarayıcıdan yapmanızı sağlar. Sürüm, şifre takımı ve sunulan zincir gibi kilit bilgileri düzenli biçimde önünüze getirir. Derin protokol hata ayıklaması için openssl hâlâ güçlüdür; bu araç ise hızlı ve erişilebilir bir teşhis sunar.
- El sıkışma başarısız oluyorsa nereden başlamalıyım?
- Trace'in hangi adımda durduğuna bakın. Hiç bağlantı yoksa ağ/güvenlik duvarını kontrol edin. ServerHello geliyor ama sertifika reddediliyorsa zinciri ve ad eşleşmesini inceleyin. Protokol veya şifre takımı üzerinde anlaşılamıyorsa sunucunuzun TLS sürüm ve cipher ayarlarını gözden geçirin. Kopma noktası, doğrudan hangi katmana bakmanız gerektiğini söyler.
- TLS 1.2 mi 1.3 mü kullanmalıyım?
- Mümkün olan her yerde TLS 1.3'ü tercih edin; daha hızlı el sıkışma, daha az tur ve daha güçlü varsayılanlar sunar. Ancak çok eski istemcileri desteklemeniz gerekiyorsa TLS 1.2'yi de açık tutmanız gerekebilir. TLS 1.0 ve 1.1 artık güvensiz sayılır ve kapatılmalıdır. Trace ile sunucunuzun hangi sürümlerde anlaştığını görüp bu dengeyi ayarlayabilirsiniz.
- Posta sunucumun TLS'ini de trace edebilir miyim?
- Evet. Port alanına ilgili portu girin: 465 (SMTPS) ve 993 (IMAPS) gibi doğrudan TLS kullanan portlar sorunsuz çalışır. Bu, posta istemcilerinin sunucunuza bağlanamama sorunlarını teşhis etmek için faydalıdır; sunulan sertifikanın posta sunucusu adını kapsadığını ve modern bir protokolde anlaşıldığını doğrularsınız.
- Trace'te gördüğüm zincir neden dosyamdakinden farklı?
- Çünkü trace, sunucunun el sıkışmada fiilen gönderdiği zinciri gösterir; bu, yapılandırmanızın gerçekte ne sunduğudur. Diskteki dosyada ara sertifika bulunsa bile sunucu onu yüklemek üzere yapılandırılmamışsa el sıkışmada göndermez. Bu fark, tam da eksik zincir sorununun canlı kanıtıdır; sunucu yapılandırmasını düzeltip fullchain'i doğru sunmanız gerekir.