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 TLS / PKI Yanlış Yapılandırması
Tipik Önem Düzeyi Orta
OWASP A02:2021 – Kriptografik Başarısızlıklar
CWE CWE-295: Hatalı Sertifika Doğrulaması
İlgili RFC RFC 5246 (TLS 1.2), RFC 8446 (TLS 1.3), RFC 5280 (X.509 PKI)
Diğer adları Eksik ara sertifika, bozuk güven zinciri, güvenilmeyen sertifika zinciri
Etkilenen sistemler Sertifika paketini doğru yapılandırmayan herhangi bir HTTPS web sunucusu, API uç noktası veya TLS etkin hizmet

Genel Bakış

X.509 Açık Anahtar Altyapısı (PKI) modelinde güven, hiyerarşik bir zincir aracılığıyla kurulur: güvenilir bir kök Sertifika Otoritesi (CA), bir veya daha fazla ara CA'yı imzalar; bu ara CA'lar da son-varlık (sunucu) sertifikalarını imzalar. Tarayıcılar ve işletim sistemleri, güvenilir kök CA sertifikalarını içeren bir depoyla birlikte gelir ancak genellikle ara sertifikaları önceden önbelleğe almaz.

Eksik sertifika zinciri, bir TLS sunucusunun yalnızca kendi son-varlık sertifikasını — ya da zincirin eksik bir alt kümesini — gerekli ara CA sertifikaları olmadan göndermesi durumunda ortaya çıkar. Bu ara sertifikaları önbellekte bulundurmayan istemciler, sunucunun kimliğini bağımsız olarak doğrulayamaz; bu da TLS el sıkışması hatalarına veya tarayıcı güvenlik uyarılarına yol açar.

Nasıl çalışır?

TLS el sıkışması sırasında (RFC 5246 / RFC 8446'da tanımlanan), sunucunun kendi sertifikasını ve isteğe bağlı olarak güvenilir köke kadar uzanan (ancak genellikle kök dahil edilmeden) ek sertifikaları göndermesi gerekir. Ayrıntılı mekanizma şu şekildedir:

  • Certificate mesajı: Sunucu, DER kodlu sertifikaların sıralı bir listesini içeren bir Certificate el sıkışması mesajı gönderir. İlk girdi sunucunun kendi sertifikası olmalıdır; sonraki girdiler köke doğru sıralanmış ara CA sertifikaları olmalıdır.
  • İstemci yol oluşturma: İstemci, sunucu sertifikasından yerel güven deposundaki güvenilir bir köke kadar bir sertifikasyon yolu oluşturmaya çalışır. Bir ara CA sertifikası sunucunun mesajında yoksa ve yerel olarak önbellekte bulunmuyorsa yol oluşturma başarısız olur.
  • AIA getirme (güvenilmez yedek): Bazı istemciler (özellikle Windows/IE), sunucu sertifikasındaki Yetkilendirme Bilgisi Erişimi (AIA) uzantısını takip ederek eksik ara sertifikaları HTTP üzerinden indirebilir. Ancak bu davranış evrensel değildir — birçok istemci (katı mobil uygulamalar, IoT cihazları, AIA desteği olmayan curl ve bazı tarayıcılar) AIA takibini gerçekleştirmez ve bu da kesin hatalara neden olur.
  • Yanlış yapılandırma nedeni: Sorun en yaygın olarak, bir yöneticinin CA tarafından sağlanan ara CA sertifikasını paketlemeksizin yalnızca sunucu sertifikası dosyasını yüklemesi ya da web sunucusu yapılandırmasının (örn. Apache SSLCertificateChainFile, Nginx ssl_certificate paketi) hatalı ayarlanması durumunda ortaya çıkar.

İş etkisi

Pratik sonuçlar, istemcinin toleransına ve önbellek durumuna bağlıdır:

  • Bozuk kullanıcı deneyimi: Firefox gibi tarayıcılar (AIA takibini gerçekleştirmez) kesin bir güven hatası görüntüler ve kullanıcıların siteye erişmesini tamamen engeller. Bu durum dönüşüm oranlarını doğrudan düşürür ve kullanıcı güvenini zedeler.
  • API ve otomasyon hataları: Sunucular arası entegrasyonlardaki HTTP istemcileri (ödeme ağ geçitleri, webhook'lar, CI/CD hatları, mobil SDK'lar) genellikle katı zincir doğrulaması uygular ve bağlantıyı reddeder; bu da kritik iş akışlarını aksatabilir.
  • Uyumluluk riski: PCI DSS, HIPAA ile ilgili rehberler ve diğer çerçeveler doğru şekilde yapılandırılmış TLS gerektirir. Eksik bir zincir, denetimler sırasında işaretlenebilecek yanlış yapılandırma kanıtıdır.
  • İtibar hasarı: Sertifika hatası görüntüleyen halka açık hizmetler, müşteri güvenini zayıflatır ve arama motorları veya güvenlik derecelendirme platformları tarafından işaretlenebilir.
  • Aralıklı hatalar: Bazı istemciler ara sertifikaları önceki bağlantılardan önbelleğe aldığından, hatalar aralıklı görünebilir ve yeniden oluşturulması güç olabilir; bu da olay müdahalesini karmaşıklaştırır.

Nasıl düzeltilir?

  1. CA'nızdan tam sertifika paketini alın: CA'nız bir sertifika verdiğinde, ara CA sertifikası/sertifikaları da sağlar. Tam zincir dosyasını indirin (genellikle ca-bundle.crt, chain.pem veya benzeri etiketle sunulur).
  2. Web sunucunuzu tam zinciri sunacak şekilde yapılandırın:
    • Nginx: Sunucu sertifikanızı ve tüm ara sertifikaları tek bir PEM dosyasında sırayla birleştirin (önce sunucu sertifikası, ardından ara sertifikalar). ssl_certificate /path/to/fullchain.pem; ile referans verin.
    • Apache: Sunucu sertifikası için SSLCertificateFile direktifini kullanın ve SSLCertificateChainFile direktifini (Apache 2.4.7 ve öncesi) ya da SSLCertificateFile tarafından referans verilen aynı dosyaya ara sertifikaları ekleyin (Apache 2.4.8+).
    • IIS: Ara sertifikaları içeren tam PKCS#12 (.pfx) paketini içe aktarın ya da ara sertifikaları sunucunun Ara Sertifikasyon Yetkilileri deposuna manuel olarak yükleyin.
    • HAProxy / Yük dengeleyiciler: Yapılandırılmış sertifika yolunda tam zinciri içeren bir PEM paketi sağlayın.
  3. Dağıtım sonrasında zinciri doğrulayın: openssl s_client -connect example.com:443 -showcerts gibi bir araç kullanın ve tüm ara sertifikaların döndürüldüğünü doğrulayın. SSL Labs'ın SSL Server Test gibi çevrimiçi araçlar da zincir bütünlüğünü raporlar.
  4. Sertifika yönetimini otomatikleştirin: ACME tabanlı otomasyon kullanın (örn. Certbot, Kubernetes için cert-manager); bu sistemler tam sertifika zincirini otomatik olarak temin eder ve yeniler, böylece insan hatasını azaltır.
  5. AIA takibine güvenmeyin: İstemcilerin eksik ara sertifikaları otomatik olarak getireceğini asla varsaymayın. Her zaman tam zinciri açıkça sunun.
  6. Sürekli izleyin: Sertifika yenilemeleri sonrasındaki gerilemeleri yakalamak için çalışma süresi ve TLS izleme yığınınıza sertifika zinciri doğrulaması ekleyin. Sensagraph, otomatik TLS taramasının bir parçası olarak eksik sertifika zincirlerini tespit eder.

Referanslar

Sıkça sorulan sorular

Eksik sertifika zinciri, bir TLS sunucusunun istemcinin sunucu kimliğini doğrulaması için gerekli tüm ara CA sertifikalarını göndermediği durumdur. Sunucu sertifikasından güvenilir bir kök CA'ya tam yolu oluşturamayan istemciler, TLS el sıkışmasını başaramaz veya güvenlik uyarısı görüntüler.

Chrome (ve Windows'ta diğer Chromium tabanlı tarayıcılar), sunucu sertifikasındaki Yetkilendirme Bilgisi Erişimi (AIA) uzantısını takip ederek eksik ara sertifikaları otomatik olarak indirebilir. Firefox AIA takibini gerçekleştirmediğinden tamamen sunucunun gönderdiği verilere güvenir. Bu nedenle eksik zincir Firefox'ta anında başarısız olurken Chrome'da AIA üzerinden getirilirse veya önbellekte bulunuyorsa çalışabilir.

Şunu çalıştırın: openssl s_client -connect alanadi.com:443 -showcerts ve çıktıyı inceleyin. Zincirdeki her sertifika (sunucu sertifikası ve tüm ara sertifikalar) BEGIN CERTIFICATE ile END CERTIFICATE işaretçileri arasında görünmelidir. Qualys SSL Labs'ın SSL Server Test gibi çevrimiçi araçlar da zincirin eksiksiz ve doğru sırada olup olmadığını raporlar.

Geleneksel anlamda istismar edilebilir bir güvenlik açığından ziyade bir yanlış yapılandırmadır. Ancak TLS güven modelini doğrudan zayıflatır, hizmet kesintilerine neden olabilir ve CWE-295 (Hatalı Sertifika Doğrulaması) kapsamında sınıflandırılır; zira istemcilerin hatalı güven kararları vermesine veya tamamen bağlanamamasına yol açabilir.

Evet, dolaylı olarak etkiler. Eksik ara sertifikaları kurtarmak için AIA takibi yapmaya çalışan istemciler, TLS el sıkışması sırasında ek HTTP istekleri yapmalıdır ve bu gecikmeyi artırır. Başarısız bağlantılar veya tekrarlanan yeniden denemeler de sunucu ve istemci kaynaklarını tüketir. Tam zinciri sunmak bu ek yükü ortadan kaldırır.