Chrome bir TLS kaydının bütünlük doğrulamasını (MAC) geçemediğinde bağlantıyı keser ve bu hatayı gösterir. Sertifikanın kendisinden çok, veri yolunun bozulmasıyla ilgilidir.
Belirtiler ve olası nedenler
Hata genellikle sayfa yüklenirken rastgele ortaya çıkar, bazı ağlarda görülür, bazılarında görülmez. Sık nedenler:
- Antivirüs veya güvenlik yazılımının HTTPS tarama özelliğinin bağlantıyı bozması
- Bozuk ağ donanımı, hatalı MTU ayarı, güvenlik duvarı veya VPN paket manipülasyonu
- Yük dengeleyici arkasında sunucuların farklı TLS oturum anahtarları kullanması
- Sunucuda eski veya hatalı bir TLS kütüphanesi
Adım adım çözüm
- Başka bir ağda (örneğin telefon hotspot) ve başka bir cihazda deneyin. Sorun yalnızca tek ağda ise sebep ağ katmanıdır.
- Antivirüsteki "HTTPS/SSL taraması" seçeneğini geçici kapatıp test edin.
- VPN ve proxy'yi devre dışı bırakın.
- Sunucu tarafını komut satırından sınayın:
openssl s_client -connect ornek.com:443 -servername ornek.com -tls1_2
Komut her seferinde sorunsuz tamamlanıyor ama tarayıcıda hata sürüyorsa istemci tarafındaki bir ara yazılım şüphelidir. Hata rastgele tekrarlıyorsa yük dengeleyicideki sunucuların yapılandırmasını ve TLS kütüphane sürümlerini karşılaştırın.
Önleme
TLS kütüphanelerini güncel tutun, sunucu grubundaki tüm düğümlerde aynı yapılandırmayı kullanın ve sertifika zincirinizi SSL Checker ile düzenli doğrulayın. Yine de çözemezseniz SSL sorun giderici aracını deneyebilirsiniz.
Özetle bu hata sertifika geçersizliği değil, taşıma katmanındaki veri bozulmasının işaretidir; önce ağ ve ara yazılımları eleyin, sonra sunucuya bakın.
Hatanın arka planı
TLS, her kaydı bir MAC (veya AEAD etiketi) ile korur. Alıcı tarafta hesaplanan değer kayıttakiyle uyuşmazsa kayıt bozulmuş ya da değiştirilmiş sayılır ve bağlantı "bad_record_mac" uyarısıyla sonlandırılır. Bu nedenle hata, sertifika süresi veya zincir gibi konulardan bağımsız olarak ortaya çıkabilir.
- Sorun yalnızca büyük sayfalarda veya dosya indirirken çıkıyorsa MTU/parçalanma şüphelidir.
- Yalnızca belirli bir sağlayıcıda çıkıyorsa operatör kaynaklı paket manipülasyonu olabilir.
- Sunucu yeniden başlatınca düzeliyorsa oturum bileti (session ticket) anahtarlarını kümedeki tüm düğümlerde eşitleyin.