SSL-Richtlinien – Übersicht

In diesem Dokument bezieht sich der Begriff SSL sowohl auf das Secure Sockets Layer-Protokoll (SSL) als auch auf das Transport Layer Security-Protokoll (TLS). Die Informationen in diesem Dokument beziehen sich auf TLS-Verbindungen über das TCP-Transportprotokoll, für die eine beliebige unterstützte Version von TLS verwendet werden kann. Bei Load-Balancern, die HTTP/3 verwenden, ist das zugrunde liegende Transportprotokoll QUIC, das ausschließlich TLS 1.3 verwendet.

SSL-Richtlinien sind Google Cloud Konfigurationsobjekte, mit denen Sie steuern können, wie Load-Balancer TLS-Clientverbindungen beenden. Eine SSL-Richtlinie ist einem HTTPS-Ziel-Proxy oder einem SSL-Ziel-Proxy zugeordnet. Eine SSL-Richtlinie gibt ein Profil von TLS-Funktionen und eine TLS-Mindestversion an.

Jedes vordefinierte Profil einer SSL-Richtlinie gibt eine Reihe von TLS-Funktionen an, die der Load-Balancer unterstützen soll. Die TLS-Mindestversion schränkt den Load Balancer weiter ein, sodass nur bestimmte TLS-Versionen verwendet werden. Wenn Sie die Unterstützung für bestimmte Cipher-Suites angeben müssen, die von TLS 1.2 und älter verwendet werden, können Sie das mit einem benutzerdefinierten Profil tun. Jeder SSL-Richtlinie ist ein Bereich zugeordnet, entweder global oder regional, je nach Load Balancer.

Die folgenden Load-Balancer unterstützen globale SSL-Richtlinien:

  • Globaler externer Application Load Balancer
  • Klassischer Application Load Balancer
  • Regionsübergreifender interner Application Load Balancer
  • Globaler externer Proxy-Network Load Balancer
  • Klassischer Proxy-Network Load Balancer

Die folgenden Load-Balancer unterstützen regionale SSL-Richtlinien:

  • Regionaler externer Application Load Balancer
  • Regionaler interner Application Load Balancer

Die Zuordnung einer SSL-Richtlinie zu einem Ziel-HTTPS-Proxy oder Ziel-SSL-Proxy ist optional. Jedem HTTPS-Zielproxy oder SSL-Zielproxy kann höchstens eine SSL-Richtlinie zugeordnet werden. Sie können dieselbe SSL-Richtlinie mehreren Ziel-HTTPS-Proxys oder mehreren Ziel-SSL-Proxys zuordnen, sofern die SSL-Richtlinie und der Zielproxy identische Bereiche verwenden. Änderungen an SSL-Richtlinien ändern oder unterbrechen keine vorhandenen Load Balancer-Verbindungen.

Das folgende Beispiel zeigt, wie Verbindungen von Clients zu einem Load-Balancer hergestellt und beendet werden.

Clientverbindungen in externen Application Load Balancern oder externen Proxy-Network Load Balancern.
Clientverbindungen in externen Application Load Balancern oder externen Proxy-Network Load Balancern (zum Vergrößern anklicken).

Sie können eine SSL-Richtlinie verwenden, um die Mindest-TLS-Version und die SSL-Features zu konfigurieren, die im Load-Balancer aktiviert sind. SSL-Richtlinien haben Auswirkungen auf Verbindungen zwischen Clients und dem Load-Balancer (Verbindung 1 in der Abbildung). SSL-Richtlinien haben keine Auswirkungen auf die Verbindungen zwischen dem Load Balancer und den Backends (Verbindung 2 in der Abbildung).

SSL-Richtlinie erstellen

Wenn Sie eine SSL-Richtlinie erstellen, geben Sie die folgenden Informationen an:

  • profile: Gibt eine Reihe von TLS-Funktionen an, die der Load Balancer unterstützen soll.
  • TLS-Mindestversion, mit der der Load Balancer weiter eingeschränkt wird, sodass nur bestimmte TLS-Versionen verwendet werden
  • Einstellung für Post-Quanten-Schlüsselaustausch, die angibt, wann der Post-Quanten-Schlüsselaustausch auf dem Load Balancer aktiviert wird

Wenn Clients eine Verbindung zum Load-Balancer herstellen, geben sie die TLS-Protokollversionen, Cipher-Suites und anderen TLS-Funktionen an, die sie unterstützen. Während des TLS-Handshake wählt der Load Balancer die neueste TLS-Protokollversion aus, die sowohl er als auch der Client unterstützen, und legt auch andere TLS-Parameter (einschließlich einer Cipher Suite) für die Verbindung fest. Der TLS-Handshake schlägt fehl, wenn der Load-Balancer und der Client keine sich überschneidenden TLS-Versionen, Cipher Suites und anderen Funktionen unterstützen.

Vordefinierte Profile

Google Cloud bietet die folgenden vordefinierten Profile an.

  • COMPATIBLE: Unterstützt die meisten Clients, einschließlich Clients, die nur frühere TLS-Versionen und TLS-Funktionen verwenden können.
  • MODERN: Unterstützt eine Vielzahl von TLS-Chiffren, mit denen moderne Clients TLS aushandeln können.
  • RESTRICTED: Unterstützt einen reduzierten Satz von TLS-Chiffren. Das RESTRICTED-Profil soll strengere Compliance-Anforderungen erfüllen.
  • FIPS_202205: Unterstützt eine Reihe von TLS-Funktionen, die die FIPS 140-3-Compliance erfüllen sollen.

Benutzerdefiniertes Profil

Die Profile COMPATIBLE, MODERN und RESTRICTED unterscheiden sich in den unterstützten Cipher Suites, wenn der Load-Balancer TLS 1.2 und frühere Versionen aushandelt. Die Unterschiede sind in der Tabelle im Abschnitt Cipher Suites für TLS 1.2 und früher aufgeführt.

Sie können auch ein CUSTOM-Profil erstellen und die vom Load Balancer für TLS 1.2 und früher unterstützten Cipher Suites einzeln angeben. Dies hat keine Auswirkungen darauf, wie der Load-Balancer TLS 1.3 aushandelt.

Verhalten, wenn keine SSL-Richtlinie angegeben ist

Wenn Sie einem Ziel-HTTPS-Proxy oder Ziel-SSL-Proxy keine SSL-Richtlinie zuordnen, verhält sich der Load-Balancer so, als hätten Sie eine SSL-Richtlinie mit den folgenden Einstellungen zugeordnet:

  • das Profil COMPATIBLE ausgewählt ist und
  • Die TLS-Mindestversion ist auf 1.0 festgelegt.

Unterstützung von TLS-Versionen

Ein Profil kann die Versionen von TLS, die der Load-Balancer aushandeln kann, auch indirekt einschränken. Die im Profil RESTRICTED aktivierten Chiffresammlungen enthalten beispielsweise keine Chiffresammlungen, die von TLS 1.0 oder 1.1 unterstützt werden. Wenn Sie das Profil RESTRICTED auswählen, können Clients TLS 1.0 und 1.1 daher faktisch nicht verwenden, selbst wenn die TLS-Mindestversion der SSL-Richtlinie auf 1.0 oder 1.1 festgelegt ist.

Cloud Load Balancing unterstützt nicht die SSL-Version 3.0 oder früher. In der folgenden Tabelle werden die unterstützten Features für jede TLS/SSL-Version aufgelistet.

TLS/SSL-Version Funktionsunterstützung
TLS 1.3

Alle Profile mit Ausnahme des Profils FIPS_202205 unterstützen die folgenden TLS 1.3-Cipher-Suites:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

Das Profil FIPS_202205 unterstützt die folgenden beiden TLS 1.3-Chiffresammlungen:

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
TLS 1.2 und früher Das von der SSL-Richtlinie verwendete Profil steuert, welche Chiffresammlungen mit TLS 1.2 und älter verwendet werden.
SSL 3.0 oder älter Wird nicht von Load-Balancern unterstützt, die SSL-Richtlinien verwenden.

Cipher Suites für TLS 1.2 und früher

In der folgenden Tabelle sind die Cipher-Suites für TLS 1.2 und früher aufgeführt, die in den einzelnen vordefinierten Profilen enthalten sind. Wenn Sie eine SSL-Richtlinie mit dem Profil CUSTOM erstellen, können Sie diese Cipher-Suites einzeln auswählen. SSL-Richtlinien, die das Profil CUSTOM verwenden, müssen mindestens eine Cipher-Suite aus der folgenden Liste enthalten.

IANA-Wert Funktion COMPATIBLE MODERN RESTRICTED FIPS_202205
0xCCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xC02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x009C TLS_RSA_WITH_AES_128_GCM_SHA256
0x009D TLS_RSA_WITH_AES_256_GCM_SHA384
0x002F TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000A TLS_RSA_WITH_3DES_EDE_CBC_SHA

FIPS_202205-Profildetails

Das Profil FIPS_202205 beschränkt den Load Balancer auf die Verwendung einer Reihe von TLS-Funktionen, die mit dem FIPS 140-3-Standard kompatibel sein sollen. Wenn in einer SSL-Richtlinie dieses Profil verwendet wird, unterstützt der Load-Balancer TLS 1.2 oder 1.3 mit den folgenden Einschränkungen:

  • Wenn die TLS-Verbindung TLS 1.2 verwendet, sind nur die folgenden Chiffresammlungen zulässig:

    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • Wenn die TLS-Verbindung TLS 1.3 verwendet, sind nur die folgenden Cipher Suites zulässig:

    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
  • Für die Schlüsselvereinbarung sind nur P-256 oder P-384 zulässig.

  • Es sind nur die folgenden digitalen Signaturen für Load-Balancer-Zertifikate zulässig:

    • PKCS#1/PSS mit SHA-256, SHA-384 oder SHA-512
    • ECDSA mit P-256 oder P-384 und SHA-256 oder SHA-384

Post-Quanten-Schlüsselaustausch

Der Post-Quanten-Schlüsselaustausch schützt vor bestimmten Bedrohungen der TLS-Sicherheit, die durch Quantencomputertechnologie entstehen. Im Laufe der Zeit werden wir sie standardmäßig inGoogle Cloud -Load-Balancern aktivieren. Mit der Einstellung für den Post-Quanten-Schlüsselaustausch können Sie ihn früher aktivieren. Wir empfehlen, dies zu tun.

Die von Google Cloud-Load-Balancern unterstützte Form des Post-Quanten-Schlüsselaustauschs ist X25519MLKEM768, eine Kombination aus klassischen und Post-Quanten-Kryptografiealgorithmen.

Sie können den X25519MLKEM768-Schlüsselaustausch für alle Load-Balancer aktivieren, die SSL-Richtlinien unterstützen.

Wenn Sie den Post-Quanten-Schlüsselaustausch aktivieren, sollten Sie Folgendes beachten:

  • Wenn der Post-Quanten-Schlüsselaustausch aktiviert ist, verwendet der Load Balancer den X25519MLKEM768-Schlüsselaustausch, wenn er eine Verbindung zu Clients herstellt, die die Unterstützung für TLS 1.3 und X25519MLKEM768 ankündigen. Verbindungen zu Clients, die TLS 1.3 oder X25519MLKEM768 nicht unterstützen, sind davon nicht betroffen.

  • Der Post-Quanten-Schlüsselaustausch wird nur für Frontend-TLS-Verbindungen unterstützt, d. h. für Verbindungen zwischen dem Client und dem Load Balancer.

  • Der Post-Quanten-Algorithmus für den Schlüsselaustausch kann mit jedem der SSL-Richtlinienprofile und jeder Einstellung für die TLS-Mindestversion aktiviert werden.

Post-Quanten-Schlüsselaustauschmodi

Mit der Einstellung für den Post-Quanten-Schlüsselaustausch können Sie Folgendes angeben:

  • ENABLED: Der Load-Balancer verwendet X25519MLKEM768-Schlüsselaustausch mit Clients, die Unterstützung dafür ankündigen.

  • DEFAULT. Der Load-Balancer lässt den X25519MLKEM768-Schlüsselaustausch bis Oktober 2026 nicht zu. Dies ist das Standardverhalten, wenn keine SSL-Richtlinie angehängt ist.

  • DEFERRED. Der Load-Balancer lässt den X25519MLKEM768-Schlüsselaustausch bis Oktober 2027 nicht zu.

Die folgende Zeitachse zeigt die geplante Einführung der Unterstützung für den Post-Quantum-Schlüsselaustausch für Load-Balancer.

Zeitachse Status des Post-Quanten-Schlüsselaustauschs
Jetzt Standardmäßig deaktiviert, nur aktiviert, wenn auf ENABLED eingestellt
Nach Oktober 2026 Standardmäßig aktiviert, deaktiviert, wenn auf DEFERRED gesetzt
Nach Oktober 2027 Immer aktiviert

Weitere Informationen zum Erstellen einer SSL-Richtlinie mit Post-Quantum-Schlüsselaustausch finden Sie unter SSL-Richtlinien erstellen.

Beschränkungen

  • Das Deaktivieren bestimmter SSL-Versionen oder -Chiffres kann dazu führen, dass einige ältere Clients keine Verbindung über HTTPS oder SSL zu Ihrem Proxy herstellen können. Wenn zu viele Chiffres im Profil CUSTOM deaktiviert werden, kann möglicherweise kein Client eine HTTPS-Verbindung aushandeln.

  • Ein SSL-Zertifikat, das Ihrem Load-Balancer zugeordnet ist, verwendet entweder eine digitale ECDSA- oder RSA-Signatur. Die vordefinierten Profile sind mit beiden Arten von Zertifikatsignaturen kompatibel. In einem benutzerdefinierten Profil müssen Chiffres aktiviert werden, die mit der digitalen Signatur kompatibel sind, die von den Zertifikaten Ihres Load-Balancers verwendet wird.

Nächste Schritte