Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Schannel Güvenlik Destek Sağlayıcısı (SSP) aracılığıyla Aktarım Katmanı Güvenliği (TLS) protokolünün ve Güvenli Yuva Katmanı (SSL) protokolünün Windows uygulaması için desteklenen kayıt defteri ayarı bilgileri açıklanmaktadır. Bu makalede ele alınan kayıt defteri alt anahtarları ve girdileri, Schannel SSP'yi, özellikle TLS ve SSL protokollerini yönetmenize ve sorunlarını gidermenize yardımcı olur.
Caution
Bu bilgiler, sorun giderme sırasında veya gerekli ayarların uygulandığını doğrularken kullanmak üzere bir başvuru olarak sağlanır. Başka bir alternatif olmadıkça kayıt defterini doğrudan düzenlememenizi öneririz. Kayıt defterinde yapılan değişiklikler Kayıt Defteri Düzenleyicisi veya Windows işletim sistemi tarafından uygulanmadan önce doğrulanmaz. Sonuç olarak, yanlış değerler depolanabilir ve bu durum sistemde kurtarılamaz hatalara neden olabilir. Mümkün olduğunda, kayıt defterini doğrudan düzenlemek yerine Grup İlkesi'ni veya Microsoft Yönetim Konsolu (MMC) gibi diğer Windows araçlarını kullanın. Kayıt defterini düzenlemeniz gerekiyorsa çok dikkatli olun.
Schannel logging
Sistem olay günlüğüne kaydedilen ve Olay Görüntüleyicisi kullanılarak görüntülenebilen Schannel olayları için sekiz kayıt düzeyi vardır. This registry path is stored in HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
under the EventLogging key with a DWORD value set to 1.
Ondalık veya Onaltılık | Schannel kayıt olayları |
---|---|
0 | No events |
1 | Error events |
2 | Warning events |
3 | Hata ve Uyarı olayları |
4 | Bilgilendirme ve Başarı olayları |
5 | Hata, Bilgilendirme ve Başarı olayları |
6 | Uyarı, Bilgilendirme ve Başarı olayları |
7 | Hata, Uyarı, Bilgilendirme ve Başarı olayları |
Note
Günlük düzeyini değiştirdikten sonra cihazınızı yeniden başlatmanız gerekir.
CertificateMappingMethods
Bir sunucu uygulaması istemci kimlik doğrulaması gerektirdiğinde, Schannel istemci bilgisayar tarafından sağlanan sertifikayı otomatik olarak bir kullanıcı hesabıyla eşlemeyi dener. Bir istemci sertifikasıyla oturum açan kullanıcıların kimliğini doğrulamak için, sertifika bilgilerini bir Windows kullanıcı hesabıyla ilişkilendiren eşlemeler oluşturabilirsiniz.
Bir sertifika eşlemesi oluşturup etkinleştirdikten sonra, bir istemci her istemci sertifikası sunduğunda, sunucu uygulamanız bu kullanıcıyı otomatik olarak uygun Windows kullanıcı hesabıyla ilişkilendirir.
Çoğu durumda, sertifika bir kullanıcı hesabına iki yoldan biriyle eşlenir:
- Tek bir sertifika tek bir kullanıcı hesabına eşlenir (bire bir eşleme).
- Bir kullanıcı hesabına birden çok sertifika eşlenir (çoktan bire eşleme).
Schannel sağlayıcısı dört sertifika eşleme yöntemi kullanır:
- Kullanıcı için Kerberos hizmeti (S4U) eşlemesi (varsayılan olarak etkin)
- Kullanıcı asıl adı eşlemesi
- Bire bir eşleme (konu/veren eşlemesi olarak da bilinir)
- Many-to-one mapping
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Entry name | DWORD | Varsayılan olarak etkin |
---|---|---|
Subject/Issuer | 0x000000001 | No |
Issuer | 0x000000002 | No |
UPN | 0x000000004 | No |
S4U2Self | 0x000000008 | Yes |
S4U2Self Explicit | 0x000000010 | Yes |
Ciphers
TLS/SSL şifreleri, şifre paketi sırası yapılandırılarak denetlenmelidir. Ayrıntılar için bkz. TLS Şifreleme Paketi Sırasını Yapılandırma.
Schannel SSP tarafından kullanılan varsayılan şifreleme paketi siparişleri hakkında bilgi için bkz. TLS/SSL'de Şifreleme Paketleri (Schannel SSP).
CipherSuites
TLS/SSL şifreleme paketlerini yapılandırma işlemi grup ilkesi, MDM veya PowerShell kullanılarak yapılmalıdır. Ayrıntılar için bkz. TLS Şifreleme Paketi Sırasını Yapılandırma .
Schannel SSP tarafından kullanılan varsayılan şifreleme paketi siparişleri hakkında bilgi için bkz. TLS/SSL'de Şifreleme Paketleri (Schannel SSP).
ClientCacheTime
Bu girdi, istemci TLS oturumu önbellek öğesi ömrünü milisaniye cinsinden belirtir. Windows Server 2008 ve Windows Vista'da varsayılan değer 10 saattir. A value of 0 turns off TLS session caching on the client.
İstemci Schannel SSP aracılığıyla bir sunucuya ilk kez bağlandığında tam TLS/SSL el sıkışması gerçekleştirilir. Tamamlandığında, ana gizli dizi, şifreleme paketi ve sertifikalar ilgili istemci ve sunucudaki oturum önbelleğinde depolanır.
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
EnableOcspStaplingForSni
Çevrimiçi Sertifika Durumu Protokolü (OCSP) zımbalama, Internet Information Services (IIS) gibi bir web sunucusunun TLS el sıkışması sırasında sunucu sertifikasını bir istemciye gönderdiğinde sunucu sertifikasının geçerli iptal durumunu sağlamasına olanak tanır. Web sunucusu sunucu sertifikasının geçerli OCSP durumunu önbelleğe alıp birden çok web istemcisine gönderebildiğinden bu özellik OCSP sunucularında yükü azaltır. Bu özellik olmadan, her web istemcisi OCSP sunucusundan sunucu sertifikasının geçerli OCSP durumunu almaya çalışır. Bu, OCSP sunucusunda yüksek yük oluşturur.
IIS'ye ek olarak, http.sys üzerindeki web hizmetleri de Active Directory Federasyon Hizmetleri (AD FS) ve Web Uygulaması Ara Sunucusu (WAP) dahil olmak üzere bu ayardan yararlanabilir.
OCSP desteği, basit bir güvenli (SSL/TLS) bağlaması olan IIS web siteleri için varsayılan olarak etkindir. Ancak IIS web sitesi aşağıdaki SSL/TLS bağlama türlerinden birini veya ikisini birden kullanıyorsa bu destek varsayılan olarak etkin değildir:
- Sunucu Adı Gösterimi gerektir
- Merkezi Sertifika Deposu kullanma
Bu durumda, TLS el sıkışması sırasında sunucu hello yanıtı varsayılan olarak OCSP zımbalanmış durumunu içermez. Bu davranış performansı artırır: Windows OCSP stapling uygulaması, yüzlerce sunucu sertifikasını destekleyecek şekilde ölçeklendirilebilir. Ancak, Sunucu Adı Göstergesi (SNI) ve Merkezi Sertifika Deposu (CCS), IIS'nin binlerce sunucu sertifikasına sahip olabilecek binlerce web sitesine ölçeklendirilmesini sağlar, bu nedenle CCS bağlamaları için OCSP zımbalama özelliğini etkinleştirmek performans sorunlarına neden olabilir.
Kayıt defteri yolu: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Aşağıdaki anahtarı ekleyin:
"EnableOcspStaplingForSni"=dword:00000001
Devre dışı bırakmak için DWORD değerini 0 olarak ayarlayın:
"EnableOcspStaplingForSni"=dword:00000000
Note
Bu kayıt defteri anahtarının etkinleştirilmesi olası performans etkisine neden olur.
Hashes
TLS/SSL hash algoritmaları, şifre paketi sırasını yapılandırarak kontrol edilmelidir. Ayrıntılar için bkz. TLS şifreleme paketi sırasını yapılandırma .
IssuerCacheSize
Bu girdi, veren önbelleğin boyutunu denetler ve veren eşlemesi ile birlikte kullanılır. Schannel SSP, yalnızca istemci sertifikasının doğrudan vereni değil, istemcinin sertifika zincirindeki tüm verenleri eşlemeye çalışır. Verenler bir hesapla eşlenmediğinde (tipik bir durumdur), sunucu aynı verenin adını saniyede yüzlerce kez tekrar tekrar eşlemeye çalışabilir.
Bunu önlemek için sunucu negatif bir önbelleğe sahip olduğundan, verenin adı bir hesapla eşlenmezse önbelleğe eklenir ve Schannel SSP, önbellek girdisinin süresi dolana kadar verenin adını yeniden eşlemeyi denemez. Bu kayıt defteri girdisi önbellek boyutunu belirtir. Bu girdi varsayılan olarak kayıt defterinde yoktur. The default value is 100.
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
IssuerCacheTime
Bu girdi, önbellek zaman aşımı aralığının uzunluğunu milisaniye cinsinden denetler. Schannel SSP, yalnızca istemci sertifikasının doğrudan vereni değil, istemcinin sertifika zincirindeki tüm verenleri eşlemeye çalışır. Verenlerin bir hesapla eşlenmediği durumlarda (tipik bir durumdur), sunucu aynı verenin adını saniyede yüzlerce kez tekrar tekrar eşlemeye çalışabilir.
Bunu önlemek için sunucu negatif bir önbelleğe sahip olduğundan, verenin adı bir hesapla eşlenmezse önbelleğe eklenir ve Schannel SSP, önbellek girdisinin süresi dolana kadar verenin adını yeniden eşlemeyi denemez. Bu önbellek performans nedenleriyle tutulur, böylece sistem aynı verenleri eşlemeye devam etmez. Bu girdi varsayılan olarak kayıt defterinde yoktur. Varsayılan değer 10 dakikadır.
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
KeyExchangeAlgorithm anahtar boyutları
Aşağıdaki girdiler varsayılan olarak kayıt defterinde mevcut olmayabilir ve el ile oluşturulması gerekir. Anahtar değişimi algoritmalarının kullanımı, şifre paketi sırası yapılandırılarak denetlenmelidir. TLS/SSL şifreleme paketi şifreleme algoritmaları hakkında daha fazla bilgi edinmek için bkz. TLS/SSL'de şifreleme paketleri (Schannel SSP).
Windows 10, sürüm 1507 ve Windows Server 2016'da eklendi.
Kayıt defteri yolu: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman
TLS istemcisi için desteklenen en düşük Diffie-Hellman anahtar bit uzunluğu aralığını belirtmek için bir ClientMinKeyBitLength
giriş oluşturun. Girdiyi oluşturduktan sonra DWORD değerini istenen bit uzunluğuna değiştirin. Yapılandırılmamışsa en az 1024 bittir.
Note
Yapılandırılan üç nokta eğrileri ECDHE anahtar değişiminin şifreleme gücünü belirler. Daha fazla bilgi için bkz . Aktarım Katmanı Güvenliğini (TLS) Yönetme.
MaximumCacheSize
Bu giriş, önbelleğe alınacak en fazla TLS oturumu sayısını denetler. MaximumCacheSize ayarı 0
, oturumun yeniden başlatılmasını önlemek için sunucu tarafı oturum önbelleğini devre dışı bırakır. MaximumCacheSize değerini varsayılan değerlerin üzerine çıkarmak, Lsass.exe ek bellek kullanmasına neden olur. Her oturum önbelleği öğesi genellikle 2 KB ile 4 KB arası bellek gerektirir. Bu girdi varsayılan olarak kayıt defterinde yoktur. Varsayılan değer 20.000 öğedir.
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Mesajlaşma – parça ayrıştırma
Bu giriş, kabul edilen bir TLS el sıkışma iletisinin izin verilen en büyük boyutunu denetler. İzin verilen boyuttan büyük iletiler kabul edilemez ve TLS el sıkışması başarısız olur. Bu girdiler varsayılan olarak kayıt defterinde yoktur.
değerini 0x0
olarak ayarladığınızda parçalanmış iletiler işlenmez ve TLS el sıkışmasının başarısız olmasına neden olur. Bu, geçerli makinedeki TLS istemcilerini veya sunucularını TLS RFC'leriyle uyumsuz hale getirir.
İzin verilen boyut üst sınırı 2^16 bayta kadar artırılabilir. bir istemcinin veya sunucunun ağdan büyük miktarda veri okumasına ve depolamasına izin vermek iyi bir fikir değildir ve her güvenlik bağlamı için ek bellek tüketir.
Windows 7 ve Windows Server 2008 R2'ye eklendi: Windows XP, Windows Vista veya Windows Server 2008'de Internet Explorer'ın parçalanmış TLS/SSL el sıkışma iletilerini ayrıştırmasına olanak tanıyan bir güncelleştirme kullanılabilir.
Kayıt defteri yolu: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Messaging
TLS istemcisinin kabul ettiğini parçalanmış TLS el sıkışma iletilerinin izin verilen en büyük boyutunu belirtmek için bir MessageLimitClient
giriş oluşturun. Girdiyi oluşturduktan sonra DWORD değerini istenen bit uzunluğuna değiştirin. Yapılandırılmazsa, varsayılan değer bayttır 0x8000
.
İstemci kimlik doğrulaması olmadığında TLS sunucusunun kabul ettiğini parçalanmış TLS el sıkışma iletilerinin izin verilen en büyük boyutunu belirtmek için bir MessageLimitServer
giriş oluşturun. Girdiyi oluşturduktan sonra DWORD değerini istenen bit uzunluğuna değiştirin. If not configured, the default value is 0x4000 bytes.
İstemci kimlik doğrulaması olduğunda TLS sunucusunun kabul ettiğini parçalanmış TLS el sıkışma iletilerinin izin verilen en büyük boyutunu belirtmek için bir MessageLimitServerClientAuth
giriş oluşturun. Girdiyi oluşturduktan sonra DWORD değerini istenen bit uzunluğuna değiştirin. If not configured, the default value is 0x8000 bytes.
SendTrustedIssuerList
TLS sunucuları, istemci kimlik doğrulaması isteğinde bulunurken kabul edilebilir sertifika yetkililerinin ayırt edici adlarının listesini gönderebilir. Bu, TLS istemcilerinin uygun bir TLS istemci sertifikası seçmelerine yardımcı olabilir. Schannel tabanlı TLS sunucuları, sunucunun güvendiği sertifika yetkililerini pasif gözlemcilere sunduğundan ve TLS el sıkışması sırasında alınan veri miktarını artırdığından bu güvenilen veren listesini varsayılan olarak göndermez. Setting this value to 1 causes Schannel-based servers to send their lists of trusted issuers.
Güvenilir verenlerin listesinin gönderilmemesi, istemci sertifikası istendiğinde istemcinin gönderdiğini etkileyebilir. Örneğin, Microsoft Edge istemci kimlik doğrulaması için bir istek aldığında, yalnızca sunucu tarafından gönderilen sertifika yetkililerinden birine bağlı olan istemci sertifikalarını görüntüler. Sunucu liste göndermediyse, Microsoft Edge istemcide yüklü olan tüm istemci sertifikalarını görüntüler.
Bu davranış istenebilir. Örneğin, PKI ortamları çapraz sertifikalar içerdiğinde istemci ve sunucu sertifikaları aynı kök CA'ya sahip değildir. Bu nedenle, Microsoft Edge sunucunun CA'larından birine bağlı bir sertifika seçemez. Bir sunucu güvenilen veren listesini göndermediğinde TLS istemcileri kullanılabilir herhangi bir istemci sertifikası sunabilir. Bu girdi varsayılan olarak kayıt defterinde yoktur.
Varsayılan Güvenilir Verenler Listesi Gönderim Davranışı
Windows version | Default behavior |
---|---|
Windows Server 2012, Windows 8 ve üzeri | FALSE |
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
ServerCacheTime
Bu girdi, sunucu TLS oturum önbellek öğesi ömrünü milisaniye cinsinden belirtir. Varsayılan değer 10 saattir. A value of 0 turns off TLS session caching on the server and prevents session resumption. ServerCacheTime değerinin varsayılan değerlerin üzerine çıkarılması, Lsass.exe ek bellek kullanmasına neden olur. Her oturum önbelleği öğesi genellikle 2 KB ile 4 KB arasında bellek gerektirir. Bu girdi varsayılan olarak kayıt defterinde yoktur.
Kayıt defteri yolu: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Varsayılan sunucu önbellek süresi: 10 saat
TLS, DTLS ve SSL protokolü sürüm ayarları
SChannel SSP TLS, DTLS ve SSL protokollerinin sürümlerini uygular. Different Windows releases support different protocol versions. The set of (D)TLS and SSL versions available system-wide can be restricted (but not expanded) by SSPI callers specifying the SCH_CREDENTIALS structure in the AcquireCredentialsHandle call. SSPI çağıranların protokol sürümü kısıtlamaları uygulamak yerine sistem varsayılanlarını kullanması önerilir.
Desteklenen (D)TLS veya SSL protokolü sürümü aşağıdaki durumlardan birinde bulunabilir:
- Enabled: Unless the SSPI caller explicitly disables this protocol version using SCH_CREDENTIALS structure, Schannel SSP might negotiate this protocol version with a supporting peer.
- Disabled: Schannel SSP doesn't negotiate this protocol version regardless of the settings the SSPI caller might specify.
Bu kayıt defteri değerleri, aşağıdaki biçim kullanılarak adlı kayıt defteri alt anahtarları altında protokol istemcisi ve sunucu rolleri için ayrı olarak yapılandırılır:
<SSL/TLS/DTLS> <major version number>.<minor version number><Client\Server>
Versiyona özel bu alt anahtarlar aşağıdaki kayıt defteri yolunda oluşturulabilir.
HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Örneğin, sürüme özgü alt anahtarlara sahip bazı geçerli kayıt defteri yolları şunlardır:
HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client
HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\DTLS 1.2\Client
In order to override a system default and set a supported (D)TLS or SSL protocol version to the Enabled
state, create a DWORD registry value named Enabled
with an entry value of "1" under the corresponding version-specific subkey.
The following example shows TLS 1.0 client set to the Enabled state:
In order to override a system default and set a supported (D)TLS or SSL protocol version to the Disabled
state, change the DWORD registry value of Enabled
to "0" under the corresponding version-specific subkey.
Aşağıdaki örnekte kayıt defterinde devre dışı bırakılmış DTLS 1.2 gösterilmektedir:
Switching a (D)TLS or SSL protocol version to Disabled
state might cause AcquireCredentialsHandle calls to fail due to the lack of protocol versions enabled system-wide and at the same time allowed by particular SSPI callers. Buna ek olarak, (D)TLS ve SSL sürümleri kümesini azaltmak Enabled
uzak eşlerle birlikte çalışabilirliği bozabilir.
Once the (D)TLS or SSL protocol version settings are modified, they take effect on connections established using credential handles opened by subsequent AcquireCredentialsHandle calls. (D)TLS ve SSL istemci ve sunucu uygulamaları ve hizmetleri, performans nedeniyle birden çok bağlantı için kimlik bilgisi tanıtıcılarını yeniden kullanma eğilimindedir. Bu uygulamaların kimlik bilgisi tanıtıcılarını yeniden edinmesi için bir uygulamanın veya hizmetin yeniden başlatılması gerekebilir.
Bu kayıt defteri ayarları yalnızca Schannel SSP için geçerlidir ve sistemde yüklü olabilecek üçüncü taraf (D)TLS ve SSL uygulamalarını etkilemez.
Warning
Bu makalede açıkça açıklanmayan schannel kayıt defteri ayarlarını oluşturmaya veya ayarlamaya çalışmak, desteklenmeyen yapılandırmalardan kaynaklanabilecek olası riskler ve istenmeyen sonuçlar nedeniyle önerilmez.
PowerShell kullanarak TLS şifreleme paketini yönetme hakkında bilgi edinmek için bkz. TLS komut başvurusu. TLS ayarlarını Grup İlkesi aracılığıyla yönetmek istiyorsanız bkz. Grup İlkesi'ni kullanarak TLS şifreleme paketi sırasını yapılandırma.