SSL-Zertifikate

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.

Methode der Zertifikatskonfiguration

Bei Application Load Balancern, die HTTPS-Zielproxys verwenden, muss der Zielproxy des Load-Balancers zwischen einem und 15 Compute Engine-SSL-Zertifikaten referenzieren. Jede SSL-Zertifikatsressource von Compute Engine enthält den privaten Schlüssel, das entsprechende Zertifikat und optional auch CA-Zertifikate.

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)
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

Zertifikat-Typen

Sie können selbstverwaltete SSL-Zertifikate für Ihre Load-Balancer erstellen.

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 Compute Engine-SSL-Zertifikatsressourcen erstellen. Weitere Informationen finden Sie unter Selbstverwaltete SSL-Zertifikate verwenden.

Unterstützte Schlüsseltypen

Die folgenden Schlüsseltypen werden für regionale selbstverwaltete Compute Engine-SSL-Zertifikate unterstützt:

  • RSA-2048
  • RSA-3072
  • RSA-4096
  • ECDSA P-256
  • ECDSA P-384

Mehrere SSL-Zertifikate

Der Zielproxy eines Application 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.

Weitere Informationen finden Sie in der Dokumentation zum Load-Balancing unter Zielproxys und SSL-Zertifikate.

Zertifikatsauswahl

Der folgende Zertifikatsauswahlprozess gilt für Load-Balancer, deren Zielproxys auf mehrere Compute Engine-SSL-Zertifikate verweisen.

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
        • Zertifikat B

          • CN: dogs.pets.example.com
          • SANs: dogs.pets.example.com, *.pets.example.com, *.example.com
      • 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.
  • 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.

Nächste Schritte