Wie konfiguriere ich meine Application Load Balancer TLS/SSL-Listener für die Verwendung von ECDSA-Chiffren?

Letzte Aktualisierung: 2022-03-11

Die Sicherheitsrichtlinie von meinem Application Load Balancer listet RSA- und ECDSA-Chiffren auf. Aber wenn ich mich mit meinem Load Balancer verbinde, sehe ich immer RSA-Chiffren ausgewählt. Wie bringe ich meinen Load Balancer dazu, ECDSA-Chiffren für die TLS-Verschlüsselung zu verwenden?

Kurzbeschreibung

Ein HTTPS-Listener für den Application Load Balancer kann mit mehreren Zertifikaten konfiguriert werden, erfordert jedoch eine einzige Sicherheitsrichtlinie. Jede Sicherheitsrichtlinie enthält Verschlüsselungen für RSA- und ECDSA-Kryptografiealgorithmen. Während des TLS-Handshakes verwendet der Application Load Balancer eine Auswahlprozesslogik, um zu bestimmen, welches Application Load Balancer-Zertifikat für die HTTPS-Verbindung verwendet werden soll. Wenn das gewählte Zertifikat mit RSA- oder ECDSA-Schlüsseln (elliptische Kurve) erstellt wird, nutzt Application Load Balancer RSA- oder ECDSA-Chiffren zur Verschlüsselung.

Hinweis: Öffentliche Zertifikate, die von AWS Certificate Manager (ACM) generiert werden, verwenden RSA-Schlüssel. Daher wird erwartet, dass die Verschlüsselung mit einem Application Load Balancer unter Verwendung beliebiger ACM-Zertifikate RSA-Chiffren nutzt. Sie müssen von ECDSA signierte Zertifikate in ACM importieren und sie Ihrem HTTPS-Listener zuordnen, um ECDSA-Chiffren für die Verschlüsselung nutzen zu können.

Behebung

Um ECDSA-Chiffren mit Ihrem Application Load Balancer zu verwenden, führen Sie die folgenden Schritte aus:

Importieren Sie neue ECDSA-Zertifikate in AWS Certificate Manager und binden Sie sie an den HTTPS-Listener

Nachdem Sie mit Ihrer CA (Zertifizierungsstelle) zusammengearbeitet haben, um ECDSA-Zertifikate für Ihre Domäne im PEM-Format zu erhalten, führen Sie die folgenden Schritte aus:

1.    Importieren Sie Ihr neues ECDSA-Zertifikat in AWS Certificate Manager.

2.    Ordnen Sie Ihr neu importiertes ECDSA-Zertifikat Ihrem Application Load Balancer zu.

(Optional) Testen Sie den TLS-Listener Ihres Load Balancers auf unterstützte Verschlüsselungen

Um zu testen, welche Protokolle und Verschlüsselungen verwendet werden, verwenden Sie ein Open Source-Befehlszeilen-Tool wie sslscan.

Hinweis: Mit sslscan können Sie vollständige Informationen zu allen Verschlüsselungen abrufen, ohne ein zusätzliches Dienstprogramm eines Drittanbieters zu verwenden. Wenn Sie beispielsweise cURL verwenden, müssen Sie einzelne Verschlüsselungssammlungen angeben, die separate cURL-Anforderungen erfordern, die TLS-Protokolle und Verschlüsselungssammlungen angeben.

Sie können den Befehl sslscan auf jeder Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance oder von Ihrem lokalen System aus installieren und ausführen. Stellen Sie sicher, dass der Load Balancer, den Sie testen möchten, TLS-Verbindungen von Ihrer Quell-IP-Adresse akzeptiert.

Um sslscan auf einer Amazon Linux EC2-Instance zu verwenden, führen Sie die folgenden Schritte aus:

1.    Aktivieren Sie das Repository Extra Packages for Enterprise Linux (EPEL).

2.    Installieren Sie sslscan mit dem folgenden Befehl auf Ihrer Amazon EC2-Linux-Instance:

sudo yum install sslscan

3.    Verwenden Sie die folgende Befehlssyntax, um Ihren Application Load Balancer nach unterstützten Verschlüsselungen zu durchsuchen und ersetzen Sie „example.com“ durch Ihren Domänennamen:

[ec2-user@ ~]$ sslscan --show-ciphers example.com | grep Accepted

Im Folgenden finden Sie eine Beispielausgabe, welche die Ergebnisse einer Schwachstellensuche auf Ihrem Application Load Balancer mithilfe eines P-256 ECDSA-Zertifikats und einer Standardsicherheitsrichtlinie zeigt:

    Accepted  TLSv1  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA

Zum Vergleich ist hier die Beispielausgabe einer Schwachstellensuche auf Ihrem Load Balancer unter Verwendung eines RSA 2048-Zertifikats und einer Standardsicherheitsrichtlinie:

    Accepted  TLSv1  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLSv1  256 bits  AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLSv1  128 bits  AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS11  256 bits  AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS11  128 bits  AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS12  256 bits  AES256-GCM-SHA384
    Accepted  TLS12  256 bits  AES256-SHA256
    Accepted  TLS12  256 bits  AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS12  128 bits  AES128-GCM-SHA256
    Accepted  TLS12  128 bits  AES128-SHA256
    Accepted  TLS12  128 bits  AES128-SHA

Wenn Sie Ihre ECDSA-Zertifikate auf dem Application Load Balancer richtig konfiguriert haben, werden in Ihrer Ausgabe die ausgehandelten <ECDHE-ECDSA-*> Verschlüsselungssammlungen angezeigt. Wenn in Ihrer Ausgabe andere Verschlüsselungssammlungen angezeigt werden, überprüfen und aktualisieren Sie Ihre Application Load Balancer-Sicherheitsrichtlinie.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?