Firefox ile sunucu arasında ortak bir şifre takımı (cipher suite) bulunamadığında bu hata çıkar. Bugün görülen en yaygın sebep, sunucunun eski ve artık güvenli sayılmayan şifrelerle sınırlı kalmasıdır.
Kavram
TLS el sıkışmasında istemci desteklediği şifre takımlarını sıralar, sunucu bunlardan birini seçer. Kesişim boşsa bağlantı kurulamaz.
Nedenler
- Sunucuda yalnızca RC4, 3DES veya CBC tabanlı eski takımların açık olması
- Aşırı kısıtlayıcı
ssl_ciphers/SSLCipherSuitelistesi - Sertifika anahtar türü ile şifre ailesinin uyuşmaması
Kontrol
nmap --script ssl-enum-ciphers -p 443 ornek.com
Çıktıda TLS 1.2 altında modern takımlar (ör. ECDHE ile AES-GCM) görünmüyorsa yapılandırmayı güncelleyin.
Çözüm örnekleri
Apache:
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384
Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
TLS 1.3 takımları ayrıca yapılandırılmaz, protokol etkinleştirildiğinde kullanılır. Yapılandırmadan sonra servisi yeniden yükleyip test edin.
İpucu
Liste hazırlarken güncel öneri araçlarına başvurun ve SSL Checker ile sonucu doğrulayın. Hata eski bir sunucu yazılımından kaynaklanıyorsa OpenSSL sürümünü yükseltmek çoğu zaman gerekir. Daha fazla rehber için bilgi bankamıza göz atın.
Eski sunucu yazılımı sorunu
Yıllardır güncellenmemiş bir sunucuda OpenSSL ya da Schannel sürümü modern takımları desteklemiyor olabilir. Bu durumda yapılandırma dosyasını düzeltmek yetmez; yazılımın kendisi yükseltilmelidir.
- Linux'ta
openssl versionile kütüphane sürümünü öğrenin. - Windows Server'da şifre takımı sırası, grup ilkesi ile ("SSL Cipher Suite Order") yönetilir; bu ilkenin aşırı kısıtlayıcı olup olmadığına bakın.
- Java tabanlı sunucularda (Tomcat) JDK sürümü ve
jdk.tls.disabledAlgorithmsayarı etkilidir.
Değişikliklerden sonra hem Firefox'ta hem başka bir istemcide test yapın; yalnızca tek tarayıcıda denemek yanıltıcı olabilir.