Merhaba arkadaşlar bugün konumuz TLS versiyonunu yükselttiğimiz uygulama sunucularının client-server arasındaki erişimde sorun yaşanacaktır.

Güvenlik için TLS v1.0 ve v1.1 ı kapatıyoruz tabi bunu yapmadan önce de Microsoft un sunduğu SQL check tool u ile kontrol ediyoruz.

İşte mevcut durum aşağıdaki gibidir.

Burada client da 1.0 ve 1.1 açık olsa bile sunucu tarafında kapalı ise yine sorun yaşayacağız demektir. Uçtan uca ayarlar aynı olmalıdır.

Bir sonra ki konu ise SQL Native client. Peki nedir bu SQL Native Client ?

  • SQL Server’a bağlanmak için gerekli ODBC/OLE DB sürücülerini sağlar.
  • Uygulama ile veri tabanı arasında veri alışverişini güvenli ve hızlı şekilde gerçekleştirir.
  • SQL Server özelliklerini (güvenlik, şifreleme, yeni veri tipleri vb.) destekler.

Burada TLS versiyon değişikliği sorun oluşturacaktır.

SQL Native Client 12 (11.0) desteklemezken 12 SP4 (11.4) TLS v1.2 yi desteklemektedir.

Bu durumda Microsoft un SQLCheck tool unu kullanmalıyız. Aşağıdaki linkten indirebilirsiniz.

İndir: https://github.com/microsoft/CSS_SQL_Networking_Tools/wiki/SQLCHECK

İndirdikten sonra aşağıdaki .exe yi çalıştırıyoruz ve bize bir TXT dosyası oluşturuyor. Burada bize ait client veya sunucunun TLS raporu çıkıyor.

Raporun içerisindeki TLS raporu aşağıdaki gibi görünmektedir.

Eğer regedit ile kapattıysanız aşağıdaki gibi görünecektir.

Aşağıdaki komutları CMD üzerinde çalıştırıp TLS v1.0 ve TLS v1.1 i kapatabilirsiniz.

TLS v1.0 Disable

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f

TLS v1.1 Disable

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v Enabled /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f

En son olarak da SQL Native Client 11.4 ü yüklemeliyiz. Artık sadece TLS v1.2 aktifken sorun yaşamayacaksınız.

SQL Native Client 12 SP4 (11.4) https://www.microsoft.com/en-us/download/details.aspx?id=56040

Kaynak: https://learn.microsoft.com/tr-tr/troubleshoot/sql/database-engine/connect/tls-upgrade-wkflow-1-2

Görüşmek üzere:)