SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama
SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama

Tüm Kayıtlar

Kategori Kriptografik Yanlış Yapılandırma
Tipik Önem Derecesi Yüksek
OWASP A02:2021 – Kriptografik Hatalar
CWE CWE-326 – Yetersiz Şifreleme Gücü; CWE-327 – Bozuk veya Riskli Kriptografik Algoritma Kullanımı
Diğer adları Zayıf şifreler, güvensiz şifre takımları, bozuk şifre müzakeresi, kullanımdan kaldırılmış şifre desteği
Etkilenen sistemler Web sunucuları, yük dengeleyiciler, API ağ geçitleri, posta sunucuları, VPN uç noktaları — TLS bağlantılarını sonlandıran her hizmet
İlgili standartlar RFC 8446 (TLS 1.3), RFC 7525 (BCP 195), NIST SP 800-52 Rev. 2, PCI DSS Gereksinim 4

Genel Bakış

TLS şifre takımı, bir TLS oturumunu birlikte yöneten dört kriptografik algoritmadan oluşan adlandırılmış bir kombinasyondur: anahtar değişim mekanizması, kimlik doğrulama algoritması, toplu şifreleme şifresi ve mesaj kimlik doğrulama kodu (MAC). TLS el sıkışması sırasında istemci desteklediği takımların listesini sunar ve sunucu bunlardan birini seçer. Bir sunucu, kriptografik açıdan bozulmuş ya da yetersiz güçlü temellere dayanan şifre takımlarını kabul edecek şekilde yapılandırıldığında, sertifikanın kendisi geçerli olsa bile ortaya çıkan bağlantı pasif şifre çözme, aktif müdahale veya oturum ele geçirme saldırılarına karşı savunmasız hale gelir.

Sensagraph, hedef sunucunun kabul ettiği şifre takımlarını otomatik olarak numaralandırır ve mevcut kriptografik standartlara göre zayıf ya da kullanımdan kaldırılmış olanları işaretler.

Nasıl çalışır?

TLS el sıkışması sırasında (TLS 1.3 için RFC 8446'da, önceki sürümler için ilgili RFC'lerde tanımlanan) sunucu, istemcinin sunduğu listeden bir şifre takımı seçer ya da önerir. Zayıflıklar dört bileşenden birinde veya birkaçında ortaya çıkar:

  • Zayıf anahtar değişimi: Anonim Diffie-Hellman (ADH/NULL), RSA anahtar taşıma (öne yönelik gizlilik yok), ihracat sınıfı 512-bit DH veya RSA (FREAK ve Logjam saldırıları tarafından istismar edilir) ya da geçici anahtarlar olmadan statik ECDH.
  • Bozuk toplu şifreler: RC4 (RFC 7465 kullanımını yasaklar — yanlılıklar düz metin kurtarmaya olanak tanır), DES ve 3DES (56-bit ve 112-bit efektif anahtar uzunlukları; 3DES CBC modunda Sweet32 doğum günü saldırısı geçerlidir), NULL şifreleme (hiç gizlilik yok) ve EXPORT sınıfı şifreler (40–56 bit anahtar uzunlukları).
  • Zayıf MAC'ler: MD5 ve SHA-1 tabanlı MAC'ler (çarpışma güvenlik açıkları; BEAST saldırısı, TLS 1.0'da öngörülebilir IV'lerle CBC modunu istismar eder).
  • Protokol sürümü bağımlılığı: SSL 2.0 ve 3.0 tamamen bozulmuş durumdadır (POODLE, DROWN). TLS 1.0 ve 1.1 bilinen zayıflıklara sahiptir ve 2021'de RFC 8996 ile resmi olarak kullanımdan kaldırılmıştır.
  • Sürüm düşürme saldırıları: Bir sunucu hem güçlü hem de zayıf takımları destekliyorsa, aktif bir ağ saldırganı (örneğin TLS_FALLBACK_SCSV bypass yoluyla) daha zayıf bir takımın seçilmesini zorlamak için sürüm düşürme saldırısı gerçekleştirebilir.

Zayıf şifre takımı dizelerinin yaygın örnekleri arasında TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_DES_CBC_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA ve _EXPORT_, _anon_ veya _NULL_ içeren tüm takımlar sayılabilir.

İş etkisi

Zayıf şifre takımlarının istismar edilmesi şu sonuçlara yol açabilir:

  • Gizlilik ihlali: Ağa erişimi olan bir saldırgan (örneğin paylaşımlı bir ağda, ISP düzeyinde veya BGP ele geçirme yoluyla) oturum verilerini çözebilir; kimlik bilgilerini, oturum jetonlarını, kişisel verileri ve iş açısından hassas iletişimleri ele geçirebilir.
  • Bütünlük kaybı: Zayıf MAC'ler veya NULL şifre yapılandırmaları, aktif saldırganların aktarımdaki verileri tespit edilmeden enjekte etmesine veya değiştirmesine izin verir.
  • Düzenleyici ve uyumluluk cezaları: PCI DSS, kart sahibi veri ortamları için TLS 1.0 ve zayıf şifre takımlarını açıkça yasaklamaktadır. HIPAA, GDPR ve SOC 2 çerçeveleri yeterli şifreleme gerektirmektedir. Uyumsuzluk; para cezalarına, denetim başarısızlıklarına ve ödeme işleme haklarının kaybına yol açabilir.
  • İtibar hasarı: Zayıf şifreleme yapılandırmalarının kamuoyuna açıklanması, özellikle finans, sağlık ve e-ticaret operatörleri için müşteri güvenini zedeler.
  • Öne yönelik gizlilik kaybı: Geçici anahtar değişimi içermeyen şifre takımları (örneğin statik RSA), sunucunun özel anahtarının gelecekte ele geçirilmesi durumunda önceden yakalanan tüm trafiğin geriye dönük olarak deşifre edilmesine olanak tanır.

Nasıl düzeltilir?

  1. SSLv2, SSLv3, TLS 1.0 ve TLS 1.1'i devre dışı bırakın. Sunucuları yalnızca TLS 1.2 ve TLS 1.3'ü destekleyecek şekilde yapılandırın. RFC 8996, TLS 1.0 ve 1.1'i resmi olarak kullanımdan kaldırmıştır; büyük tarayıcıların çoğu bu sürümler için desteği kaldırmıştır.
  2. TLS 1.3 şifre takımlarını tercih edin. TLS 1.3, tasarım gereği zayıf temelleri ortadan kaldırır. Üç zorunlu şifre takımı (TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256) hepsi öne yönelik gizlilikle birlikte AEAD şifrelemesi kullanır.
  3. TLS 1.2 için geçici anahtar değişimine sahip güçlü AEAD takımlarıyla sınırlayın: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ve TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 gibi takımları önceliklendirin. Padding oracle riskleri nedeniyle mümkün olduğunda CBC modundaki takımlardan kaçının.
  4. Zayıf takımları sunucu yapılandırmasından açıkça kaldırın: Tüm RC4, DES, 3DES, EXPORT, NULL ve anonim (anon) şifre takımlarını devre dışı bırakın. MD5 ve SHA-1 tabanlı MAC'leri kaldırın.
  5. TLS_FALLBACK_SCSV'yi etkinleştirin (RFC 7507), istemcilerin yanlışlıkla daha düşük protokol sürümlerine geri dönmesiyle oluşan protokol sürümü düşürme saldırılarını engellemek için.
  6. Sunucu taraflı şifre sırası tercihini kullanın (Apache'de SSLHonorCipherOrder on; Nginx'te ssl_prefer_server_ciphers on), sunucunun daha güçlü takımlarının zayıf istemci tercihlerine karşı seçilmesini sağlamak için.
  7. Güçlü DH parametreleri kullanın. TLS 1.2 için DHE anahtar değişimi kullanıyorsanız, Logjam saldırısını önlemek amacıyla en az 2048 bit uzunluğunda özel bir DH parametre grubu oluşturun (openssl dhparam -out dhparam.pem 2048).
  8. Yetkili araçlarla doğrulayın. Yeniden yapılandırmanın ardından Qualys SSL Labs Sunucu Testi ile test edin (A veya A+ derecelendirmesini hedefleyin) ve OpenSSL kullanarak şifre listesini doğrulayın: openssl s_client -connect host:443 -cipher 'RC4' komutu el sıkışma hatası döndürmelidir.
  9. Mozilla'nın TLS yapılandırma oluşturucusuna başvurun — Apache, Nginx, HAProxy ve diğer yaygın sunucular için güncel önerilen yapılandırmalar için (Referanslar bölümünde bağlantı verilmiştir).

Referanslar

Sıkça sorulan sorular

Bir şifre takımı; bilinen pratik saldırılara, yetersiz anahtar uzunluklarına veya tasarım hatalarına sahip kriptografik algoritmalar kullandığında zayıf olarak değerlendirilir. Spesifik örnekler arasında RC4 (düz metin kurtarmayı mümkün kılan istatistiksel yanlılıklar), DES/3DES (yetersiz anahtar uzunlukları ve Sweet32 doğum günü saldırıları), NULL şifreleme (hiç gizlilik yok), EXPORT sınıfı şifreler (40–56 bit anahtarlar), anonim anahtar değişimi (kimlik doğrulama yok) ve TLS 1.0 altında BEAST tarzı saldırılara açık CBC modlu takımlar sayılabilir.

Hayır. TLS 1.2, bozulmuş olanlar dahil çok sayıda şifre takımını destekler. TLS 1.2 çalıştıran bir sunucu, RC4, 3DES, NULL, EXPORT veya anon takımlarını kabul ediyorsa ya da geçici anahtarlar olmadan RSA anahtar değişimi kullanıyorsa (öne yönelik gizliliği kaybederek) hâlâ savunmasız olabilir. TLS 1.2'yi açıkça geçici anahtar değişimine sahip güçlü AEAD takımlarıyla sınırlamanız gerekir (örneğin ECDHE).

Bunlar birbiriyle ilişkili ancak farklı kavramlardır. TLS protokol sürümü (örneğin TLS 1.0, SSL 3.0), genel el sıkışma ve kayıt katmanı protokolünü tanımlar; bazı sürümler temel ve düzeltilemez hatalara sahiptir (örneğin SSL 3.0'da POODLE). Şifre takımı ise belirli bir protokol sürümü içinde müzakere edilen kriptografik algoritmaları belirtir. Bir sunucu, kabul edilebilir bir protokol sürümü olan TLS 1.2 çalıştırırken hâlâ bozulmuş şifre takımlarını kabul edebilir. Her iki boyutun da doğru yapılandırılması gerekir.

Öne yönelik gizlilik (veya Mükemmel İleri Gizlilik, PFS), sunucunun uzun vadeli özel anahtarının ele geçirilmesinin önceden yakalanan oturum trafiğinin deşifre edilmesine izin vermediği anlamına gelir. Her oturum için benzersiz, geçici bir anahtar çifti oluşturularak ve ardından imha edilerek geçici anahtar değişim algoritmaları (ECDHE veya DHE) kullanılarak elde edilir. Statik RSA anahtar değişimine dayanan şifre takımları (örneğin TLS_RSA_WITH_AES_128_CBC_SHA) öne yönelik gizlilikten yoksundur; bu da gelecekteki bir anahtar ihlalinin geçmişteki tüm şifreli trafiği açığa çıkaracağı anlamına gelir.

Evet. PCI DSS Gereksinim 4, kart sahibi verilerinin iletimi için güçlü kriptografi kullanılmasını zorunlu kılmaktadır. PCI DSS v3.2.1 ve sonrası, TLS 1.0'ı açıkça yasaklamakta ve zayıf şifre takımlarından uzaklaşılmasını gerektirmektedir. Kart sahibi veri ortamlarında RC4, DES, EXPORT şifreleri veya SSLv3/TLS 1.0 kullanımı, uyumluluk ihlali oluşturur ve denetim başarısızlığına ile ödeme işleme yeteneklerinin kaybına yol açabilir.

Desteklenen şifre takımlarını OpenSSL kullanarak sıralayabilirsiniz: 'openssl s_client -connect <host>:443 -cipher <suite-name>' komutunu çalıştırın ve el sıkışmanın başarılı olup olmadığını gözlemleyin. Kapsamlı otomatik analiz için Qualys SSL Labs (https://www.ssllabs.com/ssltest/), desteklenen tüm protokoller, şifre takımları ve bilinen güvenlik açıklarının ayrıntılı dökümünü genel bir derecelendirmeyle birlikte sunar.