TDE-Vorbereitung: Schlüssel- / Zertifikatsicherung für Wiederherstellungen

10

Ich arbeite in einer Entwicklungsumgebung, um die TDEVerschlüsselung besser zu verstehen . Ich habe es zusammen mit Backups und Wiederherstellungen auf einem anderen Server. Ich hatte ein paar Fragen und weiß, dass ich das Zertifikat mit dem entsprechenden privaten Schlüssel sichern muss.

USE master; 
GO 
BACKUP CERTIFICATE Test
TO FILE = 'C:\Test.cer'
WITH PRIVATE KEY
(FILE = 'C:\Test.pvk',
ENCRYPTION BY PASSWORD = 'Example12#')

Diese müssen im Fehlerfall auf dem neuen Server verschoben / wiederhergestellt werden. Gibt es noch etwas, das ich vom Quellserver sichern muss, das für den Fall einer Wiederherstellung auf einem anderen Server erforderlich wäre?

Auch Vorschläge zur Speicherung privater Schlüssel? Im Moment denke ich daran, das Zertifikat, den privaten Schlüssel und das Kennwort in einer KeePass-Datenbank zu sichern, die separat gesichert und extern repliziert wird.

Damit bleibt jedoch die Frage, wo der private KeePass-Schlüssel gesichert werden soll.

Thorin
quelle

Antworten:

5

Wenn Sie auf einem anderen Server wiederherstellen möchten, sollten Sie dies mit dem Zertifikat, dem privaten Schlüssel und den Datenbanksicherungsdateien tun können.

Wenn ein Zertifikat in einer Datenbank in SQL Server erstellt wird, ist es Teil einer Verschlüsselungshierarchie . Das Zertifikat in der Master-Datenbank selbst enthält nur einen öffentlichen Schlüssel, der keinen Schutz benötigt. Die Master-Datenbank enthält jedoch auch einen separaten, aber mathematisch verwandten privaten Schlüssel, der geschützt werden muss. Die Methode zum Schutz des privaten Schlüssels besteht darin, ihn mit dem Datenbank-Hauptschlüssel zu verschlüsseln, den Sie vor dem Erstellen des Zertifikats in der Hauptdatenbank erstellt haben. Die nächste Schicht in der Verschlüsselungshierarchie besteht darin, dass das DMK mit dem Diensthauptschlüssel verschlüsselt wird. Es gibt nur ein SMK im System und es befindet sich in der Master-Datenbank.

Auch wenn Sie DMK und SMK nicht benötigen, um eine verschlüsselte Sicherung auf einem anderen Server wiederherzustellen, würde ich diese beiden Schlüssel trotzdem sichern, da dies die Wiederherstellung wesentlich flexibler macht.

Wenn Sie das Sicherungsverschlüsselungszertifikat in der Masterdatenbank wiederherstellen, wird hinter den Kulissen der private Schlüssel aus der Datei gelesen, mit dem im Wiederherstellungsbefehl angegebenen Kennwort entschlüsselt, dann mit dem Datenbankhauptschlüssel verschlüsselt und gespeichert. Wie Sie wissen, kann der private Schlüssel aus dem Zertifikat dann verwendet werden, um den Datenbankverschlüsselungsschlüssel in der Sicherungsdatei zu entschlüsseln und die Datenbank erfolgreich wiederherzustellen.

Ich habe keine spezifische Empfehlung zum Speichern der Zertifikat- und Schlüsselsicherungsdateien, aber sie müssen für Sie und jeden, der die Notfallwiederherstellung in Ihrem Unternehmen durchführt, verfügbar sein.

Michael Keleher
quelle
1

In Denny Kirschs Buch Securing SQL Server habe ich eine bewährte Sicherheitsmethode zum Sichern der Zertifikate gefunden:

  • Brennen Sie die Zertifikatsicherungen auf zwei verschiedenen CDs
  • Legen Sie jede CD in einen versiegelten und signierten Umschlag
  • Markieren Sie den Umschlag, für welches System diese Zertifikate bestimmt sind
  • Legen Sie eine CD in den Bürosafe des Managers des Unternehmens
  • Bewahren Sie die zweite CD an einem anderen sicheren Ort auf
Poldba
quelle