Ana Sayfa

Distroless Konteynerlerde TLS Hatalarını Ayıklama: Güven Sorunu

1 dk okuma

Geçtiğimiz günlerde bir ekip, harici bir sağlayıcıyla HTTP üzerinden mTLS kullanarak iletişim kurarken bir TLS hatasıyla karşılaştı. Genellikle istemci sertifikalarından kaynaklandığı düşünülen bu tür sorunların aksine, bu seferki problem, istemcinin üçüncü taraf sunucu tarafından sunulan CA kök sertifikasına güvenmemesinden kaynaklanıyordu. Makale, bu tür sorunları gidermeden önce temel TLS kavramlarını hatırlatıyor. TLS (Transport Layer Security), istemci ve sunucu arasındaki iletişimi şifreleyen bir protokol olup, dinleme veya ortadaki adam saldırıları gibi riskleri önler.

TLS, bir genel anahtar ve bir özel anahtar içeren açık anahtar kriptografisini kullanır. Sunucunun kimliğini doğrulamak için kullanılan TLS sertifikası, genel anahtarı, sertifikayı veren Sertifika Yetkilisi (CA) bilgilerini ve son kullanma tarihini içerir. TLS el sıkışması sırasında, istemci sunucunun sertifikasını doğrular ve bu doğrulamalardan biri de sertifikayı imzalayan CA'ya güvenip güvenemeyeceğidir. Linux sistemlerinde güvenilen CA'ların listesi genellikle /etc/ssl/certs/ca-certificates.crt dosyasında bulunur.

Sorunu tespit etmek için ilk adım, üretimde tetiklenen bir uyarı ve günlüklerdeki TLS el sıkışma hatasıyla başlar. Sorunun sunucu sertifikası mı yoksa istemci sertifikasıyla mı ilgili olduğunu anlamak için yerel olarak yeniden üretmek önemlidir. Bunun için openssl s_client komutu kullanılabilir. Bu komut, harici sunucuya bağlanırken istemci genel sertifikası ve özel anahtarını belirterek mTLS bağlantısını test etmeye olanak tanır. Bu sayede sorunun kökeni hakkında ilk ipuçları elde edilebilir.

İçgörü

Distroless konteynerlerdeki TLS güven sorunları, dağıtılmış sistemlerin güvenliğini ve hizmet sürekliliğini doğrudan etkileyen kritik bir altyapı zorluğudur.

Kaynak