TLS (Transport Layer Security) internet üzerindeki veri iletiminde güvenliği sağlamak için kullanılan bir protokoldür. Özellikle şifreleme, kimlik doğrulama ve veri bütünlüğü sağlama konularında kritik bir rol oynar. Günümüzde web tarayıcıları, uygulamalar ve sunucular arasındaki iletişimde sıklıkla TLS protokolü kullanılır.
TLS 1.2 sürümü önceki sürümlerine göre çok daha güvenlidir ve modern güvenlik standartlarına uygundur. TLS 1.0 ve 1.1 birçok güvenlik açığı nedeniyle artık güncel sistemlerde kullanılmamalıdır. Microsoft, Google ve diğer büyük teknoloji firmaları TLS 1.0 ve 1.1’i terk etmeyi tavsiye etmiş hatta bu sürümler bazı platformlarda varsayılan olarak devre dışı bırakılmıştır.
TLS 1.2’nin Avantajları
- Daha Güçlü Şifreleme: TLS 1.2, eski protokollere göre daha güçlü şifreleme algoritmalarını destekler. TLS 1.0 ve 1.1 protokolleri güvenlik açıkları nedeniyle modern tehditlere karşı koruma sağlayamaz. TLS 1.2 bu tür saldırılara karşı daha dayanıklıdır.
- Performans İyileştirmeleri: Daha verimli veri işleme ile daha hızlı bir kullanıcı deneyimi sunar.
Uyumluluk: Yeni tarayıcılar ve uygulamalar eski protokolleri desteklemez. TLS 1.2, modern yazılımlarla sorunsuz çalışır. - Regülasyonlara Uyumluluk: PCI-DSS ve HIPAA gibi endüstri standartları TLS 1.2 veya daha yeni bir sürümün kullanılmasını zorunlu kılar.
Windows Server işletim sisteminde TLS 1.2’yi etkinleştirmek için aşağıdaki adımları uygulayabilirsiniz. Bu işlem için PowerShell kullanılabilir. İşte bu süreçte kullanılan bir PowerShell scriği aşağıdaki gibidir.
If (-Not (Test-Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319'))
{
New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client'))
{
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null
}
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null
Write-Host 'TLS 1.2 has been enabled. You must restart the Windows Server for the changes to take affect.' -ForegroundColor Cyan
