🔐
Dijital Kimlik Lab PKI & Siber Güvenlik Mimarisi Portalı

SSL sertifika zinciri (certificate chain) kırık olan bir entegratör API'sine güvenli bağlantı kurmaya zorlamak için ne yapılmalı?

Bağlandığımız özel entegratörün E-Fatura API'si yakın zamanda SSL sertifikasını güncelledi ancak sunucu yapılandırmasında Intermediate (Ara) sertifikaları eklemeyi unuttukları için 'Sertifika zinciri (Certificate Chain) kırıktır veya doğrulanamadı' hatası (örneğin SEC_E_UNTRUSTED_ROOT) alıyoruz. Entegratör tarafındaki IT ekibi konuyu çözene kadar iş birimlerimiz fatura kesemedikleri için çok baskı yapıyor. Uygulama tarafında (C# .NET) ServerCertificateValidationCallback metodunu kullanarak sertifika hatalarını yok saymaya ve geçici olarak güvenli bağlantıyı zorlamaya çalışıyoruz ancak bunun yaratabileceği yasal ve teknik risklerden emin değiliz. Sertifika zinciri kırık olan bir API'ye bu şekilde bypass koduyla bağlanmak ne gibi sonuçlar doğurur?
Durum: Çözüldü Kategori: Soru-Cevap

1 Cevap

✓

Karşılaştığınız durum, e-dönüşüm süreçlerinde sıkça rastlanan ve sunucu yöneticilerinin (entegratör tarafında) Root CA ile kendi (Leaf) sertifikaları arasındaki Intermediate (Ara) sertifikaları web sunucusuna bağlamaması (chainin eksik gönderilmesi) kaynaklı bir konfigürasyon hatasıdır. Müşteri memnuniyetsizliğini ve iş kesintisini engellemek amacıyla, kod seviyesinde ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; şeklinde bir bypass yazarak sertifika doğrulamasını devre dışı bırakmak, sektördeki en tehlikeli ve kesinlikle kaçınılması gereken antipattern'lerden biridir.

Bu kodu canlı sisteme (production) aldığınız anda, uygulamanız artık karşıdaki sunucunun gerçekten o entegratöre ait olup olmadığını doğrulamayı bırakır. Siber güvenlik perspektifinden, sisteminizi tam teşekküllü bir Man-in-the-Middle (MitM) saldırısına sonuna kadar açık hale getirmiş olursunuz. Yerel ağınızdaki bir zararlı yazılım (malware) veya internet çıkışınızdaki yönlendiricinize sızmış bir saldırgan (örneğin gelişmiş bir ransomware grubuna ait arka kapı), entegratörün IP'sine giden trafiği kendi sunucusuna yönlendirebilir ve sahte bir sertifika sunabilir. Sizin uygulamanız her koşulda "true" döndürdüğü için, tüm e-fatura XML içerikleri, vergi numaraları, finansal tutarlar ve en önemlisi API kimlik doğrulama anahtarlarınız (API Keys/Tokens) saldırganın eline açık metin (plaintext) olarak geçer. Bu verilerle saldırganlar sizin adınıza sahte faturalar düzenleyebilir veya mevcut verilerinizi şifreleyerek fidye talep edebilir.

Adli bilişim (forensics) açısından, böyle bir bypass kodu yazıldığı sonradan tespit edildiğinde, veri sızıntısının sorumluluğu doğrudan sizin kurumunuza (veya geliştirici ekibe) kalacaktır. Çünkü API güvenlik katmanını kasıtlı olarak devreden çıkarmış oluyorsunuz. Ayrıca e-imza ve FIPS donanım standartlarına uyumluluk beklenen finansal regülasyonlara da ters düşmüş olursunuz.

Bu durumun doğru ve güvenli çözümü, kendi kodunuzda güvenlik zaafiyeti yaratmak (bypass etmek) değildir. Eğer entegratör sorunu çözmekte gecikiyorsa, geçici çözüm olarak eksik olan Intermediate (Ara) sertifikayı entegratörün kullandığı Sertifika Otoritesi'nin (CA) resmi web sitesinden veya CRL/OCSP detaylarından tespit edip indirerek, kendi sunucularınızın veya istemci bilgisayarlarınızın İşletim Sistemi Güvenilen Ara Sertifika Otoriteleri (Intermediate Certification Authorities) deposuna (Windows Certificate Store) manuel olarak yüklemektir. İşletim sistemi bu ara sertifikayı yerel deposundan bulduğunda zinciri (chain) kendi içinde tamamlayacak ve bağlantıyı güvenli ve şifreli bir şekilde (kodda hiçbir bypass yapmadan) kurabilecektir.

Yanıtlayan
Siber Güvenlik Uzmanı O.