Aktivieren von verschlüsselten Verbindungen
Es ist möglich, Daten, die über ein Netzwerk zwischen einer Instanz von SQL Server und einer Clientanwendung übertragen werden, mit Transport Layer Security (TLS) zu verschlüsseln. Die TLS-Verschlüsselung erfolgt innerhalb der Protokollebene und ist für alle unterstützten SQL Server- und Azure SQL-Datenbank-Dienste verfügbar.
Transport Layer Security (TLS)
Transport Layer Security (TLS) ist ein Protokoll zur Verschlüsselung von Verbindungen. Es erhöht die Sicherheit von Daten, die über Netzwerke zwischen Instanzen von SQL Server und Anwendungen übertragen werden.
Sobald ein privates Zertifikat von einer Zertifizierungsstelle ausgestellt und einem Server zugewiesen wurde, auf dem eine SQL Server-Instanz ausgeführt wird, kann der Server es verwenden, um Clientanforderungen sicher zu überprüfen. Eine solche Prüfung setzt voraus, dass der Computer, auf dem die Clientanwendung ausgeführt wird, so konfiguriert ist, dass er dem von SQL Server verwendeten Zertifikat vertraut.
Für Azure SQL-Datenbank ist es möglich, eine minimale TLS-Version auf der Serverebene zu erzwingen. Die derzeit unterstützten TLS-Versionen sind 1.0, 1.1 und 1.2. Wenn die Clientanwendung eine verschlüsselte Verbindung unterstützt, empfehlen wir, sie nach dem Testen der Anwendung auf die neueste unterstützte TLS-Version festzulegen. Es empfiehlt sich, die neueste TLS-Version zu wählen, da sie zusätzliche Korrekturen für Sicherheitsrisiken bietet, die in älteren Versionen gefunden wurden.
Die Einstellung für die minimale TLS-Version für eine SQL-Datenbank ist über den Bildschirm Firewalls und virtuelle Netzwerke verfügbar, wie in der obigen Abbildung gezeigt.
In der folgenden Tabelle werden die verfügbaren Optionen erläutert, je nachdem, ob Clientanwendungen verschlüsselte Verbindungen unterstützen.
Szenario | Option |
---|---|
TLS wird nicht unterstützt | Belassen Sie die TLS-Mindestversion auf der Standardeinstellung. |
Neueste TLS-Version wird unterstützt | Legen Sie die TLS-Mindestversion auf 1.2 fest. |
Ältere TLS-Version wird unterstützt | Legen Sie die TLS-Mindestversion auf 1.0 oder 1.2 fest. Prüfen Sie Ihre Workloads auf die Bereitschaft für TLS 1.2, und entwickeln Sie einen Migrationsplan. |
Die Aktivierung der TLS-Verschlüsselung bietet Datenschutz und Datensicherheit für die Kommunikation zwischen Instanzen von SQL Server und Anwendungen. Wenn jedoch der Datenverkehr zwischen SQL Server und einer Clientanwendung mit TLS verschlüsselt wird, sind zur Verbindungszeit ein zusätzlicher Netzwerkroundtrip und eine zusätzliche Verarbeitung erforderlich.
Für Azure SQL Managed Instance verwenden Sie den Azure CLI-Befehl az sql mi update
oder das PowerShell-Cmdlet Set-AzSqlInstance
, um die TLS-Mindestversion zu konfigurieren.
Hinweis
Azure SQL-Datenbank erfordert standardmäßig keine bestimmte TLS-Mindestversion. Sobald Sie eine Version von TLS erzwungen haben, können Sie nicht mehr zur Standardversion zurückkehren.
Zertifikate
Sie müssen SQL Server-Konfigurations-Manager mit einem lokalen Administratorkonto ausführen, um Zertifikate für die Verwendung durch SQL Server zu installieren.
Darüber hinaus muss das Zertifikat die folgenden Bedingungen erfüllen:
Das Zertifikat muss sich im Zertifikatspeicher des lokalen Computers oder im Zertifikatspeicher des aktuellen Benutzers befinden.
Das SQL Server-Dienstkonto muss über die Berechtigung zum Zugriff auf das Zertifikat verfügen.
Das Zertifikat muss innerhalb eines gültigen Zeitraums liegen.
Hinweis
Wenn der richtige Zugriff nicht bereitgestellt wird, tritt beim Neustart des SQL Server-Diensts ein Fehler auf.
Eine vollständige Liste der Anforderungen für die Installation eines TLS-Zertifikats finden Sie unter Aktivieren verschlüsselter Verbindungen zur Datenbank-Engine.
Konfigurieren einer SQL Server-Instanz
Sie können eine SQL Server-Instanz so konfigurieren, dass sie verschlüsselte Verbindungen verwendet, indem Sie die folgenden Schritte ausführen:
Erweitern Sie im SQL Server-Konfigurations-Manager den Eintrag SQL Server-Netzwerkkonfiguration, klicken Sie mit der rechten Maustaste auf Protokolle für <Serverinstanz>, und wählen Sie dann Eigenschaften aus.
Wählen Sie im Dialogfeld Protokolle für <Serverinstanz> Eigenschaften die Registerkarte Zertifikat und dann das Zertifikat aus der Dropdownliste Zertifikat aus.
Wählen Sie auf der Registerkarte Flags in der Eigenschaft ForceEncryption die Option Ja aus, und klicken Sie dann auf OK.
Starten Sie den SQL Server-Dienst neu.
Sobald die notwendige Konfiguration eingerichtet ist, können Sie die Verbindung über SQL Server Management Studio testen:
Vervollständigen Sie im Dialogfeld Verbindung mit Server herstellen die Verbindungseinstellungen, und klicken Sie dann auf Optionen.
Klicken Sie auf der Registerkarte Verbindungseigenschaften auf Verbindung verschlüsseln und dann auf Verbinden.
Alle Schritte müssen ordnungsgemäß ausgeführt worden sein, damit Sie sich über SQL Server Management Studio unter Verwendung von TLS authentifizieren können.