Mindern von Bedrohungen und Sicherheitsrisiken (Replikation)

In diesem Thema werden Techniken zum Mindern von Bedrohungen für eine Replikationstopologie beschrieben.

Verschlüsselung

Als Verschlüsselung wird der Vorgang bezeichnet, bei dem Daten in eine Form konvertiert werden, die ohne einen speziellen Schlüssel nicht gelesen werden kann. Auf diese Weise wird sichergestellt, dass nur der vorgesehene Empfänger die Daten lesen kann. Durch die Replikation werden keine Daten verschlüsselt, die in Tabellen gespeichert bzw. über Netzwerkverbindungen übermittelt werden. Dies ist so beabsichtigt, da auf der Transportebene eine Reihe von Technologien zur Verschlüsselung zur Verfügung stehen, einschließlich dieser Technologien gemäß Industriestandard: Virtuelles Privates Netzwerk (VPN), Secure Sockets Layer (SSL) und IP Security (IPSec). Es empfiehlt sich, eine dieser Verschlüsselungsmethoden für die Verbindungen zwischen Computern in einer Replikationstopologie zu verwenden. Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen zu SQL Server. Informationen zum Verwenden von VPN und SSL für die Replikation von Daten über das Internet finden Sie unter Absichern der Replikation über das Internet.

Wenn Sie SSL zum Sichern der Verbindungen zwischen Computern in einer Replikationstopologie verwenden, geben Sie den Wert 1 oder 2 für den -EncryptionLevel-Parameter der einzelnen Replikations-Agents an (der Wert 2 wird empfohlen). Mit dem Wert 1 wird angegeben, dass eine Verschlüsselung verwendet wird. Der Agent überprüft aber nicht, ob das SSL-Serverzertifikat von einem vertrauenswürdigen Aussteller signiert wurde. Mit dem Wert 2 wird angegeben, dass das Zertifikat überprüft wurde. Agentparameter können in Agentprofilen und in der Befehlszeile angegeben werden. Weitere Informationen finden Sie unter:

Die Replikation verhält sich in Bezug auf Datenbankhauptschlüssel, die zur Verschlüsselung von Daten herangezogen werden, folgendermaßen:

  • Wenn in einer in der Replikation involvierten Datenbank (eine Veröffentlichungsdatenbank, Abonnementdatenbank oder Verteilungsdatenbank) ein Hauptschlüssel vorhanden ist, werden die Agentkennwörter in dieser Datenbank mithilfe eines symmetrischen Schlüssels der SQL Server 2008-Datenbank ver- und entschlüsselt. Wenn Hauptschlüssel zum Einsatz kommen, empfiehlt es sich, in jeder in die Replikation involvierten Datenbank jeweils einen Hauptschlüssel zu erstellen. Wenn in einer in der Replikation involvierten Datenbank kein Hauptschlüssel vorhanden ist, werden die Agentkennwörter in dieser Datenbank mithilfe des in SQL Server 2000 verfügbaren Algorithmus ver- und entschlüsselt. Weitere Informationen zum Erstellen von Hauptschlüsseln finden Sie unterCREATE MASTER KEY (Transact-SQL).

  • Bei der Replikation werden Hauptschlüssel nicht repliziert. Wenn Sie den Hauptschlüssel auf dem Abonnenten benötigen, müssen Sie ihn mit BACKUP MASTER KEY aus der Veröffentlichungsdatenbank exportieren und ihn dann mit RESTORE MASTER KEY in die Abonnementdatenbank importieren. Weitere Informationen finden Sie unter BACKUP MASTER KEY (Transact-SQL) und RESTORE MASTER KEY (Transact-SQL).

  • Wenn für eine anfügbare Abonnementdatenbank ein Hauptschlüssel definiert wurde, geben Sie das Kennwort für den Hauptschlüssel mithilfe des @db_master_key_password-Parameters von sp_attachsubscription (Transact-SQL) an. Auf diese Weise kann die Datenbank auf dem Abonnenten angefügt werden.

Weitere Informationen zur Verschlüsselung und zu Hauptschlüsseln finden Sie unter Verschlüsselungshierarchie.

Mithilfe der Replikation können Sie verschlüsselte Spaltendaten veröffentlichen. Zum Entschlüsseln und Verwenden dieser Daten auf dem Abonnenten muss der zum Verschlüsseln der Daten auf dem Verleger verwendete Schlüssel auch auf dem Abonnenten vorhanden sein. Die Replikation bietet keinen sicheren Mechanismus zum Transportieren von Verschlüsselungsschlüsseln. Sie müssen den Verschlüsselungsschlüssel auf dem Abonnenten manuell neu erstellen. Weitere Informationen finden Sie unter Vorgehensweise: Replizieren von Daten in verschlüsselten Spalten (SQL Server Management Studio).