Aktualisieren von Anwendungen für die Verbindung mit Microsoft SQL Server-DB-Instances unter Verwendung neuer SSL/TLS-Zertifikate - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktualisieren von Anwendungen für die Verbindung mit Microsoft SQL Server-DB-Instances unter Verwendung neuer SSL/TLS-Zertifikate

Am 13. Januar 2023 veröffentlichte Amazon RDS neue Zertifizierungsstellen-Zertifikate (Certificate Authority, CA) zum Herstellen von Verbindungen mit Ihren RDS-DB-Instances mithilfe von Secure Socket Layer oder Transport Layer Security (SSL/TLS). Im Folgenden finden Sie Informationen dazu, wie Sie Ihre Anwendungen aktualisieren, um die neuen Zertifikate verwenden zu können.

In diesem Thema finden Sie Informationen dazu, wie Sie ermitteln, ob Client-Anwendungen für die Herstellung von Verbindungen mit Ihren DB-Instances SSL/TLS verwenden. Wenn dies der Fall ist, können Sie weiter überprüfen, ob diese Anwendungen zur Herstellung von Verbindungen Zertifikatverifizierungen erfordern.

Anmerkung

Einige Anwendungen sind so konfiguriert, dass sie nur dann Verbindungen mit SQL-Server-DB-Instances herstellen, wenn sie das Zertifikat auf dem Server erfolgreich identifizieren können.

Für solche Anwendungen müssen Sie die Trust Stores Ihrer Client-Anwendung aktualisieren, damit diese die neuen CA-Zertifikate enthalten.

Nach der Aktualisierung der CA-Zertifikate in den Trust Stores Ihrer Client-Anwendung können Sie die Zertifikate auf Ihren DB-Instances rotieren. Es wird nachdrücklich empfohlen, diese Verfahren vor der Implementierung in Produktionsumgebungen in einer Entwicklungs- oder Testumgebung zu testen.

Weitere Informationen zur Zertifikatrotation finden Sie unter Rotieren Ihrer SSL/TLS-Zertifikate. Weitere Informationen zum Herunterladen von Zertifikaten finden Sie unter . Informationen zum Verwenden von SSL/TLS mit Microsoft SQL Server-DB-Instances finden Sie unter Verwenden von SSL mit einer Microsoft SQL Server-DB-Instance.

Ermitteln, ob Anwendungen Verbindungen mit Ihrer Microsoft SQL Server-DB-Instance mithilfe von SSL herstellen

Prüfen Sie die DB-Instance-Konfiguration auf den Wert des Parameters rds.force_ssl. Standardmäßig ist der Parameter rds.force_ssl auf 0 (aus) festgelegt. Wenn der Parameter rds.force_ssl auf 1 (ein) festgelegt ist, müssen Clients SSL/TLS für Verbindungen verwenden. Weitere Informationen zu Parametergruppen finden Sie unter Arbeiten mit Parametergruppen.

Führen Sie die folgende Abfrage durch, um die aktuelle Verschlüsselungsoption für alle offenen Verbindungen zu einer DB-Instance zu erhalten. Die Spalte ENCRYPT_OPTION zeigt TRUE, wenn die Verbindung verschlüsselt ist.

select SESSION_ID, ENCRYPT_OPTION, NET_TRANSPORT, AUTH_SCHEME from SYS.DM_EXEC_CONNECTIONS

Diese Abfrage zeigt nur die aktuellen Verbindungen. Sie zeigt nicht, ob Anwendungen, die sich in der Vergangenheit verbunden oder getrennt haben, SSL verwendeten.

Ermitteln, ob ein Client zum Herstellen von Verbindungen Zertifikatverifizierungen erfordert

Sie können überprüfen, ob verschiedene Arten von Clients zum Herstellen von Verbindungen Zertifikatverifizierungen erfordern.

Anmerkung

Wenn Sie andere als die aufgeführten Konnektoren verwenden, konsultieren Sie deren Dokumentation für Informationen zur Durchsetzung verschlüsselter Verbindungen. Weitere Informationen finden Sie unter Verbindungsmodule für Microsoft SQL-Datenbanken in der Microsoft SQL Server-Dokumentation.

SQL Server Management Studio

Prüfen Sie, ob die Verschlüsselung für SQL Server Management Studio-Verbindungen erzwungen wird:

  1. Starten Sie SQL Server Management Studio.

  2. Geben Sie für Connect to server (Mit Server verbinden) die Serverinformationen, den Anmeldebenutzernamen und das Passwort ein.

  3. Wählen Sie Optionen aus.

  4. Prüfen Sie, ob auf der Verbindungsseite Encrypt connection (Verbindung verschlüsseln) ausgewählt ist.

Weitere Informationen über SQL Server Management Studio finden Sie unter SQL Server Management Studio verwenden.

Sqlcmd

Das folgende Beispiel mit dem sqlcmd-Client zeigt, wie die SQL Server-Verbindung eines Skripts überprüft werden kann, um festzustellen, ob für erfolgreiche Verbindungen ein gültiges Zertifikat erforderlich ist. Weitere Informationen finden Sie unter Herstellen von Verbindungen mit sqlcmd in der Microsoft SQL Server-Dokumentation.

Bei Verwendung von sqlcmd erfordert eine SSL-Verbindung die Verifizierung anhand des CA-Serverzertifikats, wenn Sie zum Verschlüsseln von Verbindungen das Befehlsargument -N angeben wie im folgenden Beispiel gezeigt.

$ sqlcmd -N -S dbinstance.rds.amazon.com -d ExampleDB
Anmerkung

Wenn sqlcmd mit der Option -C aufgerufen wird, wird dem Serverzertifikat vertraut, auch wenn dieses nicht mit dem clientseitigen Trust Store übereinstimmt.

ADO.NET

Im folgenden Beispiel stellt die Anwendung Verbindungen über SSL her und das Serverzertifikat muss verifiziert werden.

using SQLC = Microsoft.Data.SqlClient; ... static public void Main() { using (var connection = new SQLC.SqlConnection( "Server=tcp:dbinstance.rds.amazon.com;" + "Database=ExampleDB;User ID=LOGIN_NAME;" + "Password=YOUR_PASSWORD;" + "Encrypt=True;TrustServerCertificate=False;" )) { connection.Open(); ... }

Java

Im folgenden Beispiel stellt die Anwendung Verbindungen über SSL her und das Serverzertifikat muss verifiziert werden.

String connectionUrl = "jdbc:sqlserver://dbinstance.rds.amazon.com;" + "databaseName=ExampleDB;integratedSecurity=true;" + "encrypt=true;trustServerCertificate=false";

Zum Aktivieren der SSL-Verschlüsselung für Clients, die Verbindungen über JDBC herstellen, müssen Sie dem Java CA-Zertifikatspeicher möglicherweise das Amazon RDS-Zertifikat hinzufügen. Anweisungen hierzu finden Sie unter Konfigurieren des Clients für Verschlüsselung in der Microsoft SQL Server-Dokumentation. Sie können den Namen der Datei für das vertrauenswürdige CA-Zertifikat auch direkt bereitstellen, indem Sie der Verbindungszeichenfolge trustStore=path-to-certificate-trust-store-file anfügen.

Anmerkung

Wenn Sie in der Verbindungszeichenfolge TrustServerCertificate=true (oder entsprechend) verwenden, wird im Verbindungsvorgang die Vertrauenskettenvalidierung übersprungen. In diesem Fall stellt die Anwendung Verbindungen her, auch wenn das Zertifikat nicht verifiziert werden kann. Die Verwendung von TrustServerCertificate=false erzwingt die Zertifikatvalidierung und stellt eine bewährte Methode dar.

Aktualisieren des Trust Stores Ihrer Anwendung

Sie können den Trust Store für Anwendungen aktualisieren, die Microsoft SQL Server verwenden. Detaillierte Anweisungen finden Sie unter Verschlüsseln spezifischer Verbindungen. Anweisungen hierzu finden Sie auch unter Konfigurieren des Clients für Verschlüsselung in der Microsoft SQL Server-Dokumentation.

Wenn Sie ein anderes Betriebssystem als Microsoft Windows verwenden, finden Sie in der Dokumentation der Softwarebverteilung zur SSL/TLS-Implementierung Informationen dazu, wie Sie ein neues CA-Stammzertifikat hinzufügen. OpenSSL und GnuTLS sind Beispiele für verbreitete Optionen. Wenden Sie die Implementierungsmethode an, um das RDS-CA-Stammzertifikat als vertrauenswürdig anzugeben. Microsoft stellt Anweisungen zum Konfigurieren von Zertifikaten auf bestimmten Systemen bereit.

Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter .

Beispiele für Skripte, die Zertifikate importieren, finden Sie unter Beispielskript für den Import von Zertifikaten in Ihren Trust Store.

Anmerkung

Wenn Sie den Trust Store aktualisieren, können Sie ältere Zertifikate beibehalten und die neuen Zertifikate einfach hinzufügen.