SSL Sertifikası

IIS SSL: A fatal alert was generated and sent

IIS olay günlüğündeki Schannel 'fatal alert' kaydı, TLS el sıkışmasının neden koptuğunu gösterir. Alert kodlarını okumayı ve düzeltmeyi anlatıyoruz.

Windows Olay Görüntüleyicisi'nde (System günlüğü, kaynak Schannel) "A fatal alert was generated and sent to the remote endpoint. The TLS protocol defined fatal error code is 40" benzeri kayıtlar görürsünüz. Bu mesaj tek başına hatayı değil, el sıkışmanın kesildiğini bildirir; ayırt edici bilgi sondaki alert kodudur.

Sık görülen alert kodları

  • 40 (handshake failure): istemci ile sunucu ortak protokol veya şifre paketi bulamadı.
  • 42 / 43 / 44 (bad/unsupported/revoked certificate): sertifika sorunlu.
  • 46 (certificate unknown): istemci sertifikayı kabul etmedi.
  • 48 (unknown CA): zincir güvenilmiyor.
  • 70 (protocol version): protokol sürümü uyuşmuyor.

Çözüm adımları

  1. Hangi istemcinin bağlandığını belirleyin: eski bir tarayıcı, eski .NET uygulaması, bir tarayıcı botu olabilir. Hata çoğunlukla tek tip istemciden gelir.
  2. Sunucuda TLS 1.2'nin açık olduğundan emin olun. Windows Server 2012 R2 ve sonrası TLS 1.2'yi destekler; .NET uygulamaları için güçlü şifreleme ayarlarının etkin olması gerekebilir.
  3. Şifre paketi sırasını ve protokolleri yönetmek için kayıt defteri yerine IIS Crypto gibi bir araçla şablon uygulayabilirsiniz; değişiklikten önce yedek alın, yeniden başlatma gerekebilir.
  4. Sertifikanın zincirini sınayın: ara sertifikaların sunucuda kurulu olduğunu kontrol edin.
  5. İstemci sertifikası isteniyorsa "SSL Ayarları" altında gereksiz yere Gerekli seçili olmadığına bakın.
  6. Dışarıdan doğrulayın:
    openssl s_client -connect alanadi.com:443 -servername alanadi.com -tls1_2
    

Önleme

Gürültülü kayıtların bir kısmı tarama botlarından gelir ve zararsızdır; yalnızca gerçek kullanıcıların hata aldığı durumlarda müdahale edin. Yapılandırmanızı SSL denetleme aracıyla sınayın, takıldığınız noktada SSL sorun gidericiyi kullanın.

Ek ipuçları

Hata bir API istemcisi veya eski .NET uygulamasından geliyorsa, uygulamanın TLS 1.2'yi kullanacak şekilde yapılandırılması (hedef çerçeve sürümü ve sistem varsayılanı ayarları) gerekir. Sorunu yeniden üretmek için istemci makinesinden openssl s_client veya tarayıcı geliştirici araçlarıyla aynı bağlantıyı deneyin ve Schannel olay zaman damgasını eşleştirin.

Bu makale faydalı oldu mu?

Makale Ara

Sunucu SSL Hataları

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç