Transportbeveiliging in beschikbaarheidsgroepen en databasespiegeling

Van toepassing op:SQL Server

Transportbeveiliging omvat verificatie en, optioneel, versleuteling van berichten die worden uitgewisseld tussen de databases. Voor databasespiegeling en AlwaysOn-beschikbaarheidsgroepen worden verificatie en versleuteling geconfigureerd op het eindpunt voor databasespiegeling. Zie het eindpunt voor databasespiegeling (SQL Server) voor een inleiding tot eindpunten voor databasespiegeling.

Authenticatie

Verificatie is het proces waarbij wordt gecontroleerd of een gebruiker de gebruiker is die de gebruiker beweert te zijn. Voor verbindingen tussen eindpunten voor databasespiegeling is verificatie vereist. Verbindingsaanvragen van een partner of getuige, indien van toepassing, moeten worden geverifieerd.

Het type verificatie dat wordt gebruikt door een serverexemplaar voor databasespiegeling of Always On-beschikbaarheidsgroepen is een eigenschap van het endpoint voor databasespiegeling. Er zijn twee soorten transportbeveiliging beschikbaar voor eindpunten voor databasespiegeling: Windows-verificatie (de SSPI (Security Support Provider Interface) en verificatie op basis van certificaten.

Windows-verificatie

Onder Windows-verificatie meldt elke serverinstantie zich bij de andere aan met behulp van de Windows-referenties van het Windows-gebruikersaccount waaronder het proces draait. Windows-verificatie vereist mogelijk een handmatige configuratie van aanmeldingsaccounts, als volgt:

  • Als de exemplaren van SQL Server worden uitgevoerd als services onder hetzelfde domeinaccount, is er geen extra configuratie vereist.

  • Als de instanties van SQL Server als services worden uitgevoerd onder verschillende domeinaccounts (in dezelfde of vertrouwde domeinen), moet op elk van de andere serverinstanties in master een login voor elk account worden gemaakt en moet die login de machtiging CONNECT voor het eindpunt krijgen.

  • Als de exemplaren van SQL Server worden uitgevoerd onder het Network Service-account, moet voor het account van elke hostcomputer (<domain-name>\<computer-name>$) een aanmelding worden gemaakt in master op elk van de andere servers, en aan die aanmelding moeten CONNECT-machtigingen voor het eindpunt worden verleend. Dit komt doordat een serverexemplaar dat wordt uitgevoerd onder het Network Service-account, wordt geverifieerd met behulp van het domeinaccount van de hostcomputer.

Opmerking

Zie Voorbeeld: Databasespiegeling configureren met behulp van Windows authentication voor een voorbeeld van het instellen van een databasespiegelingssessie met behulp van Windows Authentication.

Certificaten

In sommige gevallen, zoals wanneer serverexemplaren zich niet in vertrouwde domeinen bevinden of wanneer SQL Server wordt uitgevoerd als een lokale service, is Windows verificatie niet beschikbaar. In dergelijke gevallen zijn certificaten vereist om verbindingsaanvragen te verifiëren in plaats van gebruikersreferenties. Het spiegelingseindpunt van elk serverexemplaren moet worden geconfigureerd met een eigen lokaal gemaakt certificaat.

De versleutelingsmethode wordt tot stand gebracht wanneer het certificaat wordt gemaakt. Zie Databasespiegeling - Certificaten gebruiken voor uitgaande verbindingen voor meer informatie. Beheer zorgvuldig de certificaten die u gebruikt.

Een serverexemplaar gebruikt de private sleutel van zijn eigen certificaat om zijn identiteit vast te stellen bij het opzetten van een verbinding. Het serverexemplaar die de verbindingsaanvraag ontvangt, gebruikt de openbare sleutel van het certificaat van de afzender om de identiteit van de afzender te verifiëren. Denk bijvoorbeeld aan twee serverinstanties, Server_A en Server_B. Server_A gebruikt zijn privésleutel om de verbindingsheader te versleutelen voordat het een verbindingsverzoek naar Server_B stuurt. Server_B gebruikt de openbare sleutel van Server_Ahet certificaat om de verbindingsheader te ontsleutelen. Als de ontsleutelde header juist is, Server_B weet u dat de header is versleuteld door Server_Aen wordt de verbinding geverifieerd. Als de ontsleutelde header onjuist is, Server_B weet u dat de verbindingsaanvraag niet-geverifieerd is en de verbinding wordt geweigerd.

Gegevensversleuteling

Voor een eindpunt voor databasespiegeling is standaard versleuteling van gegevens vereist die worden verzonden via spiegelingsverbindingen. In dit geval kan het eindpunt alleen verbinding maken met eindpunten die ook gebruikmaken van versleuteling. Tenzij u kunt garanderen dat uw netwerk veilig is, raden we u aan versleuteling te vereisen voor uw databasespiegelingsverbindingen. U kunt echter versleuteling uitschakelen of deze ondersteund maken, maar niet vereist. Als versleuteling is uitgeschakeld, worden gegevens nooit versleuteld en kan het eindpunt geen verbinding maken met een eindpunt waarvoor versleuteling is vereist. Als versleuteling wordt ondersteund, worden gegevens alleen versleuteld als het tegenovergestelde eindpunt versleuteling ondersteunt of vereist.

Opmerking

Mirroring endpoints die door SQL Server Management Studio zijn gemaakt, hebben versleuteling die verplicht is of is uitgeschakeld. Als u de versleutelingsinstelling SUPPORTEDwilt wijzigen, gebruikt u de ALTER ENDPOINT instructie Transact-SQL. Zie ALTER ENDPOINT voor meer informatie.

U kunt desgewenst de versleutelingsalgoritmen beheren die door een eindpunt kunnen worden gebruikt door een van de volgende waarden op te geven voor de ALGORITHM optie in een CREATE ENDPOINT instructie of ALTER ENDPOINT instructie:

Waarde ALGORITHM Beschrijving
RC4 (standaard) Hiermee geeft u op dat het eindpunt het RC4-algoritme moet gebruiken.

Waarschuwing: het RC4-algoritme is afgeschaft. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. U wordt aangeraden AES te gebruiken.
AES (aanbevolen) Hiermee geeft u op dat het eindpunt het AES-algoritme moet gebruiken.
AES RC4 Hiermee geeft u op dat de twee eindpunten onderhandelen over een versleutelingsalgoritmen met dit eindpunt die voorkeur geven aan het AES-algoritme.
RC4 AES Hiermee geeft u op dat de twee eindpunten onderhandelen over een versleutelingsalgoritmen met dit eindpunt die voorkeur geven aan het RC4-algoritme.

Als de verbindende eindpunten beide algoritmen specificeren, maar in verschillende volgordes, wint het eindpunt dat de verbinding accepteert.

Caution

Hoewel het aanzienlijk sneller is dan AES, is RC4 een relatief zwak algoritme, terwijl AES een relatief sterk algoritme is. Daarom moet u het AES-algoritme gebruiken.

Het RC4-algoritme wordt alleen ondersteund voor achterwaartse compatibiliteit. Gegevens kunnen alleen worden versleuteld met RC4 of RC4_128 wanneer de database compatibiliteitsniveau 90 of 100 heeft (niet aanbevolen). Gebruik in plaats daarvan een nieuwer algoritme, zoals een van de AES-algoritmen. In SQL Server 2012 (11.x) en latere versies kunnen gegevens die zijn versleuteld met RC4 of RC4_128 worden ontsleuteld in elk compatibiliteitsniveau.

Zie voor meer informatie over de Transact-SQL syntaxis voor het opgeven van versleuteling CREATE ENDPOINT.

Transportbeveiliging configureren voor eindpunten voor databasespiegeling