Cipher suite, bir TLS bağlantısında anahtar değişimi, kimlik doğrulama, toplu şifreleme ve bütünlük için kullanılacak algoritma kombinasyonudur. İstemci desteklediği paketleri listeler, sunucu birini seçer. Yanlış liste hem güvenliği hem uyumluluğu bozar.
Bir cipher suite adını okumak
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 adı şunları söyler: anahtar değişimi ECDHE, sertifika imzası RSA, toplu şifreleme AES-128-GCM, özetleme SHA-256. TLS 1.3'te paket adları kısalmıştır (ör. TLS_AES_256_GCM_SHA384) ve anahtar değişimi ayrıca yapılandırılır.
Tercih edilecekler
- ECDHE anahtar değişimi (forward secrecy sağlar).
- AES-GCM veya ChaCha20-Poly1305 gibi AEAD şifreleme.
- TLS 1.2 ve 1.3 protokolleri.
Kapatılacaklar
- RC4, DES, 3DES, export sınıfı ve NULL cipher'lar.
- Anonim (aNULL) anahtar değişimi.
- CBC tabanlı eski paketler, uyumluluk gerektirmiyorsa.
- SSL 3.0, TLS 1.0 ve 1.1.
Nginx ve Apache örneği
# Nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
# Apache
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384
Doğrulama
- Sunucunun kabul ettiği paketleri
nmap --script ssl-enum-ciphers -p 443 alanadi.comile listeleyin. - Belirli bir paketi deneyin:
openssl s_client -connect alanadi.com:443 -cipher ECDHE-RSA-AES128-GCM-SHA256. - Genel görünüm için SSL denetleyici kullanın.
Sık yapılan hatalar
- Listeyi çok daraltıp eski ama gerekli istemcileri (ör. bazı kurumsal ağ cihazları) kopartmak.
- TLS 1.3 paketlerini
ssl_ciphersile yönetmeye çalışmak; bu paketler ayrı mekanizmayla ayarlanır. - ECDSA paketlerini açıp sunucuda RSA sertifikası kullanmak; sertifika türü ile paket uyumlu olmalıdır.
- Değişiklik sonrası yapılandırmayı test etmeden yeniden yüklemek:
nginx -tveyaapachectl configtestkullanın.
Kendi listenizi icat etmek yerine Mozilla'nın yayımladığı yapılandırma önerilerini temel alın ve değişiklikten sonra eski istemcilerinizi test edin. Sertifika tarafı için SSL sertifikaları sayfasına bakabilirsiniz.