Prawidłowe skonfigurowanie serwera w systemie Windows jest ważne, jeśli chcesz mieć pewność, że faktycznie używasz algorytmów szyfrowania do ochrony danych przesyłanych z klienta (przeglądarki internetowej) na serwer iz powrotem.
Na tej stronie mamy kilka podstawowych informacji na temat wyboru odpowiedniego pakietu szyfrowania do użytku z systemem Windows Server, a także sposobu jego konfiguracji. Dobrym pomysłem jest aktywowanie tylko tych określonych, których będziesz używać, i wyłączenie pozostałych. Należy również pamiętać, że protokół SSL 2.0 i inne mogą nie być domyślnie włączone.
Zrozumienie Cipher Suites i Schannel.dll
Zanim przejdziemy do tego, co należy zrobić, aby zmienić używane zestawy szyfrów oraz używane algorytmy i protokoły kryptograficzne, krótko wyjaśnimy plik Schannel.dll, w tym sposób, w jaki używa on zestawów szyfrowania, aby określić, które protokoły bezpieczeństwa mają być używane . Jest to ustawione w Rejestrze dla systemu Windows i nie jest trudne do wykonania. Instrukcje różnią się nieco w zależności od używanego systemu operacyjnego i serwera internetowego.
Co to jest Schannel.dll?
Krótko mówiąc, Schannel.dll to biblioteka będąca głównym Microsoftem TLSDostawca zabezpieczeń /SSL. Oznacza Secure Channel i jest używany przez Microsoft Web Servers, w tym Windows Server 2003, Windows Server 2008, Windows 7, Windows Server 2008 R2 i inne, w tym starsze, takie jak Windows XP i Windows NT nawet. Więcej o różnicach omówimy poniżej, ale na razie po prostu wiedz, że Schannel.dll służy do określania, jakiego protokołu użyć.
Co to jest pakiet szyfrów?
Zestaw szyfrów jest niczym więcej niż zestawem algorytmów kryptograficznych. Protokoły Schannel wykorzystują różne algorytmy z określonego pakietu szyfrów do tworzenia kluczy i szyfrowania informacji. Zasadniczo pakiet szyfrów określa jeden algorytm dla każdego z następujących trzech zadań:
- Wymiana kluczy - Te algorytmy są asymetryczne (algorytmy klucza publicznego) i działają dobrze z niewielkimi ilościami danych. Służą do ochrony informacji wymaganych do tworzenia kluczy współdzielonych do bezpiecznych transakcji.
- Szyfrowanie zbiorcze - To zadanie spowoduje szyfrowanie wiadomości wymienianych między klientami a serwerami. Algorytmy te są symetryczne i zwykle działają bardzo dobrze, nawet przy przesyłaniu dużych ilości danych.
- Uwierzytelnianie wiadomości - Te algorytmy generują komunikat hasze oraz podpisy zapewniające integralność wiadomości.
Wszystkie powyższe wykorzystują ALG_ID - typ danych, który określa identyfikator algorytmu - aby system operacyjny wiedział, którego pakietu szyfrów ma użyć. Możesz zobaczyć listę wszystkich dostępnych zestawów szyfrów dostępnych dla Schannel.dll w witrynie firmy Microsoft tutaj.
Zmienianie pakietów szyfrów w Schannel.dll
Teraz, gdy wiesz trochę więcej o zestawach szyfrów i Schannel.dll, czas przejść do zmiany, które algorytmy i protokoły kryptograficzne są faktycznie używane. Należy pamiętać, że nawet jeśli zmienisz to, czego używa Schannel.dll, oprogramowanie, którego będziesz używać, musi również obsługiwać protokoły. Oto lista różnych systemów operacyjnych Windows, których możesz używać jako serwera.
- System Windows Server Standard 2012
- Windows Server Datacenter 2012
- Windows Server Enterprise 2008 R2
- System Windows Server Standard 2008 R2
- Windows Server Datacenter 2008 R2
- Przedsiębiorstwo 7 Okna
- Okna 7 Profesjonalne
- Windows Server Enterprise 2008
- System Windows Server Standard 2008
- Windows Server Datacenter 2008
- 2003 Microsoft Windows Server, Enterprise Edition (32-bit x86)
- 2003 Microsoft Windows Server, Standard Edition (32-bit x86)
- Microsoft Windows Server 2003, wersja internetowa
- Microsoft Windows XP Professional
- Microsoft Windows XP Home Edition
- Microsoft Windows Server 2000
- Zaawansowany serwer Microsoft Windows 2000
- Microsoft Windows 2000 w wersji profesjonalnej
- Wersja standardowa systemu Microsoft Windows NT Server 4.0
- Microsoft Windows NT Server 4.0 Enterprise Edition
- Wersja deweloperska Microsoft Windows NT Workstation 4.0
Windows NT 4.0 z dodatkiem Service Pack 6, Windows 2000, Windows XP, Windows 2003
Najpierw przyjrzymy się systemom operacyjnym Windows 2003 i wcześniejszym. Aby włączać i wyłączać różne protokoły, należy najpierw za pomocą programu Regedt32.exe zlokalizować następujący klucz rejestru:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNEL
Następnie przejdziemy przez różne dostępne podklucze - i gdzie chcesz wprowadzić zmiany. Zasadniczo, aby włączyć jedno z poniższych, ustaw jego dane wartości DWORD na 0xffffffff lub ustaw je na 0x0, aby wyłączyć ten konkretny podklucz.
- SCHANNELProtokoły - Aby umożliwić systemowi korzystanie z protokołów, które nie będą domyślnie negocjowane (np TLS 1.1 i TLS 1.2), zmień dane wartości DWORD wartości DisabledByDefault na 0x0 w następujących kluczach rejestru w kluczu Protocols:
- Podklucz SCHANNELCiphers - Klucz rejestru Ciphers znajdujący się w kluczu SCHANNEL służy do sterowania użyciem algorytmów symetrycznych, takich jak DES i RC4. Poniżej znajdują się prawidłowe klucze rejestru w kluczu Ciphers.
- SCHANNEL / podklucz Hashes - Klucz rejestru Hashes w kluczu SCHANNEL jest używany do kontrolowania użycia algorytmów mieszania, takich jak SHA-1 i MD5. Poniżej znajdują się prawidłowe klucze rejestru w kluczu Hashes.
- Podklucz SCHANNEL / KeyExchangeAl algorytmy - Klucz rejestru KeyExchangeAlgorithms w kluczu SCHANNEL jest używany do sterowania wykorzystaniem algorytmów wymiany kluczy, takich jak RSA. Poniżej znajdują się prawidłowe klucze rejestru w kluczu KeyExchangeAlgorithms.
Źródło: Baza wiedzy Microsoft
UWAGA: Aby plik Schannel.dll rozpoznał wszelkie zmiany w kluczu rejestru SCHANNEL, musisz ponownie uruchomić komputer.
Windows 7, Windows Server 2008 i nowsze wersje
W nowszych systemach operacyjnych konfiguracja rejestru jest nieco inna. Oto klawisze, z którymi będziesz chciał pracować, aby włączać lub wyłączać określone protokoły. Aby włączyć jedno z poniższych, ustaw jego dane wartości DWORD na dword: 00000001 lub ustaw je na dword: 00000000, aby wyłączyć ten konkretny podklucz.
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSkanał]
- „EventLogging” = dword: 00000001
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelCiphers]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelCipherSuites]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelHASH]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelKeyExchangeAlgorithms]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocols]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 2.0]
- [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSchannelProtocolsSSL 2.0Client]
- „DisabledByDefault” = dword: 00000001
Windows Server 2008 obsługuje następujące protokoły:
- SSL 2.0
- SSL 3.0
- TLS 1.0
Windows Server 2008 R2 i Windows 7 obsługują następujące protokoły:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2
Źródło: Baza wiedzy Microsoft
Studium przypadku: Włącz TLS 1.2 Szyfry w IIS 7.5, Server 2008 R2, Windows 7
Na blogu Dereka Seamana wymyślił fajny skrypt PowerShell w 2010 roku, aby pomóc w włączeniu TLS Szyfry 1.2 - czyli szyfrowanie AES-256 z hasłami SHA-256.
Cipher Suites w Schannel.dll
Jeśli masz jakieś pytania dotyczące Cipher Suites w Schannel.dll lub cokolwiek innego związanego z certyfikaty SSL i zapewniając, że dane odwiedzających Twoją witrynę są zawsze bezpieczne, nie wahaj się z nami skontaktować. Dołożymy wszelkich starań, aby odpowiedzieć na Twoje pytania i wskazać właściwy kierunek.