Microsoft SQL Server 2005 aber sicher – Best Practices

Transcription

Microsoft SQL Server 2005 aber sicher – Best Practices
Microsoft SQL Server 2005 aber sicher – Best
Practices
Thomas Tauxe, Consultant Februar 2009
Sicherheit ist ein wesentlicher Bestandteil, welcher zum stabilen Betrieb einer Umgebung
beiträgt. Die Sicherung eines SQL Servers besteht aus einer Reihe von Schritten die vier
Bereiche betreffen, die Plattform, die Authentifizierung, die Objekte und die Anwendungen.
Dieses Papier beschreibt Optionen für die Einrichtung, den Betrieb und die speziellen
Anforderungen im Applikationsbereich. Es behandelt einige, aber nicht alle Funktionen und
deren Sicherheitsfeatures des SQL Servers. Es soll dazu dienen, einen SQL Server im normalen
Einsatz sicher zu konfigurieren und zu betreiben. Für spezielle Anwendungsgebiete soll dieses
Dokument als Basis dienen.
1. Allgemeines
Die erste Voraussetzung für eine sichere SQL Installation ist eine sichere Umgebung. Auch bei
SQL 2005 haben sich die Voraussetzungen, was den Betrieb eines Servers betrifft, nicht
geändert. Der Server muss physisch sicher und regelmässig gesichert werden. Eine oder
mehrere Firewalls verhindern zudem den direkten Zugriff auf den SQL Server.
1.1.
Vor dem Installieren von SQL Server
Erhöhen der physikalischen Sicherheit
Physikalische und logische Isolation bilden die Basis der Sicherheit von SQL Server. Führen Sie
die folgenden Aufgaben aus, um die physikalische Sicherheit der SQL Server-Installation zu
erhöhen:
•
•
•
•
Platzieren des Servers in einem Raum, den nur autorisierte Benutzer betreten dürfen.
Aufstellen der Computer, die Datenbanken hosten, an physikalisch geschützten Orten.
Im Idealfall sollte dies ein geschlossener Computerraum mit Systemen für
Überschwemmungsschutz und Feuererkennung bzw. Brandbekämpfung sein.
Installieren der Datenbanken in der sicheren Zone des Intranets im Unternehmen und
ohne direkte Verbindung mit dem Internet.
Ausführen regelmäßiger Datensicherungen, und aufbewahren der Kopien an einem
sicheren Ort ausserhalb des Unternehmensgebäudes.
Verwenden von Firewalls
Firewalls sind ein wichtiger Bestandteil, wenn es um die Sicherung der SQL Server-Installation
geht. Sie bieten den wirksamsten Schutz, wenn die folgenden Richtlinien beachtet werden:
•
•
•
•
Einrichten einer Firewall zwischen Server und Internet.
Unterteilen des Netzwerks in Sicherheitszonen, die durch Firewalls voneinander
getrennt sind. Zunächst blockieren von sämtlichem Datenverkehr, und anschliessend
zulassen von ausgewählte Verbindungen.
Verwenden von mehreren Firewalls in einer mehrstufigen Umgebung.
Falls der Server in einer Windows-Domäne installiert wird, konfigurieren der inneren
Firewalls, dass die Windows-Authentifizierung verwendet werden kann.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 1 / 10
•
•
Deaktivieren von NTLM-Authentifizierung innerhalb einer Windows-Domäne, in
welcher es sich bei allen Windows-Versionen um Windows XP bzw. Windows Server
2003 oder höher handelt.
Falls die Anwendung verteilte Transaktionen verwendet, muss die Firewall
möglicherweise so konfiguriert werden, dass MS DTC-Datenverkehr zwischen separaten
MS DTC-Instanzen sowie zwischen MS DTC und Ressourcen-Managern des SQL Server
übermittelt werden können.
Isolieren von Diensten
Durch das Isolieren von Diensten wird das Risiko reduziert, dass durch einen gefährdeten
Dienst andere Dienste ebenfalls gefährdet würden. Folgende Richtlinien sollten beim Isolieren
von Diensten beachtet werden:
•
•
•
Installation von SQL Server nach Möglichkeit nicht auf einem Domänencontroller.
Ausführen von separaten SQL Server-Diensten unter separaten Windows-Konten.
Innerhalb einer mehrstufigen Umgebung sollten Web- und Geschäftslogik auf
getrennten Computern ausgeführt werden.
Deaktivieren von NetBIOS und Server Message Block
Für Server im Umkreisnetzwerk (DMZ) sollten alle nicht erforderlichen Protokolle deaktiviert
sein, einschließlich NetBIOS und Server Message Block (SMB).
NetBIOS verwendet die folgenden Ports:
•
•
•
UDP/137 (NetBIOS-Namensdienst)
UDP/138 (NetBIOS-Datagrammdienst)
TCP/139 (NetBIOS-Sitzungsdienst)
SMB verwendet die folgenden Ports:
•
•
TCP/139
TCP/445
Für Webserver und DNS-Server (Domain Name System) ist die Verwendung von NetBIOS oder
SMB nicht erforderlich. Deaktivierung der Protokolle auf diesen Servern, um das Risiko eines
Angriffs von Benutzern zu minimieren.
2. Plattform und Netzwerksicherheit
2.1.
Network Connectivity
Um Zugriff auf einen Datenbank zu erhalten, muss der Client und der Server ein gemeinsames
Netzwerkprotokoll unterstützen. Dazu muss auf dem Sever ein- oder mehrere
Netzwerkprotokolle aktiviert werden. Es wird empfohlen jeweils nur die benötigten Protokolle
zu aktivieren. Als gängiges Protokoll, welches auch von dem meisten Client unterstützt wird gilt
das TCP/IP Protokoll.
Um eine erhöhte Sicherheit zu erreichen, kann die Verschlüsselung mittels SSL-Protokoll
aktiviert werden. Diese Verschlüsselung gilt für alle Protokolle und kann nicht einzeln aktiviert
oder deaktiviert werden. Die Verschlüsselung steht allen Protokollen, mit Ausnahme von DB
Library und MDAC 2.53 Clients zur Verfügung. Um SSL Verschlüsselung verwenden zu
können, muss ein gültiges Zertifikat installiert sein.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 2 / 10
2.2.
Service Accounts
SQL Server-Services müssen immer mit den geringst möglichen Benutzerrechten ausgeführt
werden. Die Service Accounts benötigen keine LocalAdmin Rechte. Das SQL Server-Setup
konfiguriert die Service Accounts automatisch mit den spezifischen für SQL Server
erforderlichen Berechtigungen. Beim Ändern oder Konfigurieren der Windows-Dienste, die von
SQL Server 2005 verwendet werden, sollten nur die erforderlichen Berechtigungen erteilt
werden.
Die folgende Tabelle zeigt die benötigten Rechte der jeweiligen Services. Es ist möglich, für
jeden Service einen eigenen Benutzer zu erstellen. Dies wird jedoch aus administrativen
Gründen nur in einer hoch sicheren Umgebung umgesetzt.
Service
User Gruppe
Minimum benötigte
Rechte
SQL Server
(MSSQLSERVER)
SQLServer2005MSSQLUser
SQL Server Agent
SQLServer2005SQLAgentUser
Analysis Services
Reporting Services
Notification Services
Integration Services
SQLServer2005MSOLAPUser
SQLServer2005ReportServerUser
SQLServer2005NotificationServicesUser
SQLServer2005DTSUser
Full-Text Search
SQL Browser
SQLServer2005MSSQLUser2
SQLServer2005SQLBrowserUser
SQL Server Active
Directory Helper
SQL Writer
Runs only as built-in accounts
Log on as a service
Log on as a batch job
Replace a process-level token
Bypass traverse checking
Log on as a service
Log on as a batch job
Replace a process-level token
Bypass traverse checking
Adjust memory quotas for a
process
Log on as a service
Log on as a service
Keine
Log on as a service
Bypass traverse checking
Create global objects
Impersonate a client after
authentication
Log on as a service
Log on as a service
Deny log on as a batch job
Deny log on through Terminal
Services
Deny access to this computer
from a network
Deny log on locally
Deny log on as a batch job
Keine
Runs only as built-in accounts
Keine
Abhängig der zusätzlich verwendeten Funktionen, kann es notwendig sein weitere Rechte zu
vergeben. Zum Beispiel werden Netzwerk Berechtigungen benötigt um Mails mittels extended
Stored Procedures zu versenden oder OS Berechtigungen um xp_cmdshell zu verwenden.
Verwenden eines Domänenbenutzer Accounts
Ein Domänenbenutzerkonto wird unter Umständen bevorzugt, wenn der Dienst mit
Netzwerkdiensten interagieren muss. Viele Server-zu-Server-Aktivitäten können nur mit einem
Domänenbenutzerkonto ausgeführt werden, zum Beispiel:
•
•
Remoteprozeduraufrufe (Remote Procedure Calls, RPCs)
Replikation
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 3 / 10
•
•
•
Sichern auf Netzlaufwerken.
Heterogene Verknüpfungen, die Remotedatenquellen einbeziehen.
E-Mail-Features des SQL Server-Agents und SQL Mail. Diese Einschränkung gilt, wenn
Sie Microsoft Exchange verwenden. Die meisten anderen E-Mail-Systeme erfordern
ebenfalls, dass Clients (wie die Agent-Dienste SQL Server und SQL Server) unter Konten
mit Netzwerkzugriff ausgeführt werden.
Verwenden des lokalen Dienst Accounts
Das lokale Dienstkonto ist ein spezielles, integriertes Konto, dass mit einem authentifizierten
Benutzerkonto vergleichbar ist. Es bietet denselben Zugriff auf Ressourcen und Objekte wie
Mitglieder der Gruppe Benutzer. Durch diesen beschränkten Zugriff wird Ihr System geschützt,
wenn einzelne Dienste oder Prozesse gefährdet sind. Bei Diensten, die als lokales Dienstkonto
ausgeführt werden, erfolgt das Zugreifen auf Netzwerkressourcen als NULL-Sitzung ohne
Anmeldeinformationen.
Verwenden des Netzwerkdienst Accounts
Das Netzwerkdienstkonto ist ein spezielles, integriertes Konto, das mit einem authentifizierten
Benutzerkonto vergleichbar ist. Es bietet denselben Zugriff auf Ressourcen und Objekte wie
Mitglieder der Gruppe Benutzer. Bei Diensten, die als Netzwerkdienstkonto ausgeführt werden,
erfolgt das Zugreifen auf Netzwerkressourcen mithilfe der Anmeldeinformationen des
Computerkontos.
Best practices für Service Accounts
•
•
•
Verwenden einen Lokalen Dienst Accounts, wenn keine externen Ressourcen
verwendet werden müssen.
Verwenden eines Domänen Accounts, wenn auf Ressourcen ausserhalb des SQL Servers
zugegriffen werden muss.
Ein gemeinsamer Account für den SQL Server Service und den SQL Server Agent
Service.
1.1.
Tools
SQL Server stellt eine Vielzahl von Tools zur Konfiguration zur Verfügung. Einstellungen sollten
wenn immer möglich über diese Tools vorgenommen werden.
1.1.1.
Surface Area
SQL Server installiert und startet nur die unbedingt benötigten Komponenten. Dadurch werden
die möglichen Angriffspunkte minimiert. Bei der Standardkonfiguration sind deshalb viele
Punkte nicht aktiviert und sollten bei Bedarf bei der Installation aktiviert werden. Jeder nicht
installierte Dienst oder jedes nicht installierte Feature kann nicht angegriffen werden.
Das Surface Area Tool ermöglicht die einfache Konfiguration der Komponenten. So können
damit das Datenbankmail, die Verwendung der CLR, Mirroring, Servcice Broker und weitere
Optionen gesetzt werden.
2. Authentifizierung
2.1.
Berechtigungshierarchie
In der Datenbank wird eine hierarchische Auflistung der Entitäten verwaltet, die mit
Berechtigungen gesichert werden können. Diese Entitäten werden als sicherungsfähige
Elemente(Securables) bezeichnet. Die wichtigsten sicherungsfähigen Elemente sind Server und
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 4 / 10
Datenbanken, diskrete Berechtigungen können jedoch auf einer viel differenzierteren Ebene
festgelegt werden. In SQL Server werden die Aktionen von Prinzipalen(Principals) für
sicherungsfähige Elemente dadurch gesteuert, dass geprüft wird, ob diesen die entsprechenden
Berechtigungen erteilt wurden.
In der folgenden Abbildung werden die Beziehungen zwischen den DatenbankmodulBerechtigungshierarchien dargestellt.
(Quelle Microsoft ©)
2.2.
•
•
Authentication Mode
Windows Authentication Mode: Benutzer können auf einen Server über ein bestehendes
Windows-Benutzerkonto zugreifen. Wenn ein Benutzer versucht, eine Verbindung zu
einem Server herzustellen, validiert SQL Server den Windows-Benutzernamen und das
Passwort des Benutzers. Der User muss sich nicht zwei Mal anmelden, im Netzwerk
und beim SQL Server, sondern ein Anmeldevorgang reicht. Dieser Ansatz wird auch
vertrauenswürdige Verbindung (Integrated Security) genannt.
Mixed Mode: Dieser Modus kombiniert Windows-Authentifizierung und SQL ServerAuthentifizierung. Benutzer können wie gewohnt über ein Windows-Benutzerkonto
eine Verbindung herstellen. Aber man kann auch direkt in SQL Server Benutzerkonten
einrichten, die keinen Zusammenhang mit Windows-Konten haben. Jedes SQL ServerKonto speichert einen Benutzernamen und ein Passwort.
Nach Möglichkeit ist der Windows Authentication-Modus zu empfehlen. SQL Server
Authentication (Mixed) wird für non-trusted Umgebungen und zur Abwärtskompatibilität mit
früheren Versionen von SQL Server bereitgestellt. Windows Authentication ist in das WindowsSicherheitssystem integriert, das mehr Funktionen zur Verfügung stellt als SQL Server
Authentication, in der Regel einfacher zu benutzen, effizienter und sicherer. Man sollte sich
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 5 / 10
schon früh während des Entwicklungsprozesses entscheiden, welchen Modus man einsetzen
will.
Mit welchem Modus man auch arbeitet - man sollte das Passwort für den System-Administrator
(sa) in SQL Server immer eigenhändig vergeben. Bei der Installation erstellt SQL Server
automatisch einen Administrator-Benutzer mit dem SQL Server-Anmeldenamen sa und einem
leeren Passwort. Der SQL-Server kann nur dann mit einem leeren sa-Passwort installiert werden,
wenn der Windows Authentication Mode genutzt wird. Verwendet man den Windows
Authentication Mode, sollte die Notwendigkeit eines Passworts für den Benutzer sa theoretisch
nicht anfallen, da SQL Server-Anmeldungen nicht akzeptiert werden. Aber es kann auch nicht
schaden, trotzdem eines einzurichten, falls man in Zukunft doch einmal in den Mixed Mode
wechseln muss
2.3.
Password Policy
SQL Server 2005 beinhaltet die Passwort Policies, basieren auf dem
NetValidatePasswordPolicy() API, welches Teil der NetAPI32 Library auf Windows Server 2003
ist. SQL Server überprüft das Passwort auf die Komplexität, den Ablauf und Sperrung während
dem setzten bzw. während der Eingabe des Passwortes.
Es wird empfohlen, dieses Feature für alle nicht Windows Logins zu aktivieren. Achtung!
Applikationen mit hardcodierten Passwörter können aufgrund der nicht erfüllten Kriterien nicht
funktionieren. Ebenfalls kann ein abgelaufenes Passwort Probleme bei der Applikation
hervorrufen.
2.3.1.
Der Benutzer SA
Sollte der SQL Server im Mixed Mode betrieben werden ist darauf zu achten, dass der Benuzter
SA über ein sehr sicheres Passwort verfügt. Dieser Benutzer sollte ausschliesslich für den Notfall
verwendet werden. Stattdessen sollte nach der Installation ein SA äquivalentes Login erstellt
werden, welches für die höheren Administrationsarbeiten verwendet wird. Dadurch kann der
Zugriff auf den SQL Server erschwert werden, da kein „Standardlogin“ zur Administration
verwendet wird.
2.4.
Administrator Privileges
Als Administrator können folgende Optionen gesetzt werden:
•
•
•
•
Benutzer (Konto): Ein SQL Server-Sicherheitskonto, dass einen einzelnen Benutzer
repräsentiert. Ein Benutzer hat ein Windows-Benutzerkonto oder ein SQL Server-Login,
das sich auf ein Benutzerkonto in einer Datenbank bezieht.
Gruppen (Konto): Jeder Benutzer kann zu einer oder mehreren Gruppen gehören, die in
Windows oder in SQL Server definiert werden, je nach Authentifizierungsmodus. Jede
Gruppe verfügt über bestimmte Berechtigungen. Als Mitglied einer Gruppe erhält man
alle Berechtigungen der Gruppe.
Objekt-Eigentümerschaft: Die Eigentümerschaft gehört demjenigen Benutzer, der das
Objekt erstellt. Besitzer können anderen Benutzern Zugriff gewähren. Wenn man z.B.
eine View besitzt, kann man entscheiden, welche Benutzer sich Daten aus diesem View
anzeigen lassen dürfen.
Berechtigungen: Eine Berechtigung bezeichnet die Fähigkeit, bestimme Aktionen
durchzuführen, z.B. das Öffnen einer View oder die Änderung einer abgespeicherten
Abfrage. SQL Server kennt drei Zustände für Berechtigungen: GRANT erlaubt dem
Benutzer den Zugriff, REVOKE widerruft dies, und DENY verwehrt einem Benutzer den
Zugriff auf das Objekt.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 6 / 10
•
Rolle: Dies ist ein SQL Server-Sicherheitskonto, das mehrere Einzelkonten bei der
Zuweisung von Berechtigungen als Einheit behandelt. Kurz gesagt, legen Rollen fest,
was einem Benutzer in einer bestimmten Datenbank erlaubt ist und was nicht.
3. Objekte
3.1.
Schemas
Schemas haben mit der Version 2005 bei Microsoft Einzug gefunden. Mittels Schemas ist die
Trennung zwischen den Benutzer und den Objekten möglich. Ein Schema kann dazu
verwendet werden, um Berechtigungen auf ein oder mehrere Objekte zentral zu vergeben.
Objekte werden dazu unter einem Schema erstellt. Die Benutzer erhalten anschliessend das
Recht, dieses Schema zu verwenden. Der Zugriff kann, wie auf den Objekten selbst, definiert
aber zentral verwaltet werden. So ist es möglich, funktionale Gruppen von Objekten unter
einem Schema zu erstellen (z.B. Produktion, Verkauf, etc.) das Schema dbo dient dabei als
Default Schema. Jeder Benutzer hat auf diesem Schema Standardrechte. Somit können
allgemeine Objekte in diesem Schema erstellt werden.
Nachfolgend eine Zusammenfassung der Vorteile bei Verwendung von Schemas
•
•
•
•
•
•
Löschen von Datenbankbenutzer ist wesentlich einfacher, da ein Objekt nicht mehr
einem Benutzer gehört.
Mehrere Benutzer können über die Zugehörigkeit zu einer Rolle Besitzer eines Schemas
sein.
Mehrere Benutzer können sich ein Default Schema teilen um eine einheitliche
Namensauflösung zu erreichen.
Applikationshersteller können Schemas verwenden um unterschiedliche Appliationen
auf derselben Datenbank zu betreiben.
Verwaltung der Rechte über Schema erfolgt auf einer höheren Ebene.
Objekte können zwischen Schemas verschoben werden.
4. Applikation
4.1.
Execution Context
Der Ausführungskontext einer Sitzung oder eines Moduls kann explizit geändert werden, indem
ein Benutzer- oder Anmeldename in einer EXECUTE AS-Anweisung angegeben wird. Das
ausgeführte Modul kann mit einer anderen Berechtigung als dessen des aufrufenden Benutzers
ausgeführt werden. So kann ein Benutzer unter Umständen Tasks durchführen, für welche er
mit den persönlichen Rechten nicht berechtigt ist. Der Identitätswechsel bleibt wirksam, bis
eines der folgenden Ereignisse eintritt:
•
•
•
Die Sitzung wird beendet.
Kontext wird zu einem anderen Anmeldenamen oder Benutzer gewechselt.
Kontext wird auf den vorherigen Ausführungskontext zurückgesetzt.
Die Verwendung von EXECUTE AS für die explizite Annahme der Identität eines anderen
Benutzers ähnelt der Verwendung von SETUSER in früheren Versionen von SQL Server.
Dadurch ist es möglich für die Ausführungszeit einen definierten Benutzer festzulegen, welcher
unterschiedliche Berechtigungen gegenüber dem angemeldeten Benutzer besitzt.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 7 / 10
Best Practices für Execution Context
•
•
Verwenden von Execution Context für Tasks, welche ausserhalb der normalen
Berechtigung des Benutzers liegen.
Setzten des Execution Context für Tasks, welche unter einem bestimmten Benutzer
ausgeführt werden sollen.
4.2.
Encryption
SQL Server stellt mit der Encryption eine Methode zur Verfügung, welche es erlaubt Daten auf
Spaltenebene zu verschlüsseln. Verschlüsselungsalgorithmen definieren Datentransformationen,
die von nicht autorisierten Benutzern nicht einfach umgekehrt werden können. SQL Server
2005 ermöglicht Administratoren und Entwicklern die Auswahl aus mehreren Algorithmen,
einschließlich DES, Triple DES, RC2, RC4, 128-Bit-RC4, DESX, 128-Bit-AES, 192-Bit-AES und
256-Bit-AES. (AES wird unter Windows XP und Windows 2000 nicht unterstützt)
Die Verschlüsselungshierarchie stellt dabei eine besondere Herausforderung dar. Wie aus der
unteren Abbildung ersichtlich, verschlüsselt jede Ebene die darunterliegende Ebene, in dem
eine Kombination aus Zertifikaten, asymmetrischen und symmetrischen Schlüssel verwendet
wird. Die oberste Ebene wird mittels Windows-Datenschutz API verschlüsselt.
(Quelle:Microsoft©)
Jeder Algorithmus verfügt über Vor- aber auch Nachteile und es existiert kein Algorithmus
welcher für alle Fälle ideal ist. Grundsätzlich gelten jedoch folgende Punkte:
•
•
•
•
•
Eine starke Verschlüsselung verbraucht im Allgemeinen mehr CPU-Ressourcen als eine
schwache Verschlüsselung.
Lange Schlüssel führen in der Regel zu einer stärkeren Verschlüsselung als kurze
Schlüssel.
Eine asymmetrische Verschlüsselung ist stärker als eine symmetrische Verschlüsselung,
wenn beide die gleiche Schlüssellänge verwenden. Allerdings ist eine asymmetrische
Verschlüsselung relativ langsam.
Lange, komplexe Kennwörter sind stärker als kurze Kennwörter.
Verschlüsselte Daten können nicht komprimiert werden, aber komprimierte Daten
können verschlüsselt werden. Falls die Komprimierung verwendet wird, müssen die
Daten vor dem verschlüsseln komprimiert werden.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 8 / 10
Zertifikate
Ein öffentliches Zertifikat ist eine digital signierte Anweisung, die den Wert eines öffentlichen
Schlüssels an die Identität der Person, des Geräts oder des Dienstes bindet, der den
entsprechenden privaten Schlüssel besitzt. Zertifikate werden von einer Zertifizierungsstelle
ausgegeben und signiert. Die Entität, die ein Zertifikat von einer Zertifizierungsstelle erhält, ist
der Antragsteller dieses Zertifikats. In der Regel enthalten die Zertifikate die folgenden
Informationen.
•
•
•
•
•
Den öffentlichen Schlüssel des Antragstellers.
Die Bezeichnerinformationen des Antragstellers, z. B. Name und E-Mail-Adresse.
Den Gültigkeitszeitraum. Dies ist der Zeitraum, in dem das Zertifikat als gültig
betrachtet wird.
Ein Zertifikat ist lediglich für den angegebenen Zeitraum gültig; jedes Zertifikat enthält
die Datumsangaben Gültig von und Gültig bis. Diese Datumsangaben legen den
Gültigkeitszeitraum fest. Wenn der Gültigkeitszeitraum für ein Zertifikat abgelaufen ist,
muss vom Antragsteller des gerade abgelaufenen Zertifikats ein neues Zertifikat
angefordert werden.
Aussteller der Bezeichnerinformationen.
Die digitale Signatur des Ausstellers.
Diese Signatur bestätigt die Gültigkeit der Bindung zwischen dem öffentlichen Schlüssel
und den Bezeichnerinformationen des Antragstellers. (Zum Vorgang der digitalen
Signierung von Informationen gehört die Umwandlung der Informationen, sowie einiger
geheimer Informationen des Absenders in ein Tag, die so genannte Signatur.)
Ein wichtiger Vorteil von Zertifikaten besteht darin, dass die Hosts keine Kennwörter für
einzelne Antragsteller mehr verwalten müssen. Der Host stellt stattdessen lediglich die
Vertrauenswürdigkeit eines Zertifikatausstellers her, der dann eine unbegrenzte Anzahl von
Zertifikaten signieren kann.
SQL Server kann selbst Zertifikate erstellen. Die von SQL Server erstellten, selbstsignierten
Zertifikate unterliegen dem X.509-Standard und unterstützen die X.509 v1-Felder.
Asymmetrische Schlüssel
Ein asymmetrischer Schlüssel besteht aus einem privaten Schlüssel und dem entsprechenden
öffentlichen Schlüssel. Jeder Schlüssel kann die jeweils vom anderen verschlüsselten Daten
entschlüsseln. Die asymmetrische Verschlüsselung und Entschlüsselung sind relativ
ressourcenintensiv, sie bieten jedoch eine höhere Sicherheit als die symmetrische
Verschlüsselung. Ein asymmetrischer Schlüssel kann für die Verschlüsselung eines
symmetrischen Schlüssels zum Speichern in einer Datenbank verwendet werden.
Symmetrische Schlüssel
Ein symmetrischer Schlüssel ist ein Schlüssel, der sowohl für die Verschlüsselung als auch die
Entschlüsselung verwendet wird. Die Verschlüsselung und Entschlüsselung mithilfe eines
symmetrischen Schlüssels ist schnell und für einen routinemäßigen Einsatz mit sensiblen Daten
in der Datenbank geeignet.
Best practices für Data Encryption
•
•
•
•
•
Sensible und hochwertige Daten verschlüsseln
Daten mit symmetrischen Schlüssel verschlüsseln
Symmetrische Schlüssel mit Zertifikate oder asymmetrischen Schlüssel schützen.
Den Service Master Schlüssel, Datenbank Master Schlüssel und die Zertifikate mit den
entsprechenden DDL Statement sichern.
Backup der Datenbanken damit die symmetrischen und asymmetrischen Schlüssel
gesichert sind.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 9 / 10
Trivadis kann Ihnen mit unserem Fachwissen helfen die beste Lösung für Ihre
Umgebung zu finden.
Viel Erfolg beim Einsatz von Trivadis-Know-how wünscht Ihnen
Thomas Tauxe
Trivadis AG
Europa-Strasse 5
CH-8152 Glattbrugg (Zürich)
Tel. +41-44-808 70 20
[email protected]
Literatur und Links…
www.trivadis.com
Die obenstehenden Informationen wurden aus den folgenden Quellen
zusammengefasst:
SQL Server 2005 Books Online November 2008
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Datum 01.03.2009 . Seite 10 / 10