Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
OLE DB-stuurprogramma downloaden
SQL Server versleutelt altijd netwerkpakketten die zijn gekoppeld aan aanmelden. Als er geen certificaat is ingericht op de server wanneer deze wordt opgestart, genereert SQL Server een zelfondertekend certificaat, dat wordt gebruikt om aanmeldingspakketten te versleutelen.
Zelfondertekende certificaten garanderen geen veiligheid. De versleutelde handshake is gebaseerd op NT LAN Manager (NTLM). Het wordt ten zeerste aanbevolen om een verifieerbaar certificaat in te richten op SQL Server voor veilige connectiviteit. Transport Security Layer (TLS) kan alleen worden beveiligd met certificaatvalidatie.
Toepassingen kunnen ook om versleuteling van al het netwerkverkeer vragen met behulp van trefwoorden of verbindingseigenschappen van een verbindingsreeks. De trefwoorden zijn "Encrypt" voor OLE DB bij gebruik van een providerstring met IDbInitialize::Initialize, of "Use Encryption for Data" voor ADO en OLE DB bij gebruik van een initialisatiestring met IDataInitialize. Versleuteling kan ook worden geconfigureerd op de clientcomputer in het register met behulp van de optie Protocolversleuteling forceren . Zie Registerinstellingenvoor meer informatie. Voor versleuteling van al het netwerkverkeer voor een verbinding is standaard vereist dat een certificaat op de server wordt ingericht. Door uw client in te stellen op het vertrouwen van het certificaat op de server, kunt u kwetsbaar worden voor man-in-the-middle-aanvallen. Als u een verifieerbaar certificaat op de server implementeert, moet u ervoor zorgen dat u de clientinstellingen voor het vertrouwen van het certificaat wijzigt in ONWAAR.
Zie Trefwoorden voor verbindingsreeksen gebruiken met OLE DB-stuurprogramma voor SQL Server voor meer informatie over trefwoorden voor verbindingsreeksen.
Als u wilt dat versleuteling wordt gebruikt wanneer een certificaat niet op de server is ingericht, moeten de instellingen van het Force Protocol EncryptionTrust Server Certificateclientregister worden ingesteld. In dit geval wordt bij versleuteling gebruikgemaakt van een zelfondertekend servercertificaat zonder validatie als er geen verifieerbaar certificaat op de server is ingericht.
Versleuteling en gedrag van certificaatvalidatie
Toepassingsinstellingen verlagen nooit het beveiligingsniveau dat in het register is ingesteld, maar kunnen het wel versterken. Zie Registerinstellingenvoor meer informatie. Als Force Protocol Encryption deze optie bijvoorbeeld niet is ingesteld voor de client, kan een toepassing zelf om versleuteling vragen. Om versleuteling te garanderen, zelfs wanneer een servercertificaat niet is ingericht, kan een toepassing versleuteling aanvragen en .TrustServerCertificate Als TrustServerCertificate dit echter niet is ingeschakeld in de registerconfiguratie van de client, is nog steeds een ingericht servercertificaat vereist.
Versie 19 van het OLE DB-stuurprogramma voor SQL Server introduceert belangrijke wijzigingen in de versleutelingsgerelateerde API's. Zie Wijzigingen in versleutelingseigenschappen voor meer informatie.
Belangrijke versie 19
In de volgende tabel wordt de evaluatie van de versleutelingsinstellingen beschreven:
| Instelling van het clientregister voor protocolversleuteling forceren | Verbindingsreeks/verbindingskenmerk Versleutelen/versleuteling gebruiken voor gegevens | Resulterende versleuteling |
|---|---|---|
| 0 (standaard) | Nee/Optioneel | Optioneel |
| 0 (standaard) | Ja/Verplicht (standaard) | Verplicht |
| 0 (standaard) | Streng | Streng |
| 1 | Nee/Optioneel | Verplicht |
| 1 | Ja/Verplicht (standaard) | Verplicht |
| 1 | Streng | Streng |
| 2 | Genegeerd | Streng |
In de volgende tabel worden de resulterende versleuteling en validatie beschreven:
| Encryptie | Instelling van het clientregister voor Trust Server-certificaat | Verbindingsreeks/verbindingskenmerk Trust Server-certificaat | Resultaat |
|---|---|---|---|
| Optioneel | Niet van toepassing. | Niet van toepassing. | Versleuteling vindt alleen plaats voor LOGIN-pakketten. |
| Verplicht | 0 | Genegeerd | Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| Verplicht | 1 (standaard) | Nee (standaard) | Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| Verplicht | 1 (standaard) | Ja | Versleuteling vindt altijd plaats, maar kan een zelfondertekend servercertificaat gebruiken. |
| Streng | Niet van toepassing. | Niet van toepassing. | Versleuteling vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
Opmerking
In versies 19.0 tot en met 19.3 wordt tijdens de installatie de standaardregisterinstelling voor het Trust Server-certificaat gelezen uit de registerinstelling van versie 18, indien deze bestaat.
Waarschuwing
De voorgaande tabel biedt alleen een leidraad voor het systeemgedrag onder verschillende configuraties. Voor een veilige verbinding moet u ervoor zorgen dat de client en de server beide versleuteling vereisen (zie Versleutelingsinstellingen configureren in SQL Server voor configuratie aan de serverzijde). Zorg er ook voor dat de server een verifieerbaar certificaat heeft en dat de TrustServerCertificate instelling op de client is ingesteld op FALSE.
Opmerking
Vanaf versie 19.2 van het OLE DB-stuurprogramma kunnen TDS 8.0-verbindingen worden geconfigureerd voor het gebruik van TLS 1.3. Zie TLS 1.3-ondersteuning voor meer informatie.
Primaire versie 18 met nieuwe verificatiemethoden
Voor versies 18.x.x geldt dat wanneer de nieuwe trefwoorden voor de verbindingsreeks Authentication of Access Token (of de bijbehorende eigenschappen) worden gebruikt, het stuurprogramma de standaardcoderingswaarde overschrijft door deze in te stellen op yes. Overschrijven gebeurt op het moment dat het gegevensbronobject wordt geïnitialiseerd. Als de versleuteling op welke manier dan ook vóór de initialisatie wordt ingesteld, wordt de waarde gerespecteerd en niet overschreven.
Opmerking
In ADO-applicaties en in applicaties die de IDBInitialize interface verkrijgen via IDataInitialize::GetDataSource, stelt het kernonderdeel dat de interface implementeert de versleuteling expliciet in op de standaardwaarde van no. Als gevolg hiervan respecteren de nieuwe verificatie-eigenschappen/trefwoorden deze instelling en wordt de versleutelingswaarde niet overschreven. Daarom wordt aanbevolen dat deze apps expliciet worden ingesteld Use Encryption for Data=true om de standaardwaarde te overschrijven.
Om de beveiliging te verbeteren, respecteren de nieuwe verificatiemethoden de TrustServerCertificate instelling (en de bijbehorende trefwoorden/eigenschappen van de verbindingsreeks), onafhankelijk van de versleutelingsinstelling van de client. Als gevolg hiervan wordt het servercertificaat standaard gevalideerd. Het stuurprogramma bepaalt als volgt of het servercertificaat moet worden gevalideerd:
| Instelling van de clientinstelling voor het certificaat van de vertrouwde server | Verbindingsreeks/verbindingskenmerk Trust Server-certificaat | Validatie van certificaten |
|---|---|---|
| 0 | Nee (standaard) | Ja |
| 0 | Ja | Ja |
| 1 | Nee (standaard) | Ja |
| 1 | Ja | Nee. |
In de volgende tabel wordt de evaluatie van de versleutelingsinstellingen beschreven:
| Clientinstelling voor protocolversleuteling forceren | Verbindingsreeks/verbindingskenmerk Versleutelen/versleuteling gebruiken voor gegevens | Resulterende versleuteling |
|---|---|---|
| 0 | Nee (standaard) | Nee. |
| 0 | Ja | Ja |
| 1 | Nee (standaard) | Ja |
| 1 | Ja | Ja |
In de volgende tabel worden de resulterende versleuteling en validatie beschreven:
| Resulterende versleuteling | Validatie van certificaten | Resultaat |
|---|---|---|
| Nee. | Nee. | Versleuteling vindt alleen plaats voor LOGIN-pakketten. |
| Nee. | Ja | Versleuteling vindt alleen plaats voor LOGIN-pakketten als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| Ja | Nee. | Versleuteling van al het netwerkverkeer vindt altijd plaats, maar kan gebruik maken van een zelfondertekend servercertificaat. |
| Ja | Ja | Versleuteling van al het netwerkverkeer vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
Primaire versie 18 met verouderde verificatiemethoden
In de volgende tabel worden de resultaten van versleuteling en validatie voor verouderde verificatiemethoden beschreven:
| Clientinstelling voor protocolversleuteling forceren | Instelling van de clientinstelling voor het certificaat van de vertrouwde server | Verbindingsreeks/verbindingskenmerk Versleutelen/versleuteling gebruiken voor gegevens | Verbindingsreeks/verbindingskenmerk Trust Server-certificaat | Resultaat |
|---|---|---|---|---|
| 0 | Niet van toepassing. | Nee (standaard) | Niet van toepassing. | Versleuteling vindt alleen plaats voor LOGIN-pakketten. |
| 0 | Niet van toepassing. | Ja | Nee (standaard) | Versleuteling van al het netwerkverkeer vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| 0 | Niet van toepassing. | Ja | Ja | Versleuteling van al het netwerkverkeer vindt altijd plaats, maar kan gebruik maken van een zelfondertekend servercertificaat. |
| 1 | 0 | Genegeerd | Genegeerd | Versleuteling van al het netwerkverkeer vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| 1 | 1 | Nee (standaard) | Niet van toepassing. | Versleuteling van al het netwerkverkeer vindt altijd plaats, maar kan gebruik maken van een zelfondertekend servercertificaat. |
| 1 | 1 | Ja | Nee (standaard) | Versleuteling van al het netwerkverkeer vindt alleen plaats als er een verifieerbaar servercertificaat is, anders mislukt de verbindingspoging. |
| 1 | 1 | Ja | Ja | Versleuteling van al het netwerkverkeer vindt altijd plaats, maar kan gebruik maken van een zelfondertekend servercertificaat. |
Zie ook
OLE DB-stuurprogramma voor SQL Server-functies
Initialisatie- en autorisatie-eigenschappen
Trefwoorden voor verbindingsreeksen
Grote verschillen in versies
Registerinstellingen