Udostępnij za pośrednictwem


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:

  1. Sprawdź, czy właściwość jest ustawiona msds-supportedEncryptionType . Jeśli właściwość nie jest ustawiona, włączono tylko rc4.
  2. 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:

  1. Upewnij się, że sterownik klienta obsługuje protokół TLS 1.2. Jeśli tak nie jest, zaktualizuj sterownik.

  2. 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)