Aktualisiert: 05. Mai 2004
.gif)
Auf dieser Seite
Zielsetzung
Betrifft
Verwendung dieses Moduls
Zusammenfassung
Benötigte Kenntnisse
Installieren eines Serverauthentifizierungszertifikats
Sicherstellen, dass das Zertifikat installiert wurde
Installieren des Zertifikats der ausstellenden Zertifizierungsstelle auf dem Clientcomputer
Erzwingen, dass alle Clients SSL verwenden
Ermöglichen der clientseitigen Festlegung, ob SSL verwendet werden soll
Sicherstellen, dass die Kommunikation verschlüsselt wird
Weitere Ressourcen
Zielsetzung
Themenbereiche:
-
Konfigurieren von SQL Server 2000 dahin gehend, dass zur Gewährleistung der sicheren Kommunikation alle Clients SSL verwenden müssen
-
Konfigurieren von SQL Server 2000 dahin gehend, dass zur Gewährleistung der sicheren Kommunikation alle Clients SSL verwenden können
Betrifft
Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:
-
Microsoft Windows® XP oder Windows 2000 Server (mit Service Pack 3) und höhere Betriebssysteme
-
Microsoft Zertifikatdienste
-
Microsoft Netzwerkmonitor
-
Microsoft .NET Framework Version 1.0 (mit Service Pack 2) und höhere Versionen
-
Microsoft Visual Studio® 1.0 .NET und höhere Versionen
-
Microsoft Visual C#® .NET
-
SQL Server 2000 (mit Service Pack 2) und höhere Versionen
Verwendung dieses Moduls
Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:
-
Sie benötigen zwei Computer, auf denen das Betriebssystem Windows XP bzw. Windows 2000 Server ausgeführt wird und die wie nachfolgend beschrieben konfiguriert sind.
-
SQL Server 2000 auf dem Datenbankservercomputer (mit installierter Northwind-Beispieldatenbank).
-
Microsoft Data Access Components (MDAC) 2.6 oder höher oder die SQL Server 2000-Clientverbindungsbibliotheken auf dem Clientcomputer.
-
Sie sollten über Erfahrung in der Programmierung mit Visual C# .NET verfügen.
-
Sie müssen über Erfahrung in der Verwendung der Entwicklungsumgebung Visual Studio .NET verfügen.
-
Sie sollten Erfahrung in der Konfiguration von SQL Server 2000 besitzen.
-
Sie müssen über Zugriff auf Microsoft Zertifikatdienste verfügen, um ein SSL-Zertifikat erstellen zu können.
-
Sie müssen Erfahrung in der Verwendung des Netzwerkmonitorprogramms haben.
-
Lesen Sie Modul 4, "Sichere Kommunikation". Hier finden Sie eine Einführung in Secure Sockets Layer (SSL) sowie eine Beschreibung der häufigsten Einsatzgebiete.
-
Lesen Sie Modul 12 dieses Handbuches, "Datenzugriffssicherheit". Hier erhalten Sie einen Überblick über Probleme und Optionen hinsichtlich der Datenbanksicherheit.
Zusammenfassung
Secure Sockets Layer (SSL) ist eine Sammlung von Verschlüsselungstechnologien, die Authentifizierung, Vertraulichkeit und Datenintegrität ermöglichen. SSL ist das zwischen Webbrowsern und Webservern am häufigsten eingesetzte Verfahren zur Errichtung eines sicheren Kommunikationskanals. SSL kann jedoch auch zum Sichern der Kommunikationsvorgänge zwischen Clientanwendungen (Direktaufrufern) und Microsoft® SQL Server 2000 verwendet werden.
In diesem Modul wird erläutert, wie SQL Server 2000 so konfiguriert wird, dass die sichere Kommunikation mit Clientanwendungen gewährleistet werden kann.
Benötigte Kenntnisse
Bevor Sie mit diesem Modul beginnen, sollten Sie sich über folgende Punkte im Klaren sein:
-
SSL stellt eine Alternative zur Verwendung von Internet Protocol Security (IPSec) zur Sicherung des Datenbankverkehrs dar.
Weitere Informationen zur Sicherung des Datenbankverkehrs mit IPSec finden Sie unter "Vorgehensweise: Verwenden von IPSec zum Sichern der Kommunikation zwischen zwei Servern" in diesem Handbuch.
-
Im Gegensatz zu IPSec sind mit SSL keine Konfigurationsänderungen erforderlich, wenn sich die IP-Adressen von Clients oder Servern ändern.
-
Damit SSL funktioniert, müssen Sie auf dem Datenbankservercomputer ein Serverzertifikat installieren. Der Clientcomputer muss ebenfalls über ein Stammzertifizierungsstellenzertifikat von derselben Zertifizierungsstelle (Certificate Authority oder CA) verfügen.
-
Auf den Clients müssen die SQL Server 2000-Verbindungsbibliotheken installiert sein. Frühere Versionen oder generische Bibliotheken funktionieren nicht.
-
SSL funktioniert nur für TCP/IP (das empfohlene Kommunikationsprotokoll für SQL Server) und Named Pipes.
-
Sie können den Server so konfigurieren, dass die Verwendung der Verschlüsselung für alle Verbindungen erzwungen wird.
-
Auf dem Client bestehen die folgenden Möglichkeiten:
-
Erzwingen der Verwendung der Verschlüsselung für alle ausgehenden Verbindungen.
-
Ermöglichen, dass Clientanwendungen anhand der Verbindungszeichenfolge auswählen, ob die Verschlüsselung für einzelne Verbindungen verwendet werden soll.
Installieren eines Serverauthentifizierungszertifikats
SSL setzt voraus, dass der Server über ein Serverauthentifizierungszertifikat verfügt. Dieses Zertifikat muss von einer Certificate Authority (CA oder Zertifizierungsstelle) ausgestellt worden sein, die für die verbindenden Clients als vertrauenswürdig gilt.
Sicherstellen, dass das Zertifikat installiert wurde
Mit diesem Verfahren wird sichergestellt, dass das Serverzertifikat erfolgreich installiert wurde.
Installieren des Zertifikats der ausstellenden Zertifizierungsstelle auf dem Clientcomputer
Nachdem das Zertifikat installiert und der SQL Server-Dienst neu gestartet wurde, kann SQL Server SSL mit Clients die Gegebenheiten aushandeln. Clients, die SSL für die Herstellung der Verbindung zu SQL Server verwenden sollen, müssen folgende Voraussetzungen erfüllen:
Erzwingen, dass alle Clients SSL verwenden
Sie können den Server so konfigurieren, dass die Verwendung von SSL für alle Clients obligatorisch ist (wie im vorliegenden Verfahren erläutert). Sie können jedoch auch festlegen, dass die Clients auf Basis einzelner Verbindungen wählen können, ob SSL verwendet werden soll oder nicht (wie im nächsten Verfahren beschrieben). Die Vorteile einer Konfiguration des Servers für die obligatorische Verwendung von SSL seitens der Clients sind die folgenden:
Es gibt jedoch auch Nachteile:
-
Auf allen Clients müssen MDAC 2.6 oder die SQL Server 2000-Verbindungsbibliotheken installiert sein; mit älteren oder generischen Bibliotheken können keine Verbindungen hergestellt werden.
-
Bei Verbindungen, die nicht sicher sein müssen, kommt es aufgrund der zusätzlichen Verschlüsselung zu geringfügigen Leistungseinbußen.
Ermöglichen der clientseitigen Festlegung, ob SSL verwendet werden soll
In diesem Verfahren wird die SSL-Konfiguration erläutert, die es Clients ermöglicht, zu wählen, ob SSL verwendet werden soll. Sie können entweder die Clientbibliotheken so konfigurieren, dass bei allen Verbindungen SSL verwendet werden muss, oder Sie können einzelnen Anwendungen auf Basis von Einzelverbindungen die Auswahl der Verbindungsart ermöglichen. Die Vorteile der Konfiguration des Clients für die Auswahl der Verbindungsart sind die folgenden:
-
Die von SSL verursachte Auslastung tritt nur bei Verbindungen auf, für die SSL wirklich erforderlich ist.
-
Clients, die SSL in Verbindung mit SQL Server nicht unterstützen, können dennoch die Verbindung herstellen.
Bevor Sie sich für diesen Ansatz entscheiden, sollten Sie jedoch prüfen, ob Sie unsichere Verbindungen wirklich zulassen möchten.
Bei diesem Ansatz konfigurieren Sie die Clientbibliotheken so, dass SSL für alle Verbindungen verwendet wird. Dies bedeutet, dass auf Servern mit SQL Server, die die Verschlüsselung nicht unterstützen, und auf Servern mit einer älteren Version als SQL Server 2000 nicht mehr zugegriffen werden kann.
-
Klicken Sie in der Programmgruppe Microsoft SQL Server auf SQL Server-Clientkonfiguration.
-
Vergewissern Sie sich, dass TCP/IP und/oder Named Pipes aktiviert ist.
-
Wählen Sie Protokollverschlüsselung erzwingen.
Bei diesem Ansatz verwenden Anwendungen die Verbindungszeichenfolge, um festzulegen, ob Verschlüsselung verwendet werden soll. Auf diese Weise kann jede Anwendung die Verschlüsselung nur dann verwenden, wenn diese wirklich erforderlich ist.
-
Wenn Sie den OLE-DB-Datenanbieter für die Herstellung der Verbindung zu SQL Server verwenden, setzen Sie Use Encryption for Data wie im nachstehenden Beispiel einer OLE-DB-Verbindungszeichenfolge gezeigt auf true.
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=Northwind;Data Source=sql01;Use Encryption for
Data=True"
-
Wenn Sie den SQL Server .NET-Datenanbieter für die Herstellung der Verbindung zu SQL Server verwenden, setzen Sie Encrypt wie im folgenden Beispiel gezeigt auf true.
"Server=sql01;Integrated Security=SSPI;Persist Security
Info=False;Database=Northwind;Encrypt=True"
Sicherstellen, dass die Kommunikation verschlüsselt wird
In diesem Verfahren wird mithilfe von Netzwerkmonitor sichergestellt, dass die Datenströme zwischen Anwendungsserver und Datenbankserver verschlüsselt werden. Sie beginnen mit dem Senden von Daten in Klartext und aktivieren dann die Verschlüsselung, indem Sie zunächst den Server und dann den Client konfigurieren.
Weitere Ressourcen
Informationen zur Installation von Netzwerkmonitor unter Windows 2000 finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
Weitere englischsprachige Informationen über Netzwerkmonitor finden Sie im entsprechenden Abschnitt des Microsoft Platform SDK in MSDN unter: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmon/netmon/network_monitor.asp.