Błąd "Klient nie może nawiązać połączenia" po zaimplementowaniu zasad pakietu szyfrowania na maszynie z programem SQL Server
Ten artykuł ułatwia rozwiązywanie problemów występujących po zaimplementowaniu zasad pakietu szyfrowania na serwerze. Jeśli zestawy szyfrowania obsługiwane na kliencie i serwerze nie są zgodne, połączenie może zakończyć się niepowodzeniem.
Symptomy
Po zaimplementowaniu zasad pakietu szyfrowania na serwerze zostanie wyświetlony następujący komunikat o błędzie:
Zamknięcie istniejącego połączenie zostało wymuszone przez hosta zdalnego. [SQLSTATE 42000] (Błąd 10054) Dostawca OLE DB "" dla połączonego serwera "nazwa bazy danych" zwrócił komunikat "Klient nie może nawiązać połączenia".
Przyczyna 1. Szyfr 4 (RC4) nie jest uwzględniony
Jeśli zestaw szyfrowania nie zawiera szyfrowania Rivest 4 (RC4), próba użycia rc4 na potrzeby szyfrowania zakończy się niepowodzeniem. Podobnie, jeśli zestaw szyfrowania zawiera RC4, ale jedna z zaangażowanych stron nie, uzgadnianie nie powiedzie się i nie zostanie nawiązane połączenie.
Rozwiązanie
Wykonaj te kroki:
- Sprawdź, czy właściwość jest ustawiona
msds-supportedEncryptionType
. Jeśli właściwość nie jest ustawiona, włączono tylko rc4. - Ustaw wartość dla tej właściwości na 28 , aby włączyć RC4, AES128 i AES256.
Przyczyna 2. Niezgodność wersji protokołu Transport Layer Security (TLS)
W wersjach protokołu Transport Layer Security (TLS) występuje niezgodność. Ten problem może wystąpić, jeśli klient inicjuje połączenie przy użyciu protokołu TLS 1.0. Nowoczesne zestawy szyfrowania często nie obsługują protokołu TLS 1.0, ponieważ preferują bardziej bezpieczne wersje, takie jak TLS 1.2.
Rozwiązanie
Wykonaj te kroki:
Upewnij się, że sterownik klienta obsługuje protokół TLS 1.2. Jeśli tak nie jest, zaktualizuj sterownik.
Dodaj następujące szyfry do zasad lokalnych, aby obsługiwać komunikację TLS 1.0:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Zobacz też
Istniejące połączenie zostało wymuszone przez hosta zdalnego (błąd systemu operacyjnego 10054)