Delen via


Transportbeveiliging - Databasespiegeling - AlwaysOn-beschikbaarheid

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.

In dit onderwerp:

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 exemplaren van SQL Server worden uitgevoerd als services onder verschillende domeinaccounts (in dezelfde of vertrouwde domeinen), moet de aanmelding van elk account in master op elk van de andere serverexemplaren worden gemaakt, en moeten op dat account verbindingsrechten op het eindpunt worden verleend.

  • Als de exemplaren van SQL Server worden uitgevoerd als het Network Service account, moet het login van elk hostcomputeraccount (DomainName\ComputerName$) worden aangemaakt in de master op elk van de andere servers, en aan dat login moet CONNECT-machtigingen worden verleend op het eindpunt. Dit komt doordat een serverexemplaar dat wordt uitgevoerd onder het Network Service-account, wordt geverifieerd met behulp van het domeinaccount van de hostcomputer.

Opmerking

Voor een voorbeeld van het instellen van een databasespiegelingsessie met Behulp van Windows-verificatie, zie voorbeeld: Databasespiegeling instellen met behulp van Windows-verificatie (Transact-SQL).

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 Toestaan dat een eindpunt voor databasespiegeling certificaten gebruikt voor uitgaande verbindingen (Transact-SQL)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 serverexemplaren, Server_A en Server_B. Server_A de persoonlijke sleutel gebruikt om de verbindingsheader te versleutelen voordat een verbindingsaanvraag naar Server_B wordt verzonden. Server_B gebruikt de openbare sleutel van het certificaat van Server_A om de verbindingskop te ontsleutelen. Als de ontsleutelde header juist is, weet Server_B dat de header is versleuteld door Server_A en wordt de verbinding geverifieerd. Als de ontsleutelde header onjuist is, weet Server_B dat de verbindingsaanvraag niet-geverifieerd is en de verbinding weigert.

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 wilt wijzigen in SUPPORTED, gebruikt u de instructie ALTER ENDPOINT Transact-SQL. Zie ALTER ENDPOINT (Transact-SQL)voor meer informatie.

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

ALGORITMEwaarde Beschrijving
RC4 Hiermee geeft u op dat het eindpunt het RC4-algoritme moet gebruiken. Dit is de standaardwaarde.

**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 Hiermee geeft u op dat het eindpunt het AES-algoritme moet gebruiken.
AES RC4 Geeft aan dat de twee eindpunten zullen onderhandelen over een versleutelingsalgoritme waarbij dit eindpunt voorkeur geeft aan het AES-algoritme.
RC4 AES Hiermee geeft u aan dat de twee eindpunten onderhandelen over een versleutelingsalgoritme, waarbij dit eindpunt de voorkeur geeft aan het RC4-algoritme.

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

Opmerking

Het RC4-algoritme wordt alleen ondersteund voor achterwaartse compatibiliteit. Nieuw materiaal kan 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 hogere versies kan materiaal dat is versleuteld met RC4 of RC4_128 worden ontsleuteld in elk compatibiliteitsniveau.

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

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

Gerelateerde taken

Transportbeveiliging configureren voor een eindpunt voor databasespiegeling

Zie ook

Een versleutelingsalgoritmen kiezen
ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
Security Center for SQL Server Database Engine en Azure SQL Database
Metagegevens beheren bij het beschikbaar maken van een database op een ander serverexemplaar (SQL Server)
Het Eindpunt voor Databasespiegeling (SQL Server)
sys.database_mirroring_endpoints (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)
Problemen met de configuratie van databasespiegeling (SQL Server) oplossen
problemen met configuratie van AlwaysOn-beschikbaarheidsgroepen (SQL Server) oplossen