SSL/TLS ist das am häufigsten verwendete kryptografische Protokoll im Internet. Technisch gesehen ist TLS der Nachfolger von SSL. Die Begriffe werden jedoch manchmal synonym verwendet, wie auch in diesem Dokument.
Transport Layer Security (TLS) wird verwendet, um Informationen zu verschlüsseln, während sie über ein Netzwerk gesendet werden. Dadurch wird der Datenschutz zwischen einem Client und einem Server oder Load-Balancer sichergestellt. Für einen Application Load Balancer oder Proxy-Network-Load-Balancer, der SSL verwendet, ist mindestens ein privater Schlüssel und ein SSL-Zertifikat erforderlich.
Methoden der Zertifikatskonfiguration
Google Cloud bietet drei Methoden zur Zertifikatskonfiguration für Application Load Balancer, die HTTPS-Zielproxys verwenden, und für Proxy-Network Load Balancer, die SSL-Zielproxys verwenden.
Zielproxy verweist auf Compute Engine-SSL-Zertifikate: Bei dieser Methode kann der Zielproxy des Load-Balancers auf bis zu 15 Compute Engine-SSL-Zertifikatsressourcen verweisen. Jede SSL-Zertifikatsressource von Compute Engine enthält den privaten Schlüssel, das entsprechende Zertifikat und optional auch CA-Zertifikate.
Zielproxy verweist auf eine Zertifikatmanager-Zertifikatszuordnung: Bei dieser Methode verweist der Zielproxy des Load Balancers auf eine einzelne Zertifikatszuordnung. Die Zertifikatzuordnung unterstützt standardmäßig Tausende von Einträgen und kann auf Millionen von Einträgen skaliert werden. Jeder Eintrag enthält Daten für den privaten Schlüssel und das Zertifikat.
Zielproxy verweist direkt auf Certificate Manager-Zertifikate: Bei dieser Methode kann der Zielproxy des Load-Balancers auf bis zu 100 Certificate Manager-Zertifikate verweisen.
Load-Balancer-Unterstützung
In der folgenden Tabelle sehen Sie, welche Zertifikatskonfigurationsmethoden von den einzelnen Load-Balancern unterstützt werden.
Load-Balancer | Methode der Zertifikatskonfiguration: Zielproxy verweist auf... | |||
---|---|---|---|---|
Compute Engine-SSL-Zertifikate | Eine Zertifikatszuordnung im Zertifikatsmanager | Zertifikatmanager-Zertifikate direkt | ||
Application Load Balancer (HTTPS-Zielproxys) | ||||
Globaler externer Application Load Balancer | Unterstützt
globale Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
||
Klassischer Application Load Balancer | Unterstützt
globale Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
||
Regionaler externer Application Load Balancer | Unterstützt
regionale
Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
||
Regionaler interner Application Load Balancer | Unterstützt
regionale
Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
||
Regionsübergreifender interner Application Load Balancer |
Selbstverwaltet Von Google verwaltet |
|||
Proxy-Network-Load-Balancer (Ziel-SSL-Proxys) | ||||
Globaler externer Proxy-Network Load Balancer | Unterstützt
globale Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
||
Klassischer Proxy-Network Load Balancer | Unterstützt
globale Zertifikate Selbstverwaltet Von Google verwaltet |
Selbstverwaltet Von Google verwaltet |
Regeln für Konfigurationsmethoden
Google Cloud erzwingt die folgenden Regeln für die Zertifikatskonfigurationsmethode:
Für Load-Balancer, die sowohl Compute Engine-SSL-Zertifikate als auch Certificate Manager-Zertifikatszuordnungen unterstützen: Der Zielproxy des Load-Balancers kann gleichzeitig auf eine Zertifikatszuordnung und ein oder mehrere Compute Engine-SSL-Zertifikate verweisen. In diesem Fall werden jedoch alle Compute Engine-SSL-Zertifikate ignoriert und der Load-Balancer verwendet nur die Zertifikate aus der Zertifikatszuordnung.
Für Load-Balancer, die sowohl Compute Engine-SSL-Zertifikate als auch direkt angehängte Certificate Manager-Zertifikate unterstützen: Der Zielproxy des Load-Balancers kann nur so konfiguriert werden, dass er auf bis zu 15 Compute Engine-SSL-Zertifikate oder bis zu 100 Certificate Manager-Zertifikate verweist, nicht auf eine Kombination aus beiden.
Zertifikat-Typen
Google Cloud unterstützt sowohl selbstverwaltete als auch von Google verwaltete Zertifikate.
Selbstverwaltete SSL-Zertifikate
Selbstverwaltete SSL-Zertifikate sind Zertifikate, die Sie selbst beziehen, bereitstellen und verlängern. Selbstverwaltete Zertifikate können jeden der folgenden Zertifikatstypen für öffentliche Schlüssel haben:
- Domain Validation (DV)
- Organization Validation (OV)
- Extended Validation (EV)
Sie können selbstverwaltete SSL-Zertifikate mit folgenden Tools erstellen:
Compute Engine-SSL-Zertifikatsressourcen: Weitere Informationen finden Sie unter Selbstverwaltete SSL-Zertifikate verwenden.
Certificate Manager: Weitere Informationen finden Sie in der Dokumentation zu Certificate Manager unter Bereitstellungsübersicht.
Von Google verwaltete SSL-Zertifikate
Von Google verwaltete SSL-Zertifikate sind Zertifikate, die Google Cloudautomatisch abruft, verwaltet und verlängert. Von Google verwaltete Zertifikate sind immer DV-Zertifikate (Domain Validation). Sie zeigen nicht die Identität einer Organisation oder Person, die mit dem Zertifikat verknüpft ist.
Von Google verwaltete Zertifikate mit Platzhaltern werden vom Zertifikatsmanager nur bei Verwendung der DNS-Autorisierung unterstützt.
Sie können von Google verwaltete SSL-Zertifikate mit folgenden Tools erstellen:
- Compute Engine-SSL-Zertifikatsressourcen: Nur globale Compute Engine-
sslCertificates
-Ressourcen unterstützen von Google verwaltete SSL-Zertifikate.regionSslCertificates
unterstützen sie nicht. Globale Compute Engine-SSL-Zertifikate unterstützen nur öffentlich vertrauenswürdige, von Google verwaltete Zertifikate. Weitere Informationen finden Sie unter Von Google verwaltete SSL-Zertifikate verwenden. - Certificate Manager: Certificate Manager-Zertifikate (global und regional) unterstützen sowohl öffentlich vertrauenswürdige als auch privat vertrauenswürdige von Google verwaltete Zertifikate. Weitere Informationen finden Sie in der Dokumentation zu Certificate Manager im Artikel Zertifikate.
Unterstützte Schlüsseltypen
Load Balancer unterstützen Zertifikate, die private Schlüssel verschiedener Schlüsseltypen verwenden. In der folgenden Tabelle sehen Sie, welche Schlüsseltypen unterstützt werden, je nachdem, ob die Zertifikate global oder regional sind und ob sie selbstverwaltet oder von Google verwaltet werden.
SSL-Zertifikattyp arrow_forward Schlüsseltyp arrow_downward |
Compute Engine-SSL-Zertifikate | Certificate Manager-SSL-Zertifikate | ||||
---|---|---|---|---|---|---|
Global | Regional | Global und regional | ||||
Selbstverwaltet | Öffentlich vertrauenswürdig und von Google verwaltet | Selbstverwaltet | Selbstverwaltet | Öffentlich vertrauenswürdig und von Google verwaltet | Privat vertrauenswürdig, von Google verwaltet | |
RSA-2048 | ||||||
RSA-3072 | ||||||
RSA-4096 | ||||||
ECDSA P-256 | ||||||
ECDSA P-384 |
Mehrere SSL-Zertifikate
Auf einem Application Load Balancer oder Proxy-Network Load Balancer können zwei oder mehr SSL-Zertifikate gleichzeitig gehostet werden, wenn der Zielproxy mit einer unterstützten Zertifikatskonfigurationsmethode konfiguriert wird. Als Best Practice sollten Sie Certificate Manager verwenden, wenn mehrere SSL-Zertifikate erforderlich sind.
Für Load-Balancer, die Compute Engine-SSL-Zertifikate unterstützen: Der Zielproxy des Load-Balancers kann auf bis zu 15 Compute Engine-SSL-Zertifikate verweisen. Die erste referenzierte Compute Engine-SSL-Zertifikatsressource ist das standardmäßige (primäre) Zertifikat für den Zielproxy.
Für Load Balancer, die eine Certificate Manager-Zertifikatszuordnung unterstützen: Der Zielproxy des Load Balancers verweist auf eine einzelne Zertifikatszuordnung. Die Zertifikatszuordnung unterstützt Tausende von Einträgen. Sie können konfigurieren, welcher Zertifikatseintrag das Standardzertifikat (primäres Zertifikat) für die Zertifikatszuordnung ist.
Für Load-Balancer, die das direkte Verweisen auf Certificate Manager-Zertifikate unterstützen: Der Zielproxy des Load-Balancers kann auf bis zu 100 Certificate Manager-Zertifikate verweisen. Die erste referenzierte Certificate Manager-SSL-Zertifikatsressource ist das standardmäßige (primäre) Zertifikat für den Zielproxy.
Weitere Informationen finden Sie unter:
Ziel-Proxys und SSL-Zertifikate in der Dokumentation zum Load-Balancing.
Ressourcenkontingente und ‑limits in der Dokumentation zu Certificate Manager.
Zertifikatsauswahl
Das folgende Verfahren zur Zertifikatsauswahl gilt für Load-Balancer, deren Zielproxys auf mehrere Compute Engine-SSL-Zertifikate oder mehrere Certificate Manager-Zertifikate verweisen.
Die Zertifikatsauswahl unterscheidet sich, wenn der Zielproxy eines Load Balancers auf eine Certificate Manager-Zertifikatszuordnung verweist. Weitere Informationen zum Auswahlprozess für Zertifikate in einer Zertifikatszuordnung finden Sie in der Dokumentation zu Certificate Manager unter Logik für die Zertifikatsauswahl.
Nachdem ein Client eine Verbindung zum Load Balancer hergestellt hat, handeln der Client und der Load Balancer eine TLS-Sitzung aus. Während der Verhandlung von TLS-Sitzungen sendet der Client dem Load-Balancer eine Liste der unterstützten TLS-Chiffren (in ClientHello
). Der Load-Balancer wählt ein Zertifikat aus, dessen Algorithmus für öffentliche Schlüssel mit dem Client kompatibel ist. Der Client kann im Rahmen dieser Verhandlung auch einen SNI-Hostnamen (Server Name Indication) an den Load-Balancer senden. SNI-Hostnamendaten werden manchmal verwendet, um dem Load-Balancer bei der Auswahl des Zertifikats zu helfen, das an den Client gesendet werden soll.
Wenn der Zielproxy des Load-Balancers nur auf ein Zertifikat verweist, wird dieses Zertifikat verwendet und der vom Client gesendete SNI-Hostname ist nicht relevant.
Wenn der Ziel-Proxy des Load-Balancers auf zwei oder mehr Zertifikate verweist, wählt der Load-Balancer ein einzelnes Zertifikat anhand des folgenden Verfahrens aus:
Wenn der Client keinen SNI-Hostnamen in seiner
ClientHello
sendet, verwendet der Load-Balancer das erste Zertifikat in seiner Zertifikatsliste.Wenn der Client einen SNI-Hostnamen sendet, der nicht mit einem allgemeinen Zertifikatsnamen (CN) und mit keinem alternativen Zertifikatsnamen (SAN) übereinstimmt, verwendet der Load-Balancer das erste Zertifikat in seiner Zertifikatsliste.
In allen anderen Fällen: Der Load-Balancer wählt ein Zertifikat anhand des folgenden Abgleichsprozesses aus:
Der Abgleich erfolgt mit dem längsten Suffix gegen den allgemeinen Zertifikatsnamen (CN) und den alternativen Zertifikatsnamen (SAN), wobei ECDSA-Zertifikate gegenüber RSA-Zertifikaten bevorzugt werden.
Betrachten Sie zur Veranschaulichung der Abgleichsmethode einen Zielproxy, der auf die folgenden beiden Zertifikate verweist:
Zertifikat A
- CN:
cats.pets.example.com
- SANs:
cats.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Zertifikat B
- CN:
dogs.pets.example.com
- SANs:
dogs.pets.example.com
,*.pets.example.com
,*.example.com
- CN:
Sehen Sie sich nun die folgenden Szenarien an:
- Wenn der vom Client gesendete SNI-Hostname
cats.pets.example.com
ist, verwendet der Load-Balancer Zertifikat A. - Wenn der vom Client gesendete SNI-Hostname
ferrets.pets.example.com
lautet, gibt es keine genaue Übereinstimmung. Der Load-Balancer wählt daher entweder Zertifikat A oder Zertifikat B aus, da beide*.pets.example.com
in ihrer SAN-Liste enthalten. Sie können in diesem Fall nicht steuern, welches Zertifikat ausgewählt wird.
- Wenn der vom Client gesendete SNI-Hostname
Nachdem ein Zertifikat ausgewählt wurde, sendet der Load-Balancer dieses Zertifikat an den Client nur dann, wenn das ausgewählte Zertifikat einen Algorithmus für öffentliche Schlüssel verwendet, der mit einer vom Client in der
ClientHello
gesendeten Chiffre kompatibel ist. Die TLS-Verhandlung schlägt fehl, wenn der Client keine Cipher Suite unterstützt, die den öffentlichen Schlüsselalgorithmus (ECDSA oder RSA) des vom Load-Balancer ausgewählten Zertifikats enthält.
Preise
Bei der Verwendung von Google Cloud Load-Balancern fallen Netzwerkgebühren an. Weitere Informationen finden Sie unter Alle Netzwerkpreise. Informationen zu Preisen für Certificate Manager finden Sie in der Dokumentation zu Certificate Manager. Für die Verwendung von Compute Engine-SSL-Zertifikatsressourcen fallen keine zusätzlichen Gebühren an.
Nächste Schritte
Überzeugen Sie sich selbst
Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Jetzt kostenlos starten