Bu makalede TLS yapısını ve Alwayson üzerindeki etkilerini detaylı bir şekilde görmüş olacağız. Bu makaleye geçmeden önce yaşanılan senaryoya değinmek gerekirse 2 node’lu AG yapısında çalışan secondary sunucusunda secondary replica üzerinde çarpı işareti olduğu gözlemlendi. Failover Cluster Manager’de de ilgili node pasif görünüyor ve AG iletişimi kopmuş durumda. Aşağıdaki resimde görülmektedir.

Replica çarpı işareti görünmesine rağmen secondary instance’a bağlanabiliyorum. Ayrıca primary sunucusundan secondary sunucusuna ping işlemide gerçekleştiriyorum.


Bu sorunu yaşamamızın sebebi secondary sunucuya farklı bir TLS yüklenmesinden kaynaklanmaktadır. RDP üzerinden secondary sunucusuna bağlantı sağlayamadığımızdan dolayı secondary sunucusu management port üzerinden sunucumuza bağlanmış olduk.
Şimdi yüklenen TLS yapısının nereden silindiğini TLS yapısının ne olduğunu detaylı bir şekilde açıklayalım.
SSL (Secure Sockets Layer) sertifikası, bir web sitesi ile kullanıcı arasındaki iletişimi güvenli hale getiren bir protokoldür ve özellikle kişisel bilgilerin, ödeme bilgileri gibi hassas verilerin korunmasına yardımcı olur. SSL, günümüzde çoğunlukla TLS (Transport Layer Security) olarak adlandırılır, ancak SSL terimi hala yaygın olarak kullanılır.
TLS (Transport Layer Security), ağ üzerinden yapılan iletişimi şifreleyen bir güvenlik protokolüdür. SQL Server Always On Availability Groups (AG) gibi veri tabanı çözümleri, düğümler (nodes) arasında güvenli bir bağlantı kurmak için TLS protokolünü kullanabilir.
TLS’in yanlış yapılandırılması veya uyumsuz bir sürümünün yüklenmesi, Always On replikalarının birbirleriyle iletişim kurmasını engelleyebilir. Bu durumda, belirli düğümler erişilemez hale gelebilir, replikasyon başarısız olabilir ve Availability Group (AG) üyeleri arasında kopukluk yaşanabilir.
1.Sorunun Kaynağı: TLS Yapılandırması ve Always On İletişimi
- Always On AG, düğümler arasında TCP/IP ve güvenli bağlantı (TLS/SSL) kullanarak veri eşitlemesi yapar.
- Yanlış TLS yapılandırması, Always On Replica’ların birbirleriyle iletişim kurmasını engelleyebilir.
- TLS registry ayarlarında yapılan yanlış bir değişiklik (örneğin, uyumsuz bir TLS sürümü etkinleştirilmesi veya kaldırılması) bağlantı şifrelemesini bozabilir ve Always On replikalarının haberleşmesini durdurabilir.
- Sonuç olarak, Always On Failover Cluster, ilgili node’un bağlantısını keser ve AG replikasının kırmızı çarpı ile kopuk olduğunu gösterir.
2. Sorunu Çözmek İçin Yapılan Adımlar
- Management Port üzerinden sorunlu node’a bağlanıp ve Registry Editor’ü açıyoruz.(regedit).
- TLS ile ilgili yüklenmiş yanlış kayıtları (registry keys) siliyoruz.
- Muhtemelen sizlerde de aynıdır şu anahtarlar üzerinde işlem yapıyoruz genellikle: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3 - Buradaki kayıtlar yanlış veya eksikse, SQL Server iletişim kuramaz. Yanlış olan kaydın belirlenip silinmesi gerekmektedir.
Yukarıdaki silme veya güncelleme işlemlerinden sonra aşağıdaki 1. adım yapılıp diğer adımlar sırasıyla gözlemlenmektedir.
- Sorunlu olan sunucuda güncelleme yaptıktan sonra yeniden başlatıyoruz.
- Yeniden başlatma sonrası Always On Availability Group üzerindeki kırmızı çarpı işareti kayboldu ve node tekrar senkron hale geldiğini görüyoruz.
- Failover Cluster ekranında çarpı olan node tekrar aktif hale geçti ve Always On Replica senkronizasyonu düzeldi.
Sonuç ve Özet
- Yanlış TLS yapılandırması, Always On AG düğümleri arasındaki şifreli bağlantıyı bozarak replikasyonun kopmasına sebep oldu.
- TLS ayarları regedit üzerinden düzeltilip sunucu yeniden başlatıldığında, Always On Replica tekrar bağlantı kurdu ve senkron hale geldi.
- Bu tür sorunları önlemek için Always On için gerekli olan TLS sürümlerinin açık olduğundan emin olunmalı ve herhangi bir güvenlik güncellemesi sonrası düğümler test edilmelidir.
Bu tarz bir sorun yaşanmaması için Always On yapılandırmasında TLS protokolüyle ilgili regedit ayarları ve bağlantı noktaları (Endpoints) düzenli olarak kontrol edilmelidir.
Bu makalede TLS yapısını ve Alwayson üzerindeki etkilerini görmüş olduk. Başka bir makalede görüşmek üzere..
“Ey iman edenler, sabırla ve namazla yardım dileyin. Gerçekten Allah, sabredenlerle beraberdir.” Bakara Suresi, 153. Ayet