Freigeben über


Transport Layer Security (TLS) in Azure-Datenbank für PostgreSQL

Azure Database for PostgreSQL erfordert alle Clientverbindungen zur Verwendung von Transport Layer Security (TLS), einem Branchenstandardprotokoll, das die Kommunikation zwischen Ihrem Datenbankserver und Clientanwendungen verschlüsselt. TLS ersetzt das ältere SSL-Protokoll, wobei nur TLS-Versionen 1.2 und 1.3 als sicher erkannt wurden. Die Integrität der TLS-Sicherheit basiert auf drei Säulen:

  • Verwenden sie nur TLS-Versionen 1.2 oder 1.3.
  • Der Client überprüft das TLS-Zertifikat des Servers, das von einer Zertifizierungsstelle (Certificate Authority, CA) in einer Kette von Zertifizierungsstellen ausgestellt wurde, die von einer vertrauenswürdigen Stammzertifizierungsstelle gestartet wurden.
  • Aushandeln einer sicheren Cipher-Suite zwischen Server und Client.

Vertrauenswürdige Stammzertifikate und Zertifikatrotationen

Von Bedeutung

Microsoft hat eine TLS-Zertifikatrotation für die Azure-Datenbank für PostgreSQL gestartet, um die Zertifikate der Zwischen-CA und die resultierende Zertifikatkette zu aktualisieren. Die Stamm-CAs bleiben gleich.

Wenn Ihre Clientkonfiguration die empfohlenen Konfigurationen für TLS verwendet, müssen Sie keine Maßnahmen ergreifen.

Zeitplan für die Zertifikatrotation

  • Azure-Regionen West Central US, Ostasien und Uk South haben am 11. November 2025 ihre TLS-Zertifikatrotation gestartet.
  • Ab dem 19. Januar 2026 soll diese Zertifikatrotation auf die verbleibenden Regionen (außer China) einschließlich Azure Government ausgedehnt werden.
  • Nach dem Frühlingsfest (chinesisches Neujahr) 2026 werden sich auch China-Regionen einer Zertifikatrotation unterziehen, die eine Änderung an einem der Stamm-Zertifizierungsstellen umfasst.

Stamm-CAs, die von Azure-Datenbank für PostgreSQL verwendet werden

Stammzertifizierungsstellen sind die Zertifizierungsstellen der obersten Ebene in der Zertifikatkette. Azure Database for PostgreSQL verwendet derzeit dualsignierte Zertifikate, die von einer zwischengeschalteten Zertifizierungsstelle (ICA) ausgestellt wurden, die von den folgenden Stammzertifizierungsstellen verankert sind:

China-Regionen verwenden derzeit die folgenden CAs:

Zwischen-CAs

Azure Database for PostgreSQL verwendet Zwischen-CAs (ICAs), um Serverzertifikate auszustellen. Um die Sicherheit aufrechtzuerhalten, wechselt Microsoft regelmäßig diese ICAs und die von ihnen ausgegebenen Serverzertifikate. Diese Rotationen sind Routine und werden nicht im Voraus angekündigt.

Die aktuelle Rotation der intermediären Zertifizierungsstellen für DigiCert Global Root CA (siehe Zertifikatrotation) begann im November 2023 und soll im ersten Quartal 2024 abgeschlossen werden. Wenn Sie die empfohlenen Methoden befolgt haben, erfordert diese Änderung keine Änderungen in Ihrer Umgebung.

Alte Zertifizierungsstellenkette

Verwenden Sie keine Zwischenzertifizierungsstellen oder Serverzertifikate in Ihrem vertrauenswürdigen Stammspeicher.

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS Issuing CA 03 / 04 / 07 / 08
      • Serverzertifikat

Neue Zertifizierungsstellenkette

Verwenden Sie keine Zwischenzertifizierungsstellen oder Serverzertifikate in Ihrem vertrauenswürdigen Stammspeicher.

  • DigiCert Global Root G2
    • Microsoft TLS RSA Root G2
      • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
        • Serverzertifikat

Lesereplikate

Die Migration der Stammzertifizierungsstelle von DigiCert Global Root CA zu DigiCert Global Root G2 ist nicht in allen Regionen abgeschlossen. Daher ist es möglich, dass neu erstellte Lesereplikate ein neueres Stammzertifikat der Zertifizierungsstelle als der des primären Servers verwenden. Sie sollten digiCert Global Root CA zum vertrauenswürdigen Speicher für lesereplikate hinzufügen.

Zertifikatketten

Eine Zertifikatkette ist eine hierarchische Abfolge von Zertifikaten, die von vertrauenswürdigen Zertifizierungsstellen (Certificate Authorities, CAs) ausgestellt wurden. Die Kette beginnt bei der Stammzertifizierungsstelle, die ICA-Zertifikate (Intermediate CA) ausgibt. ICAs können Zertifikate für untergeordnete ICAs ausstellen. Die niedrigste ICA in der Kette gibt einzelne Serverzertifikate aus. Sie richten die Zertifikatskette ein, indem Sie jedes Zertifikat in der Kette bis zur Root-CA überprüfen.

Reduzieren von Verbindungsfehlern

Die Verwendung empfohlener TLS-Konfigurationen trägt dazu bei, das Risiko von Verbindungsfehlern aufgrund von Zertifikatdrehungen oder Änderungen in zwischengeschalteten Zertifizierungsstellen zu verringern. Vermeiden Sie insbesondere das Vertrauen von Zwischen-CAs oder einzelnen Serverzertifikaten. Diese Methoden können zu unerwarteten Verbindungsproblemen führen, wenn Microsoft die Zertifikatkette aktualisiert.

Von Bedeutung

Microsoft kündigt im Voraus Änderungen bei Root-CAs an, um Ihnen bei der Vorbereitung Ihrer Clientanwendungen zu helfen. Serverzertifikatrotationen und Änderungen an zwischengeschalteten Zertifizierungsstellen sind jedoch Routine und werden nicht angekündigt.

Vorsicht

Die Verwendung von nicht unterstützten Konfigurationen (Clientkonfigurationen) verursacht unerwartete Verbindungsfehler.

Optimale Konfiguration

  • Erzwingen Sie die neueste, sicherste TLS-Version, indem Sie den ssl_min_protocol_version Serverparameter auf TLSv1.3festlegen.
  • Verwenden Sie sslmode=verify-all für PostgreSQL-Verbindungen, um die vollständige Zertifikat- und Hostnamenüberprüfung sicherzustellen. Je nach Ihrer DNS-Konfiguration mit privaten Endpunkten oder der Integration des virtuellen Netzwerks verify-all ist dies möglicherweise nicht möglich. Daher können Sie stattdessen verwenden verify-ca .
  • Verwalten Sie immer den vollständigen Satz von Azure-Stammzertifikaten in Ihrem vertrauenswürdigen Stammspeicher.

Gute Konfiguration

  • Legen Sie den ssl_min_protocol_version Serverparameter auf TLSv1.3. Wenn Sie TLS 1.2 unterstützen müssen, legen Sie die minimale Version nicht fest.
  • Verwenden Sie sslmode=verify-all oder sslmode=verify-ca für PostgreSQL-Verbindungen, um vollständige oder teilweise Zertifikatüberprüfung sicherzustellen.
  • Stellen Sie sicher, dass der vertrauenswürdige Stammspeicher das Stammzertifizierungsstellenzertifikat enthält, das derzeit von Azure Database für PostgreSQL verwendet wird:

Verwenden Sie nicht die folgenden Konfigurationen:

  • Deaktivieren Sie TLS, indem Sie require_secure_transport auf OFF setzen und die clientseitige Einstellung auf sslmode=disable ändern.
  • Verwenden Sie clientseitige sslmode Einstellungen disable, allow, , preferoder require die Ihre App anfällig für Man-in-the-Middle-Angriffe machen können.

Nicht unterstützte Konfigurationen; nicht verwenden

Azure PostgreSQL gibt keine Änderungen an Zwischenzertifizierungsstellenänderungen oder einzelnen Serverzertifikatsrotationen an. Daher werden die folgenden Konfigurationen nicht unterstützt, wenn Sie Einstellungen sslmode verwenden verify-ca oderverify-all:

  • Verwenden von Zwischenzertifikaten in Ihrem vertrauenswürdigen Zertifikatsspeicher.
  • Verwenden von Zertifikatspinning, zum Beispiel durch individuelle Serverzertifikate in Ihrem vertrauenswürdigen Speicherort.

Vorsicht

Ihre Anwendungen können ohne Vorwarnung keine Verbindung zu den Datenbankservern herstellen, wenn Microsoft die Zwischenzertifizierungsstellen der Zertifikatkette ändert oder das Serverzertifikat austauscht.

Probleme beim Anheften von Zertifikaten

Hinweis

Zertifikatsaktualisierungen wirken sich nicht auf Sie aus, wenn Sie die Verbindungszeichenfolge sslmode=verify-full oder sslmode=verify-ca in Ihrer Clientanwendung nicht verwenden. Daher müssen Sie die Schritte in diesem Abschnitt nicht ausführen.

Verwenden Sie niemals Zertifikat-Pinning in Ihren Anwendungen, da die Zertifikatsaktualisierung behindert wird, wie die derzeitige Änderung von Zertifikaten der Zwischenzertifizierungsstellen. Wenn Sie nicht wissen, was das Anheften von Zertifikaten ist, ist es unwahrscheinlich, dass Sie es verwenden. So überprüfen Sie das Zertifikats-Pinning:

Wenn Probleme aufgrund des Zwischenzertifikats auftreten, auch nachdem Sie diese Schritte ausgeführt haben, wenden Sie sich an den Microsoft-Support. Schließen Sie ICA Rotation 2026 in den Titel ein.

Weitere Überlegungen für TLS

Über die kerne TLS-Konfiguration und Zertifikatverwaltung hinaus beeinflussen mehrere andere Faktoren die Sicherheit und das Verhalten verschlüsselter Verbindungen mit Azure Database für PostgreSQL. Wenn Sie diese Überlegungen verstehen, können Sie fundierte Entscheidungen zur TLS-Implementierung in Ihrer Umgebung treffen.

Unsichere und sichere TLS-Versionen

Mehrere Behörden verwalten weltweit Richtlinien für TLS bezüglich der Netzwerksicherheit. In den Vereinigten Staaten umfassen diese Organisationen das Department of Health and Human Services und das National Institute of Standards and Technology. Das von TSL gebotene Sicherheitsniveau wird am stärksten von der TLS-Protokollversion und den unterstützten Verschlüsselungssammlungen beeinflusst.

Azure Database for PostgreSQL unterstützt TLS-Versionen 1.2 und 1.3. In RFC 8996 gibt die Internet Engineering Task Force (IETF) explizit an, dass TLS 1.0 und TLS 1.1 nicht verwendet werden dürfen. Beide Protokolle wurden Ende 2019 als veraltet gekennzeichnet. Alle eingehenden Verbindungen, die frühere unsichere Versionen des TLS-Protokolls verwenden, z. B. TLS 1.0 und TLS 1.1, werden standardmäßig verweigert.

Die IETF veröffentlichte die TLS 1.3-Spezifikation in RFC 8446 im August 2018, und TLS 1.3 ist die empfohlene Version, da sie schneller und sicherer als TLS 1.2 ist.

Obwohl es bei Bedarf nicht empfohlen wird, können Sie TLS für Verbindungen mit Ihrer Azure-Datenbank für PostgreSQL deaktivieren. Sie können den Serverparameter require_secure_transport auf OFF aktualisieren.

Von Bedeutung

Verwenden Sie die neueste Version von TLS 1.3, um Ihre Datenbankverbindungen zu verschlüsseln. Sie können die minimale TLS-Version angeben, indem Sie den ssl_min_protocol_version Serverparameter auf TLSv1.3. Legen Sie den ssl_max_protocol_version Serverparameter nicht fest.

Verschlüsselungsfamilien

Eine Verschlüsselungssuite ist eine Reihe von Algorithmen, die eine Verschlüsselung, einen Schlüsselaustauschalgorithmus und einen Hashingalgorithmus enthalten. Verwenden Sie sie zusammen mit dem TLS-Zertifikat und der TLS-Version, um eine sichere TLS-Verbindung herzustellen. Die meisten TLS-Clients und -Server unterstützen mehrere Verschlüsselungssammlungen und manchmal mehrere TLS-Versionen. Während der Einrichtung der Verbindung verhandeln der Client und der Server die TLS-Version und die Verschlüsselungssuite, die über einen Handshake verwendet werden soll. Während dieses Handshakes treten die folgenden Schritte auf:

  • Der Client sendet eine Liste zulässiger Cipher-Suites.
  • Der Server wählt die beste Verschlüsselungssuite aus der Liste aus und informiert den Kunden über die Wahl.

TLS-Features in Azure-Datenbank für PostgreSQL nicht verfügbar

Zurzeit implementiert Azure Database for PostgreSQL nicht die folgenden TLS-Features:

  • TLS-zertifikatbasierte Clientauthentifizierung über TLS mit gegenseitiger Authentifizierung (mTLS).
  • Benutzerdefinierte Serverzertifikate (Bring your own TLS certificates).