TLS 1.0 ve TLS 1.1, güvenlik açısından artık önerilmeyen protokollerdir. Daha güvenli olan TLS 1.2 ve TLS 1.3 sürümleri tercih edilmelidir. Bu eski sürümlerin kapatılması, güvenlik risklerini azaltmak için önemlidir.
TLS 1.0 ve 1.1’i Kapatma Adımları
1. Windows Sunucularında TLS Kapatma
TLS ayarları Windows kayıt defteri (Registry) üzerinden yönetilir. Kapatmak için:
Registry Editor’ü açın:
- Win + R tuşlarına basarak regedit yazın ve Enter’a basın.
- Registry Editor’ü açın.
Aşağıdaki yolu takip edin:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
TLS 1.0 ve 1.1 için alt anahtar oluşturun:
- Protocols anahtarına sağ tıklayın, Yeni > Anahtar seçeneğini tıklayın.
- Anahtar isimlerini şu şekilde oluşturun:
- TLS 1.0
- TLS 1.1
- Her bir anahtarın içine şu alt anahtarları ekleyin:
- Client
- Server
Değerleri Ayarlayın:
- Client ve Server alt anahtarlarına girin.
- Sağ tıklayın, Yeni > DWORD (32-bit) Değeri seçeneğini seçin.
- Enabled adında bir DWORD değeri oluşturun ve değerini 0 yapın.
Sunucuyu Yeniden Başlatın: Değişikliklerin etkili olması için sunucuyu yeniden başlatmanız gerekir.
2. IIS’de TLS Kapatma
IIS (Internet Information Services) üzerinde TLS 1.0 ve 1.1’i devre dışı bırakmak için yukarıdaki adımları uyguladıktan sonra IIS hizmetini yeniden başlatmanız gerekir.
Komut isteminde şu komutları çalıştırabilirsiniz:
iisreset /restart
3. Web Tarayıcı Ayarları
Bazı eski tarayıcılar hala TLS 1.0 veya 1.1 kullanabilir. Kullanıcıların modern tarayıcılar (Chrome, Edge, Firefox) kullanmasını sağlamak önemlidir. Eski tarayıcılarda TLS desteğini manuel olarak kapatabilirsiniz.
4. PowerShell ile Kapatma
Birden fazla sunucuda işlem yapıyorsanız PowerShell betiği kullanabilirsiniz:
# TLS 1.0 ve 1.1’i devre dışı bırakma
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client” -Force | Out-Null
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server” -Force | Out-Null
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client” -Force | Out-Null
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server” -Force | Out-Null
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client” -Name “Enabled” -Value 0
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server” -Name “Enabled” -Value 0
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client” -Name “Enabled” -Value 0
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server” -Name “Enabled” -Value 0
5. Etkiyi Kontrol Etme
TLS sürümlerini kapattıktan sonra hizmetlerin sorunsuz çalıştığından emin olun. Özellikle, web uygulamalarını ve API bağlantılarını test edin.
Eğer sorun yaşarsanız TLS 1.2 veya TLS 1.3’ün aktif olduğundan emin olun.
Windows Sunucularında TLS 1.2 ve 1.3’ü Etkinleştirme
Windows işletim sistemlerinde TLS protokolleri, kayıt defteri (Registry) ayarlarıyla yönetilir.
Kayıt Defteri Ayarları
- Registry Editor’ü açın:
- Win + R tuşlarına basın, regedit yazıp Enter’a basın.
- Aşağıdaki yola gidin:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
- TLS 1.2 ve TLS 1.3 anahtarlarını oluşturun:
- Protocols anahtarına sağ tıklayın, Yeni > Anahtar seçeneğini seçin.
- TLS 1.2 ve TLS 1.3 adında iki yeni anahtar oluşturun.
- Her bir anahtarın altında şu alt anahtarları ekleyin:
- Client
- Server
- Değerleri Ayarlayın:
- Client ve Server alt anahtarlarına gidin.
- Sağ tıklayın, Yeni > DWORD (32-bit) Değeri seçeneğini seçin.
- Aşağıdaki değerleri oluşturun ve ayarlayın:
- Enabled: Değer = 1 (Etkinleştirir)
- DisabledByDefault: Değer = 0 (Devre dışı bırakmaz)
2. TLS 1.3 Not:
TLS 1.3, Windows Server 2022 ve Windows 11’den itibaren yerleşik olarak desteklenir. Eski sistemlerde TLS 1.3 kullanılamaz.
TLS 1.3’ün aktif olup olmadığını kontrol etmek için işletim sistemi sürümünüzün uyumlu olduğundan emin olun.
3. Group Policy (GPO) ile Etkinleştirme
Eğer bir Active Directory ortamında çalışıyorsanız, TLS protokollerini etkinleştirmek için Grup İlkesi’ni kullanabilirsiniz.
- Grup İlkesi Yönetim Konsolu’nu (GPMC) açın.
- Yeni bir GPO oluşturun veya var olan bir GPO’yu düzenleyin.
- Bilgisayar Yapılandırması > İlkeler > Yönetim Şablonları > Ağ > SSL Yapılandırması bölümüne gidin.
- TLS 1.2 ve TLS 1.3’ü etkinleştirin.
4. IIS (Internet Information Services) Ayarları
IIS üzerinden TLS’yi etkinleştirmek için, öncelikle Windows kayıt defteri ayarlarının doğru olduğundan emin olun. Ardından:
- Komut İstemcisi’nde IIS hizmetini yeniden başlatın:
iisreset /restart
- TLS ayarlarını kontrol edin: IIS’de SSL bağlamalarını ve sertifikaları yapılandırarak TLS 1.2/1.3 kullanıldığından emin olun.
5. PowerShell ile TLS 1.2 ve 1.3’ü Etkinleştirme
Birden fazla sunucuda işlem yapmak için aşağıdaki PowerShell komutlarını kullanabilirsiniz:
TLS 1.2 Etkinleştirme:
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client” -Force | Out-Null
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server” -Force | Out-Null
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client” -Name “Enabled” -Value 1
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server” -Name “Enabled” -Value 1
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client” -Name “DisabledByDefault” -Value 0
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server” -Name “DisabledByDefault” -Value 0
TLS 1.3 Etkinleştirme:
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client” -Force | Out-Null
New-Item -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server” -Force | Out-Null
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client” -Name “Enabled” -Value 1
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server” -Name “Enabled” -Value 1
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client” -Name “DisabledByDefault” -Value 0
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server” -Name “DisabledByDefault” -Value 0
6. Etkiyi Kontrol Etme
Web tarayıcılarda ve araçlarda bağlantıların TLS 1.2 veya 1.3 üzerinden sağlandığını test edin.
SSL/TLS test araçları kullanarak sunucu konfigürasyonlarını doğrulayabilirsiniz.
Bu adımlar sonunda TLS 1.2 ve 1.3 etkinleştirilmiş ve eski protokoller güvenli bir şekilde devre dışı bırakılmış olacaktır.
KAYNAK: https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-10-11-deprecation-in-windows