Aracılığıyla paylaş


AD FS için SSL/TLS protokollerini ve şifreleme paketlerini yönetme

Aşağıdaki belgelerde, Active Directory Federasyon Hizmetleri'nin (AD FS) kullandığı belirli TLS/SSL protokollerini ve şifreleme paketlerini devre dışı bırakma ve etkinleştirme hakkında bilgi sağlanır.

AD FS'de TLS/SSL, Schannel ve şifreleme paketleri

Aktarım Katmanı Güvenliği (TLS) protokolü, ağ üzerinden şifreli güvenli iletişimler sağlar. Güvenli Yuva Katmanı (SSL) protokolü, bir web sunucusu ile TLS'ye benzer bir web tarayıcısı arasında iletilen hassas veri alışverişlerini şifreler. Active Directory Federasyon Hizmetleri (AD FS), iletişimler için bu protokolleri kullanır. Bugün, bu protokollerin birkaç sürümü vardır.

Güvenlik Kanalı (Schannel), SSL, TLS ve DTLS internet standart kimlik doğrulama protokollerini uygulayan bir Güvenlik Destek Sağlayıcısıdır (SSP). Güvenlik Desteği Sağlayıcısı Arabirimi (SSPI), Windows sistemleri tarafından kimlik doğrulaması da dahil olmak üzere güvenlikle ilgili işlevleri gerçekleştirmek için kullanılan bir API'dir. SSPI, Schannel SSP dahil olmak üzere çeşitli SSP'ler için ortak bir arabirim işlevi görür.

Şifreleme paketi, bir dizi şifreleme algoritmasıdır. TLS/SSL protokollerinin Schannel SSP uygulaması, anahtar oluşturmak ve bilgileri şifrelemek için şifre paketindeki algoritmaları kullanır. Şifreleme paketi, aşağıdaki görevlerin her biri için bir algoritma belirtir:

  • Anahtar değişimi
  • Toplu şifreleme
  • İleti kimlik doğrulaması

AD FS, güvenli iletişim etkileşimlerini gerçekleştirmek için Schannel.dll kullanır. Şu anda AD FS, Schannel.dll tarafından desteklenen tüm protokolleri ve şifreleme paketlerini destekler.

TLS/SSL protokollerini ve şifreleme paketlerini yönetme

Önemli

Bu bölüm, kayıt defterini nasıl değiştirebileceğinizi gösteren adımlar içerir. Ancak, kayıt defterini yanlış bir şekilde değiştirirseniz ciddi sorunlar ortaya çıkabilir. Bu nedenle, bu adımları dikkatli bir şekilde izlediğinizden emin olun.

SCHANNEL için varsayılan güvenlik ayarlarının değiştirilmesinin belirli istemciler ve sunucular arasındaki iletişimi bozabileceğini veya önleyebileceğini unutmayın. Güvenli iletişim gerekliyse ve iletişim anlaşması yapacak bir protokolleri yoksa bu durum oluşur.

Bu değişiklikleri uyguluyorsanız, bunların grubunuzdaki tüm AD FS sunucularınıza uygulanması gerekir. Bu değişiklikler uygulandıktan sonra yeniden başlatma gerekir.

Günümüzde sunucularınızın sağlamlaştırılması ve eski veya zayıf şifreleme paketlerinin kaldırılması birçok kuruluş için önemli bir öncelik haline gelmektedir. Sunucularınızı test eden ve bu protokoller ve paketler hakkında ayrıntılı bilgi sağlayan yazılım paketleri mevcuttur. Uyumlu kalmak veya güvenli derecelendirmeler elde etmek için, daha zayıf protokolleri veya şifre paketlerini kaldırmak veya devre dışı bırakmak bir zorunluluk haline gelmiştir. Bu belgenin geri kalanında, belirli protokolleri ve şifre paketlerini etkinleştirme veya devre dışı bırakma yönergeleri sağlanır.

Aşağıdaki kayıt defteri anahtarları aynı konumda bulunur: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Bu protokolleri ve şifre paketlerini etkinleştirmek veya devre dışı bırakmak için Kayıt Defteri Düzenleyicisi'ni veya PowerShell'i kullanın.

Protokoller klasöründe bulunan kayıt defteri anahtarlarını gösteren Kayıt Defteri Düzenleyicisi'nin ekran görüntüsü.

SSL 3.0'ı etkinleştirme ve devre dışı bırakma

SSL 3.0'ı etkinleştirmek ve devre dışı bırakmak için aşağıdaki kayıt defteri anahtarlarını ve bunların değerlerini kullanın.

SSL 3.0'i etkinleştirme

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Sunucu Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Sunucu Varsayılan Olarak Devre Dışı 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\client Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\client Varsayılan Olarak Devre Dışı 00000000

SSL 3.0'ı devre dışı bırakma

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Sunucu Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Sunucu Varsayılan Olarak Devre Dışı 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\client Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\client Varsayılan Olarak Devre Dışı 00000001

SSL 3.0'ı devre dışı bırakmak için PowerShell kullanma

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'SSL 3.0 has been disabled.'

TLS 1.0'ı etkinleştirme ve devre dışı bırakma

TLS 1.0'ı etkinleştirmek ve devre dışı bırakmak için aşağıdaki kayıt defteri anahtarlarını ve bunların değerlerini kullanın.

Önemli

TLS 1.0'ın devre dışı bırakılması WAP'nin AD FS güvenini bozar. TLS 1.0'ı devre dışı bırakırsanız, uygulamalarınız için güçlü kimlik doğrulamasını etkinleştirmeniz gerekir. Daha fazla bilgi için bkz . .NET uygulamaları için güçlü kimlik doğrulamasını etkinleştirme

TLS 1.0'i etkinleştirme

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Sunucu Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Sunucu Varsayılan Olarak Devre Dışı 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\client Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\client Varsayılan Olarak Devre Dışı 00000000

TLS 1.0'ı devre dışı bırakma

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Sunucu Etkin="00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Sunucu Varsayılan Olarak Devre Dışı 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\client Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\client Varsayılan Olarak Devre Dışı 00000001

TLS 1.0'ı devre dışı bırakmak için PowerShell kullanma

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.0 has been disabled.'

TLS 1.1'i etkinleştirme ve devre dışı bırakma

TLS 1.1'i etkinleştirmek ve devre dışı bırakmak için aşağıdaki kayıt defteri anahtarlarını ve bunların değerlerini kullanın.

TLS 1.1'i etkinleştirme

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Sunucu Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Sunucu Varsayılan Olarak Devre Dışı 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\client Etkinleştirildi 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\client Varsayılan Olarak Devre Dışı 00000000

TLS 1.1'i devre dışı bırakma

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Sunucu Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Sunucu Varsayılan Olarak Devre Dışı 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\client Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\client Varsayılan Olarak Devre Dışı 00000001

TLS 1.1'i devre dışı bırakmak için PowerShell kullanma

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'Enabled' -value '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.1 has been disabled.'

TLS 1.2'yi devre dışı bırakma

TLS 1.2, Windows Server 2012'den itibaren varsayılan olarak etkindir. TLS 1.2'yi devre dışı bırakmak için aşağıdaki kayıt defteri anahtarlarını ve bunların değerlerini kullanabilirsiniz.

Uyarı

TlS 1.2'nin devre dışı bırakılması önerilmez, bu protokole dayanan sunucudaki diğer bileşenlerin işlevselliğini kesintiye uğratabilir. Örneğin, Microsoft Azure AD Connect (Azure AD Sync) gibi hizmetlerin düzgün çalışması için TLS 1.2 gerekir. Devre dışı bırakmak hizmet hatalarına veya işlevselliğin düşmesine neden olabilir.

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Sunucu Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Sunucu Varsayılan Olarak Devre Dışı 00000001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\İstemci Etkinleştirildi 00000000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\İstemci Varsayılan Olarak Devre Dışı 00000001

TLS 1.2'yi devre dışı bırakmak için PowerShell kullanma

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 '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

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 '0' -PropertyType 'DWord' -Force | Out-Null

New-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value 1 -PropertyType 'DWord' -Force | Out-Null

Write-Host 'TLS 1.2 has been disabled.'

Karmaları, şifreleri ve şifreleme paketlerini etkinleştirme veya devre dışı bırakma

Anahtar boyutu dışındaki şifreleri, karmaları ve anahtar değişim algoritmalarını kayıt defteri aracılığıyla denetleme desteklenmez. Hashler, şifreler ve anahtar değişimi algoritmaları PowerShell, MDM veya Şifre Takımı Sıralaması yoluyla denetlenir.

Desteklenen şifreleme paketlerinin tam listesi için bkz. TLS/SSL'de Şifreleme Paketleri (Schannel SSP). Bu makalede, varsayılan olarak etkinleştirilen bir paket tablosu sağlanır ve hangi paketlerin desteklendiğini ancak varsayılan olarak etkinleştirilmediğini gösterir. Şifreleme paketlerini önceliklendirmek için bkz. Schannel Şifreleme Paketlerini Önceliklendirme.

.NET uygulamaları için güçlü kimlik doğrulamasını etkinleştirme

.NET Framework 3.5/4.0/4.5.x uygulamaları, SchUseStrongCrypto kayıt defteri anahtarını etkinleştirerek varsayılan protokolü TLS 1.2'ye değiştirebilir. Bu kayıt defteri anahtarları .NET uygulamalarını TLS 1.2 kullanmaya zorlar.

Önemli

Windows Server 2016 ve Windows Server 2012 R2'de AD FS için .NET Framework 4.0/4.5.x anahtarını kullanmanız gerekir: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

.NET Framework 3.5 için aşağıdaki kayıt defteri anahtarını kullanın:

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 SchUseStrongCrypto 00000001

.NET Framework 4.0/4.5.x için aşağıdaki kayıt defteri anahtarını kullanın:

Yol Değer Adı Değer Verileri
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 SchUseStrongCrypto 00000001

SchUseStrongCrypto anahtarını vurgulayan Kayıt Defteri Düzenleyicisi'nin ekran görüntüsü

New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null

Ek bilgiler