SSL-Zertifikate

Transport Layer Security (TLS) ist ein Verschlüsselungsprotokoll, das in SSL-Zertifikaten zum Schutz der Netzwerkkommunikation verwendet wird.

Google Cloud verwendet SSL-Zertifikate, um für einen Load-Balancer Datenschutz und Sicherheit von einem Client bereitzustellen. Dazu benötigt der Load-Balancer ein SSL-Zertifikat und den entsprechenden privaten Schlüssel des Zertifikats. Die Kommunikation zwischen dem Client und dem Load-Balancer bleibt privat und kann ohne diesen privaten Schlüssel von keinem Drittanbieter gelesen werden.

Load-Balancer

In der folgenden Tabelle sind die Typen von Google Cloud-Load-Balancer zusammengefasst, für die SSL-Zertifikate erforderlich sind.

Load-Balancer-Typ Protokoll vom Client zum Load-Balancer
Interne HTTPS-Load-Balancer HTTPS oder HTTP/2
Externe HTTPS-Load-Balancer HTTPS oder HTTP/2
SSL-Proxy-Load-Balancer SSL (TLS)

Selbstverwaltete und von Google verwaltete SSL-Zertifikate

Sie können eigene selbstverwaltete Zertifikate abrufen oder von Google verwaltete Zertifikate verwenden, die Google für Sie abruft und verwaltet.

  • Selbstverwaltete SSL-Zertifikate sind solche, die Sie selbst erwerben, bereitstellen und erneuern. Dieser Typ kann eines der folgenden Zertifikate sein:

    • Domain Validation (DV)
    • Organization Validation (OV)
    • Extended Validation (EV)

    Weitere Informationen finden Sie unter Public-Key-Zertifikat.

  • Von Google verwaltete SSL-Zertifikate sind Zertifikate, die Google Cloud für Ihre Domains abruft, verwaltet und automatisch erneuert. Von Google verwaltete Zertifikate sind DV-Zertifikate (Domain Validation). Sie zeigen nicht die Identität einer Organisation oder Person, die mit dem Zertifikat verknüpft ist, und sie unterstützen keine Common Names für Platzhalter.

Sie können für externe HTTP(S)-Load-Balancer und SSL-Proxy-Load-Balancer entweder auf von Google verwaltete, selbstverwaltete oder eine Kombination beider Typen von SSL-Zertifikaten auf einem Zielproxy verweisen. Auf die Zertifikate kann in beliebiger Reihenfolge verwiesen werden. Für interne HTTP(S)-Load-Balancer müssen Sie selbstverwaltete Zertifikate verwenden.

Informationen zum Konfigurieren von SSL-Zertifikaten für Ihre Load-Balancer finden Sie in den folgenden Anleitungen:

Mehrere SSL-Zertifikate

Sie können bis zur Höchstzahl an SSL-Zertifikaten pro Ziel-HTTPS- oder Ziel-SSL-Proxy konfigurieren. Verwenden Sie mehrere SSL-Zertifikate, wenn Sie über mehrere Domains mit derselben Load-Balancer-IP-Adresse und demselben Load-Balancer-Port Daten bereitstellen und für jede Domain ein anderes SSL-Zertifikat verwenden möchten.

Wenn Sie mehr als ein SSL-Zertifikat angeben, gilt das erste Zertifikat in der Liste der SSL-Zertifikate als primäres SSL-Zertifikat, das dem Ziel-Proxy zugeordnet ist.

Wenn ein Client eine Anfrage sendet, verwendet der Load-Balancer den vom Client angegebenen SNI-Hostnamen, um das Zertifikat auszuwählen, das beim Aushandeln der SSL-Verbindung verwendet werden soll.

Wann immer möglich wählt der Load-Balancer ein Zertifikat aus, dessen Common Name (CN) oder Subject Alternative Name (SAN) dem SNI-Hostnamen entspricht, der vom Client angegeben wird. RSA und ECDSA sind digitale Signaturen, die von der Clientsoftware verwendet werden können.

Wenn keines der verfügbaren Zertifikate ausgewählt werden kann oder der Client keinen SNI-Hostnamen angibt, handelt der Load-Balancer SSL unter Verwendung des primären Zertifikats aus (das erste Zertifikat in der Liste).

Diagramm: Mehrere SSL-Zertifikate (zum Vergrößern anklicken)
Mehrere SSL-Zertifikate (zum Vergrößern anklicken)

Verschlüsselung vom Load-Balancer zu den Back-Ends

Beim HTTP(S)-Load-Balancing, TCP-Proxy-Load-Balancing und SSL-Proxy-Load-Balancing verschlüsselt Google automatisch Traffic zwischen Google Front Ends (GFEs) und Ihren Back-Ends, die sich in Google Cloud befinden.

Zusätzlich zur Verschlüsselung auf Netzwerkebene können Sie ein sicheres Protokoll als Back-End-Dienstprotokoll verwenden. Zu den sicheren Protokollen gehören SSL, HTTPS oder HTTP/2 (mit TLS). Sie können sie für die GFE-basierten Load-Balancer sowie für das interne HTTP(S)-Load-Balancing und Traffic Director verwenden.

Wenn ein Load-Balancer über ein sicheres Back-End-Dienstprotokoll eine Verbindung zu Ihren Back-Ends herstellt, ist das GFE der SSL- oder HTTPS-Client. Ebenso ist der Proxy der SSL- oder HTTPS-Client, wenn ein clientseitiger Proxy, der mit Traffic Director konfiguriert ist, über ein sicheres Back-End-Dienstprotokoll eine Verbindung zu Ihren Back-Ends herstellt.

In den folgenden Fällen wird ein sicheres Protokoll für die Verbindung mit Back-End-Instanzen empfohlen:

  • Wenn Sie eine prüfbare, verschlüsselte Verbindung vom Load-Balancer (oder Traffic Director) zu den Back-End-Instanzen benötigen.

  • Wenn der Load-Balancer eine Verbindung zu einer Back-End-Instanz außerhalb von Google Cloud herstellt (über eine Internet-NEG). Die Kommunikation mit einem Internet-NEG-Back-End kann das öffentliche Internet übertragen. Wenn der Load-Balancer eine Verbindung zu einer Internet-NEG herstellt, muss das von der Zertifizierungsstelle signierte Zertifikat die Validierungsanforderungen erfüllen.

Beachten Sie die folgenden Anforderungen, um ein sicheres Protokoll zwischen dem Load-Balancer und Ihren Back-Ends zu verwenden:

  • Die Back-End-Dienste Ihres Load-Balancers müssen das SSL (TLS)-, HTTPS- oder HTTP/2-Protokoll verwenden.

  • Software der Back-End-Instanz muss Traffic mit demselben Protokoll wie der Back-End-Dienst bereitstellen. Wenn der Back-End-Dienst beispielsweise HTTPS verwendet, müssen Sie Ihre Back-End-Instanzen für die Verwendung von HTTPS konfigurieren. Wenn Sie das HTTP/2-Protokoll verwenden, müssen Ihre Back-Ends TLS verwenden. Konfigurationsanweisungen finden Sie in der Software-Dokumentation Ihrer Back-End-Instanz.

  • Sie müssen private Schlüssel und Zertifikate auf Ihren Back-End-Instanzen installieren. Diese Zertifikate müssen nicht mit dem SSL-Zertifikat des Load-Balancers übereinstimmen. Installationsanweisungen finden Sie in der Dokumentation der Back-End-Instanz.

  • Die auf Ihren Back-End-Instanzen ausgeführte Software muss als SSL- oder HTTPS-Server ausgeführt werden. Konfigurationsanweisungen finden Sie in der Software-Dokumentation Ihrer Back-End-Instanz.

Bei der Verwendung von Instanzgruppen- oder zonalen NEG-Back-Ends ist Folgendes zu beachten:

  • Wenn ein GFE eine TLS-Sitzung für Back-Ends startet, verwendet das GFE nicht die Erweiterung "Server Name Indication" (SNI).

  • Wenn ein GFE eine Verbindung zu Back-Ends in Google Cloud herstellt, akzeptiert das GFE alle Zertifikate, die von Ihren Back-Ends vorhanden sind. Die GFEs führen keine Zertifikatsprüfung durch. Beispielsweise gilt das Zertifikat auch in folgenden Fällen als gültig:

    • Bei einem selbst signierten Zertifikat.
    • Wenn das Zertifikat von einer unbekannten Zertifizierungsstelle signiert wurde.
    • Wenn das Zertifikat abgelaufen oder noch nicht gültig ist.
    • Wenn die Attribute CN und subjectAlternativeName nicht mit einem Host-Header oder DNS-PTR-Eintrag übereinstimmen.
Weitere Informationen zur Verschlüsselung von Google finden Sie unter Verschlüsselung bei der Übertragung in Google Cloud.

Load-Balancer, SSL-Zertifikate und Ziel-Proxys

Eine Ressource für ein Google Cloud-SSL-Zertifikat enthält sowohl einen privaten Schlüssel als auch das SSL-Zertifikat.

Zielproxys bilden die logische Verbindung zwischen dem Front-End eines Load-Balancers und seinem Back-End-Dienst (bei SSL-Proxy-Load-Balancern) oder der URL-Zuordnung (bei HTTPS-Load-Balancern).

Das folgende Diagramm zeigt, wie der Ziel-Proxy und die zugehörigen SSL-Zertifikate in die Load-Balancing-Architektur passen.

Diagramm: Ziel-Proxy, SSL-Zertifikat und andere Komponenten des Load-Balancer (zum Vergrößern klicken)
Ziel-Proxy, SSL-Zertifikat und andere Komponenten des Load-Balancer (zum Vergrößern klicken)

SSL-Zertifikatsbereich

Google Cloud verfügt über zwei Bereiche für SSL-Zertifikatressourcen: regional und global.

Load-Balancer-Typ Umfang der SSL-Zertifikatsressource gcloud-Referenz API-Referenz
Interne HTTPS-Load-Balancer Regional gcloud compute ssl-certificates --region regionSslCertificates
Externe HTTPS-Load-Balancer Global gcloud compute ssl-certificates --global sslCertificates
SSL-Proxy-Load-Balancer Global gcloud compute ssl-certificates --global sslCertificates

Zielproxys

SSL-Zertifikate sind den folgenden Arten von Zielproxys zugeordnet:

Load-Balancer-Typ Typ des Ziel-Proxys gcloud-Referenz API-Referenz
Interne HTTPS-Load-Balancer Regional gcloud compute target-https-proxies --region regionTargetHttpsProxies
Externe HTTPS-Load-Balancer Global gcloud compute target-https-proxies --global targetHttpsProxies
SSL-Proxy-Load-Balancer Global gcloud compute target-ssl-proxies --global targetSslProxies

Beschränkungen

  • Bei jedem Zielproxy wird eine begrenzte Anzahl von SSL-Zertifikaten unterstützt. Weitere Informationen finden Sie unter Limit für SSL-Zertifikate pro Ziel-HTTPS oder Ziel-SSL-Proxy.

  • Für jedes von Google verwaltete Zertifikat wird eine begrenzte Anzahl von Domains unterstützt. Weitere Informationen finden Sie unter Limit für Domains pro Google-verwaltetem SSL-Zertifikat.

  • Wenn Sie von Google verwaltete Zertifikate mit SSL-Proxy-Load-Balancing verwenden, muss die Weiterleitungsregel des Load-Balancers den TCP-Port 443 verwenden, damit das von Google verwaltete Zertifikat automatisch verlängert wird.

  • Google Cloud-Load-Balancer unterstützen keine auf Clientzertifikaten basierte Authentifizierung (gegenseitige TLS, mTLS).

  • Von Google verwaltete SSL-Zertifikate unterstützen keine Platzhalter.

Weitere Informationen