Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poniższa dokumentacja zawiera informacje na temat wyłączania i włączania niektórych protokołów TLS/SSL oraz zestawów szyfrowania używanych przez usługi Active Directory Federation Services (AD FS).
Protokoły TLS/SSL, Schannel i zestawy szyfrów w AD FS
Protokół Transport Layer Security (TLS) zapewnia szyfrowaną bezpieczną komunikację za pośrednictwem sieci. Protokół Secure Sockets Layer (SSL) szyfruje poufne wymiany danych przesyłane między serwerem internetowym a przeglądarką internetową podobną do protokołu TLS. Usługi Active Directory Federation Services (AD FS) używają tych protokołów do komunikacji. Obecnie istnieje kilka wersji tych protokołów.
Security Channel (Schannel) to dostawca obsługi zabezpieczeń (SSP), który implementuje protokoły uwierzytelniania SSL, TLS i DTLS standard internetowego. Interfejs dostawcy obsługi zabezpieczeń (SSPI) to interfejs API używany przez systemy Windows do wykonywania funkcji związanych z zabezpieczeniami, w tym uwierzytelniania. Interfejs SSPI działa jako wspólny interfejs dla kilku dostawców SSP, w tym Schannel SSP.
Zestaw szyfrowania to zestaw algorytmów kryptograficznych. Implementacja dostawcy SSP Schannel protokołów TLS/SSL używa algorytmów z zestawu szyfrowania do tworzenia kluczy i szyfrowania informacji. Zestaw szyfrowania określa jeden algorytm dla każdego z następujących zadań:
- Wymiana kluczy
- Szyfrowanie zbiorcze
- Uwierzytelnianie komunikatów
Usługi AD FS używają Schannel.dll do wykonywania bezpiecznych interakcji komunikacyjnych. Obecnie usługi AD FS obsługują wszystkie protokoły i zestawy szyfrowania, które Schannel.dll obsługuje.
Zarządzanie protokołami TLS/SSL i zestawami szyfrowania
Ważne
Ta sekcja zawiera kroki, które informują o sposobie modyfikowania rejestru. Mogą jednak wystąpić poważne problemy, jeśli nieprawidłowo zmodyfikujesz rejestr. Dlatego upewnij się, że dokładnie przestrzegasz tych kroków.
Należy pamiętać, że zmiana domyślnych ustawień zabezpieczeń dla SCHANNEL może spowodować przerwanie lub uniemożliwić komunikację między niektórymi klientami i serwerami. Dzieje się tak, jeśli wymagana jest bezpieczna komunikacja i nie mają protokołu do negocjowania komunikacji.
Jeśli stosujesz te zmiany, należy je zastosować do wszystkich serwerów usług AD FS w farmie. Po zastosowaniu tych zmian wymagany jest ponowny rozruch.
W dzisiejszych czasach wzmocnienie zabezpieczeń serwerów i usunięcie starszych lub słabych zestawów szyfrowania staje się głównym priorytetem dla wielu organizacji. Dostępne są pakiety oprogramowania, które testują serwery i udostępniają szczegółowe informacje na temat tych protokołów i zestawów. Aby zachować zgodność lub osiągnąć bezpieczne oceny, usunięcie lub wyłączenie słabszych protokołów lub zestawów szyfrowania stało się koniecznością. W pozostałej części tego dokumentu znajdują się wskazówki dotyczące włączania lub wyłączania niektórych protokołów i zestawów szyfrowania.
Następujące klucze rejestru znajdują się w tej samej lokalizacji: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. Użyj Edytora rejestru lub programu PowerShell, aby włączyć lub wyłączyć te protokoły i zestawy szyfrowania.
Włączanie i wyłączanie protokołu SSL 3.0
Użyj następujących kluczy rejestru i ich wartości, aby włączyć i wyłączyć protokół SSL 3.0.
Włączanie protokołu SSL 3.0
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Serwer | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Serwer | NieaktywneDomyślnie | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Klient | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Klient | NieaktywneDomyślnie | 00000000 |
Wyłączanie protokołu SSL 3.0
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Serwer | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Serwer | NieaktywneDomyślnie | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Klient | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Klient | NieaktywneDomyślnie | 00000001 |
Wyłączanie protokołu SSL 3.0 przy użyciu programu PowerShell
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.'
Włączanie i wyłączanie protokołu TLS 1.0
Użyj następujących kluczy rejestru i ich wartości, aby włączyć i wyłączyć protokół TLS 1.0.
Ważne
Wyłączenie protokołu TLS 1.0 powoduje przerwanie relacji zaufania WAP z usługami AD FS. Jeśli wyłączysz protokół TLS 1.0, należy włączyć silne uwierzytelnianie dla aplikacji. Aby uzyskać więcej informacji, zobacz Włączanie silnego uwierzytelniania dla aplikacji .NET
Włączanie protokołu TLS 1.0
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serwer | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serwer | NieaktywneDomyślnie | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Klient | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Klient | NieaktywneDomyślnie | 00000000 |
Wyłączanie protokołu TLS 1.0
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serwer | Włączone"=00000000 | |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Serwer | NieaktywneDomyślnie | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Klient | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Klient | NieaktywneDomyślnie | 00000001 |
Wyłączanie protokołu TLS 1.0 przy użyciu programu PowerShell
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.'
Włączanie i wyłączanie protokołu TLS 1.1
Użyj następujących kluczy rejestru i ich wartości, aby włączyć i wyłączyć protokół TLS 1.1.
Włączanie protokołu TLS 1.1
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Serwer | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Serwer | NieaktywneDomyślnie | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Klient | Włączone | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Klient | NieaktywneDomyślnie | 00000000 |
Wyłączanie protokołu TLS 1.1
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Serwer | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Serwer | NieaktywneDomyślnie | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Klient | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Klient | NieaktywneDomyślnie | 00000001 |
Wyłączanie protokołu TLS 1.1 przy użyciu programu PowerShell
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.'
Wyłączanie protokołu TLS 1.2
Protokół TLS 1.2 jest domyślnie włączony od systemu Windows Server 2012. Aby wyłączyć protokół TLS 1.2, można użyć następujących kluczy rejestru i ich wartości.
Ostrzeżenie
Wyłączenie protokołu TLS 1.2 nie jest zalecane, ponieważ może zakłócić działanie innych składników na serwerze, który korzysta z tego protokołu. Na przykład usługi, takie jak Microsoft Azure AD Connect (Azure AD Sync), wymagają poprawnego działania protokołu TLS 1.2. Wyłączenie może spowodować awarie usługi lub obniżoną funkcjonalność.
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Serwer | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Serwer | NieaktywneDomyślnie | 00000001 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Klient | Włączone | 00000000 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Klient | NieaktywneDomyślnie | 00000001 |
Wyłączanie protokołu TLS 1.2 przy użyciu programu PowerShell
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.'
Włączanie lub wyłączanie skrótów, szyfrów i zestawów szyfrowania
Kontrolowanie algorytmów szyfrowania, skrótów i wymiany kluczy innych niż rozmiar klucza za pośrednictwem rejestru nie jest obsługiwane. Hasze, szyfry i algorytmy wymiany kluczy są kontrolowane za pośrednictwem programu PowerShell, rozwiązania MDM lub kolejności pakietów szyfrujących.
Aby uzyskać pełną listę obsługiwanych zestawów szyfrowania, zobacz Cipher Suites in TLS/SSL (Schannel SSP) (Zestawy szyfrowania w protokole TLS/SSL (SSP Schannel). Ten artykuł zawiera tabelę zestawów, które są domyślnie włączone, i pokazuje, które pakiety są obsługiwane, ale nie są domyślnie włączone. Aby określić priorytety zestawów szyfrowania, zobacz Określanie priorytetów zestawów szyfrowania Schannel.
Włączanie silnego uwierzytelniania dla aplikacji .NET
Aplikacje .NET Framework 3.5/4.0/4.5.x mogą przełączyć domyślny protokół na protokół TLS 1.2, włączając klucz rejestru SchUseStrongCrypto. Te klucze rejestru wymuszają używanie protokołu TLS 1.2 przez aplikacje platformy .NET.
Ważne
W przypadku usług AD FS w systemach Windows Server 2016 i Windows Server 2012 R2 należy użyć klucza programu .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
W przypadku programu .NET Framework 3.5 użyj następującego klucza rejestru:
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727 | SchUseStrongCrypto | 00000001 |
W przypadku programu .NET Framework 4.0/4.5.x użyj następującego klucza rejestru:
Ścieżka | Nazwa wartości | Dane wartości |
---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 | SchUseStrongCrypto | 00000001 |
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-Null