Udostępnij za pomocą


Obsługa protokołu TLS 1.3

Dotyczy: SQL Server 2022 (16.x) i nowsze wersje bazy danychSQL Sql Azure SQLDatabase wusłudze Microsoft Fabric

Program SQL Server (począwszy od programu SQL Server 2022 (16.x)), usługa Azure SQL Database i usługa Azure SQL Managed Instance obsługują protokół Transport Layer Security (TLS) 1.3, gdy jest używany strumień danych tabelarycznych (TDS) 8.0.

Ważne

Nawet w przypadku obsługi protokołu TLS 1.3 dla połączeń TDS protokół TLS 1.2 jest nadal wymagany do uruchamiania usług satelickich programu SQL Server. Nie wyłączaj protokołu TLS 1.2 na maszynie.

Program SQL Server 2019 (15.x) i starsze wersje nie obsługują protokołu TLS 1.3.

Różnice między protokołami TLS 1.2 i TLS 1.3

Protokół TLS 1.3 zmniejsza liczbę rund z dwóch do jednego w fazie uzgadniania, dzięki czemu jest szybsza i bezpieczniejsza niż TLS 1.2. Pakiet powitania serwera zawierający certyfikat serwera jest szyfrowany i jeden ponowny ponowny czas podróży (1-RTT) zostanie przerwany i zastąpiony wznowieniem 0-RTT na podstawie udziału klucza klienta. Dodatkowe zabezpieczenia protokołu TLS 1.3 wynikają z zaprzestania niektórych algorytmów i algorytmów.

Oto lista algorytmów i szyfrów usuniętych w protokole TLS 1.3:

  • Szyfr strumienia RC4
  • Wymiana kluczy RSA
  • Funkcja skrótu SHA-1
  • Szyfry trybu CBC (bloku)
  • Algorytm MD5
  • Różne grupy Diffie-Hellman nieefemerycznej
  • Szyfry o sile EKSPORTU
  • DES
  • 3DES

Obsługa sterowników

Zapoznaj się z macierzą obsługi funkcji sterownika , aby określić, jakie sterowniki obsługują obecnie protokół TLS 1.3.

Obsługa systemu operacyjnego

Obecnie następujące systemy operacyjne obsługują protokół TLS 1.3:

Obsługa programu SQL Server 2025

Program SQL Server 2025 (17.x) wprowadza obsługę protokołu TLS 1.3 dla następujących funkcji:

Ograniczenia konfiguracji

Instalacja programu SQL Server 2025 kończy się niepowodzeniem, gdy protokół TLS 1.3 jest jedyną wersją protokołu TLS włączoną w systemie operacyjnym. Proces instalacji wymaga, aby protokół TLS 1.2 był dostępny podczas instalacji. Po zakończeniu instalacji protokół TLS 1.2 można wyłączyć w razie potrzeby.

Komunikat o błędzie podczas instalacji to: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - No process is on the other end of the pipe.)

Wymagania dotyczące certyfikatu

W przypadku korzystania z usługi TDS 8.0 z programem SQL Server 2025 należy spełnić określone wymagania dotyczące certyfikatów:

  • Zaufane certyfikaty: certyfikaty muszą być wystawiane przez zaufany urząd certyfikacji. Certyfikaty z podpisem własnym nie są już domyślnie akceptowane w sterowniku Microsoft OLE DB dla programu SQL Server w wersji 19.
  • Walidacja certyfikatu: TrustServerCertificate musi być ustawiona na False lub No. Sterownik Microsoft OLE DB dla programu SQL Server w wersji 19 sprawdza łańcuch zaufania certyfikatu, a walidacja certyfikatu nie może zostać pominięta.
  • Wymagania alternatywnej nazwy podmiotu (SAN): certyfikaty muszą zawierać zarówno w pełni kwalifikowaną nazwę domeny (FQDN) jak i nazwę Netbios na liście sieci SAN. Program SQL Server Management Studio (SSMS) często używa nazw Netbios podczas nawiązywania połączenia, a brakujące wpisy spowodują błędy walidacji.
  • Planowanie wpisów sieci SAN: uwzględnij wszystkie możliwe nazwy połączeń klienta (FQDN, nazwy Netbios, aliasy usług) podczas wystawiania certyfikatów. Dodanie nazw później wymaga utworzenia nowego certyfikatu i ponownego uruchomienia wystąpienia programu SQL Server.

Aby uzyskać więcej informacji na temat weryfikacji certyfikatu, zobacz Szyfrowanie i walidacja certyfikatu — sterownik OLE DB dla programu SQL Server.

Domyślne konfiguracje zabezpieczeń w programie SQL Server 2025

Program SQL Server 2025 wprowadza domyślnie bezpieczne konfiguracje dla kilku funkcji, które teraz używają protokołu TDS 8.0 z włączonym szyfrowaniem domyślnie:

  • Agent programu SQL Server: używa Microsoft OLE DB Driver for SQL Server w wersji 19 Encrypt=Mandatory i wymaga prawidłowych certyfikatów serwera TrustServerCertificate=False. Jeśli jedyną włączoną wersją protokołu TLS jest TLS 1.3, należy skonfigurować Encrypt=Strict (wymuszanie ścisłego szyfrowania).

  • Zawsze włączone grupy dostępności i wystąpienia klastrów trybu failover: domyślnie używa sterownika ODBC dla programu SQL Server w wersji 18 Encrypt=Mandatory . W przeciwieństwie do innych funkcji zawsze włączone grupy dostępności i wystąpienia trybu failover umożliwiają korzystanie ze TrustServerCertificate=True scenariuszy z podpisem własnym.

  • Serwery połączone: domyślnie używa sterownika Microsoft OLE DB dla programu SQL Server w wersji 19 Encrypt=Mandatory . Parametr szyfrowania musi być określony w ciągu połączenia podczas określania innego wystąpienia programu SQL Server jako docelowego.

  • Wysyłanie dziennika: używa sterownika Microsoft OLE DB dla programu SQL Server w wersji 19 i wymaga prawidłowych certyfikatów serwera. W przypadku przeprowadzania uaktualnienia w trybie bezpośrednim z niższej wersji, która nie obsługuje najnowszych konfiguracji zabezpieczeń, jeśli ustawienia szyfrowania nie zostaną wyraźnie zamienione na opcję bardziej bezpieczną, do wysyłania dzienników użyte zostanie TrustServerCertificate=True w celu zapewnienia zgodności z poprzednimi wersjami. Aby wymusić protokoły TLS 1.3 oraz Encrypt=Strict TDS 8.0 po uaktualnieniu, usuń i ponownie utwórz topologię ze zaktualizowanymi parametrami w procedurach składowanych logu wysyłania.

  • Replikacja: (Transakcyjna, Migawkowa, Scalająca) używa sterownika Microsoft OLE DB dla programu SQL Server w wersji 19 i Encrypt=Mandatory wymaga prawidłowych certyfikatów z TrustServerCertificate=False.

  • Poczta bazy danych: ustawienia domyślne to Encrypt=Optional i TrustServerCertificate=True. Gdy protokół TLS 1.3 jest wymuszany, te wartości zmieniają się na Encrypt=Strict i TrustServerCertificate=False. Domyślnie usługa Azure SQL Managed Instance używa protokołu TLS 1.3.

  • PolyBase: używa sterownika ODBC dla programu SQL Server w wersji 18 z Encrypt=Yes (Mandatory). Technologia PolyBase umożliwia TrustServerCertificate=True korzystanie ze scenariuszy z podpisem własnym.

  • SQL VSS Writer: podczas nawiązywania połączenia z wystąpieniem programu SQL Server 2025 przy użyciu Encryption=Strict, SQL VSS Writer będzie używać protokołów TLS 1.3 i TDS 8.0 dla części połączenia niewymagającej Wirtualnego Interfejsu Urządzenia (VDI).

Wymagania specyficzne dla składników

  • Agent programu SQL Server z protokołem TLS 1.3: należy użyć wymuszania ścisłego szyfrowania (TDS 8.0), gdy protokół TLS 1.3 jest jedyną włączoną wersją. Niższe ustawienia szyfrowania (Mandatory lub Optional) powodują błędy połączenia.

  • Zadania T-SQL agenta programu SQL Server: Zadania T-SQL agenta programu SQL Server łączące się z wystąpieniem lokalnym dziedziczą ustawienia szyfrowania agenta programu SQL Server.

  • Moduły programu PowerShell: SQLPS.exe i moduł programu PowerShell SQLPS są obecnie nieobsługiwane dla usługi TDS 8.0.

  • Zawsze aktywne grupy dostępności i wystąpienia klastra przełączania awaryjnego: Aby skonfigurować ścisłe szyfrowanie za pomocą protokołu TDS 8.0, użyj klauzuli z CLUSTER_CONNECTION_OPTIONS i przełącz na tryb Encrypt=Strict, aby zastosować ustawienia.