Freigeben über


Transportsicherheit für Datenbankspiegelung und AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Die Transportsicherheit umfasst die Authentifizierung und optional die Verschlüsselung von Nachrichten, die zwischen den Datenbanken ausgetauscht werden. Für Datenbankspiegelung und AlwaysOn-Verfügbarkeitsgruppen werden Authentifizierung und Verschlüsselung auf dem Datenbankspiegelungsendpunkt konfiguriert. Eine Einführung in Datenbankspiegelungsendpunkte finden Sie unter "Datenbankspiegelungsendpunkt (SQL Server)".

Authentifizierung

Die Authentifizierung ist der Prozess der Überprüfung, ob ein Benutzer die angegebene Person ist, für die er sich ausgibt. Verbindungen zwischen Datenbankspiegelungsendpunkten erfordern eine Authentifizierung. Verbindungsanforderungen von einem Partner oder Zeugen müssen ggf. authentifiziert werden.

Der Typ der Authentifizierung, die von einer Serverinstanz für datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen verwendet wird, ist eine Eigenschaft des Endpunkts für die Datenbankspiegelung. Zwei Arten von Transportsicherheit sind für Datenbankspiegelungsendpunkte verfügbar: Windows-Authentifizierung (Security Support Provider Interface (SSPI)) und zertifikatbasierte Authentifizierung.

Windows-Authentifizierung

Unter der Windows-Authentifizierung meldet sich jede Serverinstanz auf der anderen Seite mit den Windows-Anmeldeinformationen des Windows-Benutzerkontos an, unter dem der Prozess ausgeführt wird. Für die Windows-Authentifizierung ist möglicherweise eine manuelle Konfiguration von Anmeldekonten erforderlich:

  • Wenn die Instanzen von SQL Server als Dienste unter demselben Domänenkonto ausgeführt werden, ist keine zusätzliche Konfiguration erforderlich.

  • Wenn die Instanzen von SQL Server als Dienste unter verschiedenen Domänenkonten (in derselben oder vertrauenswürdigen Domänen) ausgeführt werden, muss die Anmeldung jedes Kontos im master bei jeder der anderen Serverinstanzen erstellt werden, und diese Anmeldung muss CONNECT-Berechtigungen für den Endpunkt erteilt werden.

  • Wenn die Instanzen von SQL Server als Network Service-Konto ausgeführt werden, muss die Anmeldung jedes Hostcomputerkontos (DomainName**\**ComputerName$) auf jedem der anderen Server in der Master-Datenbank erstellt werden, und diese Anmeldung muss CONNECT-Berechtigungen für den Endpunkt erhalten. Dies liegt daran, dass eine Serverinstanz, die unter dem Netzwerkdienstkonto ausgeführt wird, mithilfe des Domänenkontos des Hostcomputers authentifiziert wird.

Hinweis

Ein Beispiel für das Einrichten einer Datenbankspiegelungssitzung mithilfe der Windows-Authentifizierung finden Sie unter Beispiel: Einrichten der Datenbankspiegelung mithilfe der Windows-Authentifizierung (Transact-SQL).

Zertifikate

In einigen Situationen, z. B. wenn Serverinstanzen nicht in vertrauenswürdigen Domänen vorhanden sind oder SQL Server als lokaler Dienst ausgeführt wird, ist die Windows-Authentifizierung nicht verfügbar. In solchen Fällen sind Zertifikate anstelle von Benutzeranmeldeinformationen erforderlich, um Verbindungsanforderungen zu authentifizieren. Der Spiegelungsendpunkt jeder Serverinstanz muss mit einem eigenen lokal erstellten Zertifikat konfiguriert werden.

Die Verschlüsselungsmethode wird beim Erstellen des Zertifikats eingerichtet. Weitere Informationen finden Sie unter Zulassen der Verwendung von Zertifikaten für ausgehende Verbindungen durch einen Endpunkt für die Datenbankspiegelung (Transact-SQL). Verwalten Sie die von Ihnen verwendeten Zertifikate sorgfältig.

Eine Serverinstanz verwendet den privaten Schlüssel eines eigenen Zertifikats, um beim Einrichten einer Verbindung seine Identität einzurichten. Die Serverinstanz, die die Verbindungsanforderung empfängt, verwendet den öffentlichen Schlüssel des Zertifikats des Absenders, um die Identität des Absenders zu authentifizieren. Betrachten Sie beispielsweise zwei Serverinstanzen, Server_A und Server_B. Server_A verwendet seinen privaten Schlüssel, um den Verbindungsheader zu verschlüsseln, bevor eine Verbindungsanforderung an Server_B gesendet wird. Server_B verwendet den öffentlichen Schlüssel des Zertifikats von Server_A, um den Verbindungsheader zu entschlüsseln. Wenn der entschlüsselte Header korrekt ist, weiß Server_B, dass der Header durch Server_A verschlüsselt wurde und die Verbindung authentifiziert wird. Wenn der entschlüsselte Header falsch ist, weiß Server_B, dass die Verbindungsanforderung inauthentisch ist und die Verbindung verweigert.

Datenverschlüsselung

Standardmäßig erfordert ein Datenbankspiegelungsendpunkt eine Verschlüsselung von Daten, die über Spiegelungsverbindungen gesendet werden. In diesem Fall kann der Endpunkt nur eine Verbindung mit Endpunkten herstellen, die auch Verschlüsselung verwenden. Sofern Sie nicht garantieren können, dass Ihr Netzwerk sicher ist, empfehlen wir, dass Sie eine Verschlüsselung für Ihre Datenbankspiegelungsverbindungen benötigen. Sie können die Verschlüsselung jedoch deaktivieren oder sie unterstützend, aber nicht verpflichtend machen. Wenn die Verschlüsselung deaktiviert ist, werden Die Daten nie verschlüsselt, und der Endpunkt kann keine Verbindung mit einem Endpunkt herstellen, der eine Verschlüsselung erfordert. Wenn die Verschlüsselung unterstützt wird, werden Daten nur verschlüsselt, wenn der entgegengesetzte Endpunkt entweder verschlüsselung unterstützt oder erfordert.

Hinweis

Spiegelungsendpunkte, die mit SQL Server Management Studio erstellt werden, werden entweder mit aktivierter oder deaktivierter Verschlüsselung erstellt. Um die Verschlüsselungseinstellung in SUPPORTED zu ändern, verwenden Sie die ALTER ENDPOINT Transact-SQL-Anweisung. Weitere Informationen finden Sie unter ALTER ENDPOINT (Transact-SQL).

Optional können Sie die Verschlüsselungsalgorithmen steuern, die von einem Endpunkt verwendet werden können, indem Sie einen der folgenden Werte für die ALGORITHM-Option in einer CREATE ENDPOINT-Anweisung oder ALTER ENDPOINT-Anweisung angeben:

ALGORITHMUSwert BESCHREIBUNG
RC4 Gibt an, dass der Endpunkt den RC4-Algorithmus verwenden muss. Dies ist die Standardeinstellung.

Hinweis: Der RC4-Algorithmus ist veraltet. Dieses Feature wird in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie dieses Feature nicht in neuer Entwicklungsarbeit, und ändern Sie Anwendungen, die dieses Feature derzeit so schnell wie möglich verwenden. Stattdessen wird die Verwendung von AES empfohlen.
AES Gibt an, dass der Endpunkt den AES-Algorithmus verwenden muss.
AES RC4 Gibt an, dass die beiden Endpunkte für einen Verschlüsselungsalgorithmus mit diesem Endpunkt verhandeln, der den AES-Algorithmus bevorzugt.
RC4 AES Gibt an, dass die beiden Endpunkte für einen Verschlüsselungsalgorithmus mit diesem Endpunkt verhandeln, der den RC4-Algorithmus bevorzugt.

Wenn Verbindungsendpunkte beide Algorithmen, aber in unterschiedlichen Reihenfolgen angeben, hat der Endpunkt, der die Verbindung akzeptiert, Vorrang.

Hinweis

Der RC4-Algorithmus wird nur aus Gründen der Abwärtskompatibilität unterstützt. Neues Material kann nur mit RC4 oder RC4_128 verschlüsselt werden, wenn die Datenbank den Kompatibilitätsgrad 90 oder 100 besitzt. (Nicht empfohlen.) Verwenden Sie stattdessen einen neueren Algorithmus, z. B. einen der AES-Algorithmen. In SQL Server 2012 und höheren Versionen können Mit RC4 oder RC4_128 verschlüsseltes Material in jeder Kompatibilitätsstufe entschlüsselt werden.

Obwohl deutlich schneller als AES, ist RC4 ein relativ schwacher Algorithmus, während AES ein relativ starker Algorithmus ist. Daher wird empfohlen, den AES-Algorithmus zu verwenden.

Informationen zur Transact-SQL Syntax zum Angeben der Verschlüsselung finden Sie unter CREATE ENDPOINT (Transact-SQL).

Verwandte Aufgaben

So konfigurieren Sie die Transportsicherheit für einen Datenbankspiegelungsendpunkt

Siehe auch

Auswählen eines Verschlüsselungsalgorithmus
ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
Sicherheitscenter für SQL Server-Datenbank-Engine und Azure SQL-Datenbank
Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz (SQL Server)
Der Datenbankspiegelungs-Endpunkt (SQL Server)
sys.database_mirroring_endpoints (Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)
Problembehandlung der Konfiguration für Datenbankspiegelung (SQL Server)
Problembehandlung bei der AlwaysOn-Verfügbarkeitsgruppenkonfiguration (SQL Server)gelöscht