Csatlakozás az SQL Serverhez szigorú titkosítással

A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb verziók

A szigorú kapcsolattitkosítás a helyes biztonsági eljárásokat kényszeríti ki, és az SQL Server forgalmát standard hálózati berendezésekkel felügyelhetővé teszi. A szigorú titkosítás a Tabular Data Stream (TDS) 8.0 protokollt használja, amely a TDS-munkamenetet a Transport Layer Securityben (TLS) csomagolja a végpontok közötti titkosításhoz.

Ebből a cikkből megtudhatja, hogyan csatlakozhat az SQL Server 2022 (16.x) és újabb verzióihoz a szigorú kapcsolattípus használatával.

Előfeltétel

Csatlakozás az SQL Serverhez .NET-alkalmazással

Az SQL Server titkosítási típussal történő kiépítéséről és az SQL Serverhez való csatlakozásról további információt a strictkapcsolati sztring szintaxisa című témakörben talál a kapcsolati sztring megfelelő összeállításáról. Az új kapcsolati sztring tulajdonságaival kapcsolatos további információkért lásd a kapcsolati sztring titkosítási tulajdonságainak további módosításait.

Csatlakozás ODBC DSN használatával

Az ODBC DSN és az Strict SQL Server közötti kapcsolat titkosítási típusával tesztelheti a kapcsolatot.

  1. Keresse meg az ODBC Adatforrások alkalmazást a Windowsban.

    Képernyőkép az O D B C adatforrások alkalmazásról.

  2. Győződjön meg arról, hogy a legújabb ODBC-illesztőprogramot használja az ODBC adatforrás-rendszergazda Illesztőprogramok lapján.

    Képernyőkép az elérhető illesztőprogramokról.

  3. A Rendszer DSN lapján válassza a Hozzáadás lehetőséget a DSN létrehozásához. Ezután válassza ki az SQL Server ODBC Driver 18-at. Válassza ki a Befejezésopciót. Ezzel teszteljük a kapcsolatot.

  4. A Create a New Data Source to SQL Server (Új adatforrás létrehozása az SQL Serverhez ) ablakban adja meg az adatforrás nevét, és adja hozzá az SQL Server 2022 (16.x) kiszolgálónevét a Kiszolgálóhoz. Válassza a Következőlehetőséget.

    Képernyőkép adatforrás létrehozásáról az O D B C illesztőprogram használatával.

  5. Használja az összes alapértelmezett értéket az összes beállításhoz, amíg el nem ér a kapcsolattitkosítást tartalmazó képernyőre. Válassza a Szigorú lehetőséget. Ha a megadott kiszolgálónév eltér a tanúsítványban szereplőtől, vagy ha ehelyett IP-címet használ, állítsa be a HostName tanúsítványban azzal, amelyet a tanúsítványban használ. Válassza ki a Befejezésopciót.

    Képernyőkép a szigorú titkosítási típusról.

  6. Amikor megjelenik az ODBC Microsoft SQL Server Telepítő párbeszédpanel, válassza az Adatforrás tesztelése... gombot a kapcsolat teszteléséhez. Ehhez a strict teszthez az SQL Serverrel való kapcsolatot kell kikényszeríteni.

Az SQL Server-kapcsolat titkosítással strict is tesztelhető az OLE DB-illesztővel, amely univerzális adatkapcsolati (UDL) funkcióval rendelkezik.

  1. Ha UDL-fájlt szeretne létrehozni a kapcsolat teszteléséhez, kattintson a jobb gombbal az asztalra, és válassza az Új>szövegdokumentum lehetőséget. A kiterjesztést txt-ról udl-re kell módosítania. Tetszőleges nevet adhat a fájlnak.

    Megjegyzés:

    Ahhoz, hogy a kiterjesztést txt-ról udl-re módosíthassa, látnia kell a bővítmény nevét. Ha nem látja a bővítményt, engedélyezheti a bővítmény megtekintését a Fájlkezelő>fájlnévkiterjesztések>> megnyitásával.

  2. Nyisd meg a létrehozott UDL-fájlt, és lépj a Szolgáltató fülre, hogy kiválaszd a SQL Serverhez készült Microsoft OLE DB Driver 19-t. Válassza a Tovább >>gombot.

    Képernyőkép az U D L szolgáltató képernyőről.

  3. A Kapcsolat lapon adja meg az SQL Server-kiszolgáló nevét, és válassza ki az SQL Serverbe való bejelentkezéshez használt hitelesítési módszert.

    Képernyőkép az U D L kapcsolati képernyőről.

  4. A Speciális lapon válassza a Szigorú kapcsolattitkosítás lehetőséget. Ha a megadott kiszolgálónév eltér a tanúsítványban szereplőtől, vagy ha helyette IP-címet használnak, állítsa a tanúsítványban szereplő gazdagépnevet a tanúsítványban használtra. Ha elkészült, lépjen vissza a Kapcsolat lapra.

    Képernyőkép az U D L speciális képernyőről.

  5. Válassza a Kapcsolat tesztelése lehetőséget a kapcsolat titkosításának strict teszteléséhez.

    Képernyőkép az U D L kapcsolat képernyőről és a tesztelési kapcsolatról.

Csatlakozás az SSMS-sel

A 20-es verziótól kezdve szigorú titkosítást kényszeríthet ki az SQL Server Management Studióban (SSMS) a Csatlakozás a kiszolgálóhoz párbeszédpanel Bejelentkezések lapján:

Képernyőkép az SQL Server Management Studióban a kiszolgálóhoz való csatlakozás párbeszédpanelről.

Csatlakozás Always On rendelkezésre állási csoporthoz

Az SQL Server 2025-től kezdve (17.x) titkosíthatja a Windows Server-feladatátvételi fürt és az Always On rendelkezésre állási csoport replika közötti kommunikációt a Strict vagy Mandatory kapcsolattitkosítási típus használva. A rendelkezésre állási csoport csak akkor tudja kikényszeríteni a titkosítást, ha az Windows Server feladatátvevő fürtön alapul. Más típusú rendelkezésre állási csoportok nem támogatják a szigorú titkosítást.

Megjegyzés:

Az adatbázis-tükrözési végpontok titkosítása külön van konfigurálva, és a TLS nem támogatott. További információkért lásd: A rendelkezésre állási csoportok és az adatbázis-tükrözés átvitelbiztonsága.

A lépések attól függően különböznek, hogy a rendelkezésre állás már létezik-e.

Ha szigorú titkosítást szeretne kényszeríteni egy új rendelkezésre állási csoportra, kövesse az alábbi lépéseket:

  1. Ha még nem tette meg, importálja a TLS-tanúsítványt a rendelkezésre állási csoport minden replikájába a tanúsítványkövetelmények által meghatározott módon. Indítsa újra az egyes SQL Server-példányokat a tanúsítvány importálása után.
  2. Tesztelje az egyes SQL Server-replikák kapcsolatait a jelen cikkben említett módszerek egyikével, amely kikényszeríti a titkosítást.
  3. CREATE AVAILABILITY GROUP a(z) Encrypt tulajdonsággal, amely a rendelkezésre állási csoportra vonatkozó CLUSTER_CONNECTION_OPTIONS záradékban Strict értékre van állítva. Ez biztosítja, hogy a rendelkezésre állási csoporthoz tartozó összes kapcsolat a megadott titkosítási típust használja.
  4. Ha a rendelkezésre állási csoport jelenleg online, állítsa át a rendelkezésre állási csoportot egy másodlagos replikára az új titkosítási beállítások alkalmazásához. Ha a rendelkezésre állási csoport nem tud online állapotba kerülni, előfordulhat, hogy a ClusterConnectionOptions nincs megfelelően beállítva. Ellenőrizze a cluster.log-ot a fürt által az SQL Server-replikához történő csatlakozási hiba miatti ODBC-hibák miatt. Választhatóan, ha az új másodlagos replika online állapotban van, és csatlakozik a rendelkezésre állási csoporthoz, visszaállíthatja a rendelkezésre állási csoportot az eredeti elsődleges replikára.
  5. (Nem kötelező) A titkosítás további kikényszerítéséhez állítsa be a Szigorú titkosítás kényszerítése beállítást Yes az SQL Server Konfigurációkezelő tulajdonságaiban az egyes replikákhoz tartozó kapcsolati protokollhoz. Ez a beállítás biztosítja, hogy a rendelkezésre állási csoport replikáihoz tartozó összes kapcsolat szigorú titkosítást használjon. A beállítás módosítása után indítsa újra az egyes SQL Server-replikákat.

Csatlakozás feladatátvevő fürtpéldányhoz

Az SQL Server 2025 (17.x) kezdetével titkosíthatja a Windows Server feladatátvevő fürt és az Always On feladatátvevő fürtpéldány közötti kommunikációt a Strict vagy a Mandatory kapcsolattitkosítási típussal. Ehhez kövesse az alábbi lépéseket:

  1. Ha még nem tette meg, importálja a TLS-tanúsítványt a feladatátvevő fürt minden csomópontjára, a tanúsítványkövetelmények által meghatározott módon. Indítsa újra az SQL Server-példányt a tanúsítvány importálása után.
  2. Tesztelje a feladatátvevő fürtpéldányhoz tartozó kapcsolatokat a jelen cikkben említett, titkosítást kényszerítő módszerek egyikének használatával.
  3. ALTER SERVER CONFIGURATION a(z) CLUSTER_CONNECTION_OPTIONS záradékkal állítsa a Encrypt tulajdonságot Mandatory vagy Strict értékre. Ez biztosítja, hogy a feladatátvevő példánnyal létesített összes kapcsolat a megadott titkosítási típust használja.
  4. Az új titkosítási beállítások alkalmazásához hajtsa végre a példány feladatátvételét egy másodlagos csomópontra. Ha a feladatátvevő fürtpéldány nem tud online állapotba kerülni, akkor lehet, hogy a(z) ClusterConnectionOptions nincs megfelelően beállítva. Ellenőrizze a cluster.log fájlt a fürt SQL Server-példányhoz való csatlakozási hibáival kapcsolatos ODBC-hibák miatt. Ha szeretné, a példányt visszaállíthatja az eredeti elsődleges csomópontra, miután az új másodlagos csomópont online állapotban van, és csatlakozik a feladatátvevő fürtpéldányhoz.
  5. (Nem kötelező) A titkosítás további kikényszerítéséhez állítsa be a Szigorú titkosítás kényszerítése beállítást Yes az SQL Server Konfigurációkezelő tulajdonságaiban a fürt minden csomópontjának kapcsolati protokollja esetében. Ez a beállítás biztosítja, hogy a feladatátvevő fürtpéldányhoz kapcsolódó összes kapcsolat szigorú titkosítást használjon. Végezze el ezt a módosítást a másodlagos csomóponton, végezze el a példány feladatátvételét, majd végezze el a módosítást az elsődleges csomóponton.

SQL Server Agent kapcsolattitkosítás

Az SQL Server 2025-től (17.x) kezdődően az SQL Server Agent a Microsoft ODBC Driver 18 for SQL Server illesztőprogramot használja, amely támogatja a TDS 8.0-t és a TLS 1.3-at. SQL Server Agent automatikusan a SQL Server-példány konfigurálásához igazodva módosítja a kapcsolattitkosítást.

Hogyan határozza meg a SQL Server Agent a titkosítást?

Amikor SQL Server Agent elindul, lekérdezi a következő beállításkulcsokat a helyi gépen a SQL Server konfigurált titkosítási szint meghatározásához:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryption
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName (újdonság a SQL Server 2025 (17.x)-ben)

Ezen értékek alapján SQL Server Agent a kapcsolati módot választja ki:

  • Ha a Force Strict Encryption engedélyezve van, az SQL Server Agent strict használatával (TDS 8.0) csatlakozik.
  • Ha a Force Encryption engedélyezve van, az SQL Server Agent az mandatory (TDS 7.x) használatával csatlakozik.
  • Ha egyik sem engedélyezett, az SQL Server Agent a(z) optional használatával csatlakozik (TDS 7.x).

A helyi T-SQL-feladatlépések ugyanazt a titkosítási konfigurációt öröklik, mint a SQL Server Agent szolgáltatás. Ha SQL Server Agent csatlakozikstrict, a kiszolgálón helyileg futó T-SQL-feladatok ugyanezt a lehetőséget használják.

Important

A TLS 1.3 csak szigorú titkosítással működik. Ha a SQL Server-példányon operációsrendszer-szinten csak a TLS 1.3 van engedélyezve, de csak a Force Encryption van beállítva (nem a Force Strict Encryption), az SQL Server Agent nem tud elindulni, mert a mandatory és optional módhoz TDS 7.x szükséges, amely nem kompatibilis a TLS 1.3-mal.

TLS és titkosítási konfigurációs mátrix

TLS-verzió engedélyezve Konfigurációs beállítás SQL Server Agent eredménye Notes
Csak TLS 1.3 Szigorú titkosítás kényszerítése Sikeresen csatlakozik A TDS 8.0 szigorú titkosítást használ
Csak TLS 1.3 Kényszerített titkosítás Nem lehet csatlakozni A TLS 1.3 szigorú követelményeket igényel
Csak TLS 1.3 None Nem lehet csatlakozni A TLS 1.3 szigorú titkosítást igényel
Csak TLS 1.2 Szigorú titkosítás kényszerítése Sikeresen csatlakozik A TDS 8.0 használhatja a TLS 1.2-t
Csak TLS 1.2 Kényszerített titkosítás Sikeresen csatlakozik TDS 7.x kötelező használatával
Csak TLS 1.2 None Sikeresen csatlakozik TDS 7.x opcionálissal
TLS 1.2 és TLS 1.3 Szigorú titkosítás kényszerítése Sikeresen csatlakozik A TDS 8.0 szigorú titkosítást használ
TLS 1.2 és TLS 1.3 Kényszerített titkosítás Sikeresen csatlakozik TDS 7.x kötelező használatával
TLS 1.2 és TLS 1.3 None Sikeresen csatlakozik TDS 7.x opcionálissal

SQL Server Agent egyeztetett titkosításának ellenőrzése

Miután SQL Server Agent csatlakozik, futtassa a következő lekérdezést a titkosítási mód megerősítéséhez:

SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';

Az encrypt_option oszlop akkor tér TRUE vissza, ha SQL Server Agent titkosítással csatlakozik.

A SQL Server Agent áttekintése: SQL Server Agent.

Szigorú titkosítás kényszerítése az SQL Server Konfigurációkezelőrel

Az SQL Server Konfigurációkezelőrel szigorú titkosítást kényszeríthet ki az SQL Server 2022-től kezdve (16.x). Ehhez kövesse az alábbi lépéseket:

  1. Nyissa meg az SQL Server Konfigurációkezelőt.

  2. A bal oldali panelen bontsa ki az SQL Server hálózati konfigurációját, és válassza az [InstanceName] protokolljait.

  3. Kattintson a jobb gombbal a TCP/IP-címre, és válassza a Tulajdonságok lehetőséget.

  4. A TCP/IP-tulajdonságok párbeszédpanelen lépjen a Jelzők lapra, majd válassza az Igen lehetőséget a Szigorú titkosítás kényszerítése beállításhoz:

    Képernyőkép az SQL Server Konfigurációkezelő Szigorú titkosítás kényszerítése lehetőségéről.

  5. Indítsa újra az SQL Server-példányt egy karbantartási időszak alatt a módosítások alkalmazásához.

Megjegyzések

Ha megjelenik SSL certificate validation failed, ellenőrizze, hogy:

  • A kiszolgálótanúsítvány érvényes a teszteléshez használt gépen
  • Az alábbiak közül legalább az egyik igaz:
    • A SQL Server szolgáltató neve egyezik a hitelesítésszolgáltató nevével vagy a tanúsítványban szereplő DNS-nevek egyikével.
    • HostNameInCertificate a kapcsolati sztring tulajdonsága megegyezik a hitelesítésszolgáltató nevével vagy a tanúsítványban szereplő DNS-nevek egyikével.