Megosztás a következőn keresztül:


Titkosítás és tanúsítványérvényesítés az OLE DB-ben

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

OLE DB-illesztő letöltése

Az SQL Server mindig titkosítja a bejelentkezéshez társított hálózati csomagokat. Ha indításkor nincs tanúsítvány kiépítve a kiszolgálón, az SQL Server létrehoz egy önaláírt tanúsítványt, amely a bejelentkezési csomagok titkosítására szolgál.

Az önaláírt tanúsítványok nem garantálják a biztonságot. A titkosított kézfogás az NT LAN Manager (NTLM) rendszeren alapul. Erősen ajánlott egy ellenőrizhető tanúsítvány kiépítése SQL Server a biztonságos kapcsolat érdekében. A Transport Security Layer (TLS) csak tanúsítványellenőrzéssel tehető biztonságossá.

Az alkalmazások a kapcsolati karakterláncok kulcsszavak vagy kapcsolattulajdonságok használatával is kérhetik az összes hálózati forgalom titkosítását. A kulcsszavak a következők: "Titkosítás" az OLE DB esetében, ha szolgáltatói karakterláncot IDbInitialize::Initializehasznál a , vagy a "Use Encryption for Data" az ADO és az OLE DB inicializálási karakterlánc használata esetén .IDataInitialize A titkosítás a beállításjegyzékben szereplő ügyfélszámítógépen is konfigurálható a Force Protocol Encryption beállítással. További információ: Beállításjegyzék beállításai. Alapértelmezés szerint a kapcsolat összes hálózati forgalmának titkosításához tanúsítványt kell kiépíteni a kiszolgálón. Ha úgy állítja be az ügyfelet, hogy megbízzon a kiszolgálón lévő tanúsítványban, sebezhetővé válhat a közbeékelődéses támadásokkal szemben. Ha ellenőrizhető tanúsítványt telepít a kiszolgálón, győződjön meg arról, hogy a tanúsítvány megbízhatóságára vonatkozó ügyfélbeállításokat HAMIS értékre módosítja.

További információ a kapcsolati karakterlánc kulcsszavairól: Kapcsolati karakterlánc kulcsszavak használata az SQL Server OLE DB-illesztőprogramjával.

Ahhoz, hogy engedélyezze a titkosítás használatát, ha a tanúsítvány nincs kiépítve a kiszolgálón, be kell állítani az Force Protocol Encryption és az Trust Server Certificate ügyfél beállításjegyzékének beállításait . Ebben az esetben a titkosítás önaláírt kiszolgálótanúsítványt használ ellenőrzés nélkül, ha nincs ellenőrizhető tanúsítvány kiépítve a kiszolgálón.

Titkosítási és tanúsítványérvényesítési viselkedés

Az alkalmazásbeállítások soha nem csökkentik a rendszerleíró adatbázisban beállított biztonsági szintet, de megerősíthetik azt. További információ: Beállításjegyzék beállításai. Ha például Force Protocol Encryption nincs beállítva az ügyfélhez, az alkalmazás magát kérheti a titkosítást. A titkosítás garantálása érdekében akkor is, ha a kiszolgálói tanúsítvány nincs kiépítve, az alkalmazás titkosítást kérhet, és engedélyezheti TrustServerCertificatea . Ha azonban TrustServerCertificate nincs engedélyezve az ügyfél beállításjegyzék-konfigurációjában, akkor is szükség van egy kiépített kiszolgálói tanúsítványra.

Az SQL Server OLE DB-illesztőprogramjának 19-es verziója kompatibilitástörő változásokat vezet be a titkosítással kapcsolatos API-kban. További információ: Titkosítási tulajdonságok változásai.

Főverzió: 19

Az alábbi táblázat a titkosítási beállítások kiértékelését ismerteti:

Kényszerített protokolltitkosítás ügyfél beállításjegyzék-beállítása Kapcsolati karakterlánc/kapcsolatattribútum Adatok titkosítása/titkosításának használata Eredményül kapott titkosítás
0 (alapértelmezett) Nem/Opcionális Opcionális
0 (alapértelmezett) Igen/Kötelező (alapértelmezett) Kötelező
0 (alapértelmezett) Szigorú Szigorú
1 Nem/Opcionális Kötelező
1 Igen/Kötelező (alapértelmezett) Kötelező
1 Szigorú Szigorú
2 Figyelmen kívül hagyva Szigorú

Az alábbi táblázat az eredményül kapott titkosítást és ellenőrzést ismerteti:

Titkosítás Megbízhatósági kiszolgáló tanúsítvány ügyfél beállításjegyzék-beállítása Kapcsolati sztring/kapcsolatattribútum Megbízhatósági kiszolgáló tanúsítványa Eredmény
Opcionális Nincs adat. Nincs adat. A titkosítás csak a LOGIN csomagok esetében történik.
Kötelező 0 Figyelmen kívül hagyva A titkosítás csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
Kötelező 1 (alapértelmezett) Nem (alapértelmezett) A titkosítás csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
Kötelező 1 (alapértelmezett) Igen A titkosítás mindig megtörténik, de önaláírt kiszolgálói tanúsítványt is használhat.
Szigorú Nincs adat. Nincs adat. A titkosítás csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.

Megjegyzés:

A 19.0–19.3-as verziókban a telepítés során a rendszer beolvassa a Megbízhatósági kiszolgáló tanúsítvány alapértelmezett beállításjegyzék-beállítását a 18-as verziójú beállításjegyzék-beállításból, ha van ilyen.

Figyelmeztetés

Az előző táblázat csak útmutatót nyújt a rendszer viselkedéséről különböző konfigurációk esetén. A biztonságos kapcsolat érdekében győződjön meg arról, hogy az ügyfél és a kiszolgáló egyaránt titkosítást igényel (a kiszolgálóoldali konfigurációért lásd: Titkosítási beállítások konfigurálása a SQL Server). Győződjön meg arról is, hogy a kiszolgáló ellenőrizhető tanúsítvánnyal rendelkezik, és hogy az ügyfél beállítása TrustServerCertificate HAMIS értékre van állítva.

Megjegyzés:

Az OLE DB-illesztőprogram 19.2-es verziójától kezdődően a TDS 8.0-kapcsolatok konfigurálhatók a TLS 1.3 használatára. További információ: TLS 1.3 támogatása.

18-as főverzió új hitelesítési módszerekkel

A 18.x.x verziók esetében a biztonság javítása érdekében az új hitelesítési vagy hozzáférési jogkivonat kapcsolati karakterlánc kulcsszavainak (vagy a hozzájuk tartozó tulajdonságoknak) használatakor az illesztőprogram felülbírálja az alapértelmezett titkosítási értéket a következőre yes: . A felülbírálás az adatforrás-objektum inicializálásakor történik. Ha a titkosítás bármilyen módon be van állítva az inicializálás előtt, a rendszer tiszteletben tartja az értéket, és nem bírálja felül.

Megjegyzés:

Az ADO-alkalmazásokban és az interfészt IDBInitialize beszerző IDataInitialize::GetDataSourcealkalmazásokban az interfészt megvalósító alapösszetevő explicit módon beállítja a titkosítást az alapértelmezett értékre.no Ennek eredményeképpen az új hitelesítési tulajdonságok/kulcsszavak tiszteletben tartják ezt a beállítást, és a titkosítási érték nem bírálódik felül. Ezért javasoljuk , hogy ezek az alkalmazások explicit módon felülbírálják Use Encryption for Data=true az alapértelmezett értéket.

A biztonság növelése érdekében az új hitelesítési módszerek TrustServerCertificate tiszteletben tartják a beállítást (és a hozzá tartozó kapcsolati sztring kulcsszavait/tulajdonságait). Ennek eredményeképpen a kiszolgálói tanúsítvány alapértelmezés szerint érvényesítve van. Az illesztőprogram az alábbiak szerint határozza meg, hogy érvényesítse-e a kiszolgálói tanúsítványt:

Megbízhatósági kiszolgáló tanúsítványa ügyfélbeállítás Kapcsolati sztring/kapcsolatattribútum Megbízhatósági kiszolgáló tanúsítványa Tanúsítvány érvényesítése
0 Nem (alapértelmezett) Igen
0 Igen Igen
1 Nem (alapértelmezett) Igen
1 Igen Nem

Az alábbi táblázat a titkosítási beállítások kiértékelését ismerteti:

Kényszerített protokolltitkosítás ügyfélbeállítás Kapcsolati karakterlánc/kapcsolatattribútum Adatok titkosítása/titkosításának használata Eredményül kapott titkosítás
0 Nem (alapértelmezett) Nem
0 Igen Igen
1 Nem (alapértelmezett) Igen
1 Igen Igen

Az alábbi táblázat az eredményül kapott titkosítást és ellenőrzést ismerteti:

Eredményül kapott titkosítás Tanúsítvány érvényesítése Eredmény
Nem Nem A titkosítás csak a LOGIN csomagok esetében történik.
Nem Igen A titkosítás csak akkor történik meg a LOGIN csomagok esetében, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
Igen Nem Az összes hálózati forgalom titkosítása mindig megtörténik, de önaláírt kiszolgálói tanúsítványt is használhat.
Igen Igen Az összes hálózati forgalom titkosítása csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.

18-as főverzió örökölt hitelesítési módszerekkel

Az alábbi táblázat az örökölt hitelesítési módszerek titkosítási és érvényesítési eredményét ismerteti:

Kényszerített protokolltitkosítás ügyfélbeállítás Megbízhatósági kiszolgáló tanúsítványa ügyfélbeállítás Kapcsolati karakterlánc/kapcsolatattribútum Adatok titkosítása/titkosításának használata Kapcsolati sztring/kapcsolatattribútum Megbízhatósági kiszolgáló tanúsítványa Eredmény
0 Nincs adat. Nem (alapértelmezett) Nincs adat. A titkosítás csak a LOGIN csomagok esetében történik.
0 Nincs adat. Igen Nem (alapértelmezett) Az összes hálózati forgalom titkosítása csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
0 Nincs adat. Igen Igen Az összes hálózati forgalom titkosítása mindig megtörténik, de önaláírt kiszolgálói tanúsítványt is használhat.
1 0 Figyelmen kívül hagyva Figyelmen kívül hagyva Az összes hálózati forgalom titkosítása csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
1 1 Nem (alapértelmezett) Nincs adat. Az összes hálózati forgalom titkosítása mindig megtörténik, de önaláírt kiszolgálói tanúsítványt is használhat.
1 1 Igen Nem (alapértelmezett) Az összes hálózati forgalom titkosítása csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
1 1 Igen Igen Az összes hálózati forgalom titkosítása mindig megtörténik, de önaláírt kiszolgálói tanúsítványt is használhat.

Lásd még

OLE DB-illesztő sql serveres szolgáltatásokhoz
Inicializálási és engedélyezési tulajdonságok
Kapcsolati sztring kulcsszavak
Főbb verzióbeli különbségek
Rendszerleíró adatbázis beállításai