Konfiguration von Mutual TLS auf einem Application Load Balancer - Elastic Load Balancing

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration von Mutual TLS auf einem Application Load Balancer

Um den Mutual TLS-Passthrough-Modus zu verwenden, müssen Sie den Listener nur so konfigurieren, dass er Zertifikate von Clients akzeptiert. Wenn Sie gegenseitiges TLS-Passthrough verwenden, sendet der Application Load Balancer die gesamte Client-Zertifikatskette mithilfe von HTTP-Headern an das Ziel, sodass Sie die entsprechende Authentifizierungs- und Autorisierungslogik in Ihrer Anwendung implementieren können. Weitere Informationen finden Sie unter Einen HTTPS-Listener für Ihren Application Load Balancer erstellen.

Wenn Sie Mutual TLS im Überprüfungsmodus verwenden, führt der Application Load Balancer eine X.509-Client-Zertifikatsauthentifizierung für Clients durch, wenn ein Load Balancer TLS-Verbindungen aushandelt.

Gehen Sie wie folgt vor, um den Modus für die gegenseitige TLS-Überprüfung zu verwenden:

  • Erstellen Sie eine neue Trust Store-Ressource.

  • Laden Sie Ihr Zertifizierungsstellenpaket (CA) und optional Sperrlisten hoch.

  • Hängen Sie den Trust Store an den Listener an, der für die Überprüfung von Client-Zertifikaten konfiguriert ist.

Verwenden Sie die folgenden Verfahren, um den Modus für die gegenseitige TLS-Überprüfung auf Ihrem Application Load Balancer zu konfigurieren.

Erstellen Sie einen Trust Store

Wenn Sie beim Erstellen eines Load Balancers oder Listeners einen Trust Store hinzufügen, wird der Trust Store automatisch dem neuen Listener zugeordnet. Andernfalls müssen Sie ihn selbst einem Listener zuordnen.

Voraussetzungen
  • Um einen Trust Store zu erstellen, benötigen Sie ein Zertifikatspaket von Ihrer Zertifizierungsstelle (CA).

Console

Im folgenden Beispiel wird mithilfe des Trust Store-Bereichs der Konsole ein Trust Store erstellt. Alternativ können Sie den Trust Store erstellen, wenn Sie einen HTTP-Listener erstellen.

Um einen Trust Store zu erstellen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Trust Stores aus.

  3. Wählen Sie Trust Store erstellen aus.

  4. Konfiguration des Vertrauensspeichers

    1. Geben Sie unter Name des Vertrauensspeichers einen Namen für Ihren Vertrauensspeicher ein.

    2. Geben Sie für Certificate Authority Bundle den Amazon S3 S3-Pfad zum zu verwendenden CA-Zertifikatspaket ein.

    3. (Optional) Verwenden Sie die Objektversion, um eine frühere Version des CA-Zertifikatspakets auszuwählen. Andernfalls wird die aktuelle Version verwendet.

  5. (Optional) Für Sperrungen können Sie Ihrem Trust Store eine Zertifikatssperrliste hinzufügen.

    1. Wählen Sie Neue CRL hinzufügen und geben Sie den Speicherort der Zertifikatssperrliste in Amazon S3 ein.

    2. (Optional) Verwenden Sie Objektversion, um eine frühere Version der Zertifikatssperrliste auszuwählen. Andernfalls wird die aktuelle Version verwendet.

  6. (Optional) Erweitern Sie Trust Store-Tags und geben Sie bis zu 50 Tags für Ihren Trust Store ein.

  7. Wählen Sie Trust Store erstellen aus.

AWS CLI
Um einen Trust Store zu erstellen

Verwenden Sie den create-trust-store-Befehl.

aws elbv2 create-trust-store \ --name my-trust-store \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket \ --ca-certificates-bundle-s3-key certificates/ca-bundle.pem
CloudFormation
Um einen Trust Store zu erstellen

Definieren Sie eine Ressource des Typs AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket CaCertificatesBundleS3Key: certificates/ca-bundle.pem

Ordnen Sie einen Trust Store zu

Nachdem Sie einen Trust Store erstellt haben, müssen Sie ihn einem Listener zuordnen, bevor Ihr Application Load Balancer den Trust Store verwenden kann. Sie können jedem Ihrer sicheren Listener nur einen Trust Store zuordnen, aber ein Trust Store kann mehreren Listenern zugeordnet werden.

Console

Sie können einem vorhandenen Listener einen Trust Store zuordnen, wie im folgenden Verfahren gezeigt. Alternativ können Sie beim Erstellen eines HTTPS-Listeners einen Trust Store zuordnen. Weitere Informationen finden Sie unter Einen HTTPS-Listener erstellen.

Um einen Trust Store zuzuordnen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Load Balancers aus.

  3. Wählen Sie den Load Balancer aus.

  4. Wählen Sie auf der Registerkarte Listener und Regeln den Link in der Spalte Protocol:Port, um die Detailseite für den sicheren Listener zu öffnen.

  5. Wählen Sie auf der Registerkarte Sicherheit die Option Einstellungen für sicheren Listener bearbeiten aus.

  6. Wenn Mutual TLS nicht aktiviert ist, wählen Sie Mutual Authentication (mTLS) unter Behandlung von Client-Zertifikaten und anschließend Verifizieren mit Trust Store aus.

  7. Wählen Sie für Trust Store den Trust Store aus.

  8. Wählen Sie Änderungen speichern aus.

AWS CLI
Um einen Trust Store zuzuordnen

Verwenden Sie den Befehl modify-listener.

aws elbv2 modify-listener \ --listener-arn listener-arn \ --mutual-authentication "Mode=verify,TrustStoreArn=trust-store-arn"
CloudFormation
Um einen Trust Store zuzuordnen

Aktualisieren Sie die AWS::ElasticLoadBalancingV2::ListenerRessource.

Resources: myHTTPSListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: HTTPS Port: 443 DefaultActions: - Type: "forward" TargetGroupArn: !Ref myTargetGroup SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 Certificates: - CertificateArn: certificate-arn MutualAuthentication: - Mode: verify TrustStoreArn: trust-store-arn

Ersetzen Sie ein CA-Zertifikatspaket

Das CA-Zertifikatspaket ist eine erforderliche Komponente des Trust Store. Es handelt sich um eine Sammlung vertrauenswürdiger Stamm- und Zwischenzertifikate, die von einer Zertifizierungsstelle validiert wurden. Diese validierten Zertifikate stellen sicher, dass der Client darauf vertrauen kann, dass das vorgelegte Zertifikat dem Load Balancer gehört.

Ein Trust Store kann jeweils nur ein CA-Zertifikatpaket enthalten, aber Sie können das CA-Zertifikatspaket jederzeit ersetzen, nachdem der Trust Store erstellt wurde.

Console
Um ein CA-Zertifikatspaket zu ersetzen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Trust Stores aus.

  3. Wählen Sie den Trust Store aus.

  4. Wählen Sie „Aktionen“, „CA-Bundle ersetzen“.

  5. Geben Sie auf der Seite CA-Bundle ersetzen unter Certificate Authority Bundle den Amazon S3 S3-Standort des gewünschten CA-Bundles ein.

  6. (Optional) Verwenden Sie Objektversion, um eine frühere Version der Zertifikatssperrliste auszuwählen. Andernfalls wird die aktuelle Version verwendet.

  7. Wählen Sie CA-Bundle ersetzen aus.

AWS CLI
Um ein CA-Zertifikatspaket zu ersetzen

Verwenden Sie den modify-trust-store-Befehl.

aws elbv2 modify-trust-store \ --trust-store-arn trust-store-arn \ --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket-new \ --ca-certificates-bundle-s3-key certificates/new-ca-bundle-pem
CloudFormation
Um das CA-Zertifikatspaket zu aktualisieren

Definieren Sie eine Ressource des Typs AWS::ElasticLoadBalancingV2::TrustStore.

Resources: myTrustStore: Type: 'AWS::ElasticLoadBalancingV2::TrustStore' Properties: Name: my-trust-store CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket-new CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem

Fügen Sie eine Zertifikatssperrliste hinzu

Optional können Sie eine Zertifikatssperrliste für einen Vertrauensspeicher erstellen. Sperrlisten werden von Zertifizierungsstellen veröffentlicht und enthalten Daten für Zertifikate, die gesperrt wurden. Application Load Balancers unterstützen nur Zertifikatssperrlisten im PEM-Format.

Wenn eine Zertifikatssperrliste zu einem Vertrauensspeicher hinzugefügt wird, erhält sie eine Sperr-ID. Die IDs Sperrung erhöht sich für jede Sperrliste, die dem Trust Store hinzugefügt wird, und sie können nicht geändert werden.

Application Load Balancers können keine Zertifikate widerrufen, die eine negative Seriennummer in einer Zertifikatssperrliste haben.

Console
Um eine Sperrliste hinzuzufügen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Trust Stores aus.

  3. Wählen Sie den Trust Store aus, um seine Detailseite aufzurufen.

  4. Wählen Sie auf der Registerkarte Zertifikatsperrlisten die Optionen Aktionen, Sperrliste hinzufügen aus.

  5. Geben Sie auf der Seite Sperrliste hinzufügen unter Zertifikatssperrliste den Amazon S3 S3-Speicherort der gewünschten Zertifikatssperrliste ein.

  6. (Optional) Verwenden Sie Objektversion, um eine frühere Version der Zertifikatssperrliste auszuwählen. Andernfalls wird die aktuelle Version verwendet.

  7. Wählen Sie Sperrliste hinzufügen

AWS CLI
Um eine Sperrliste hinzuzufügen

Verwenden Sie den add-trust-store-revocations-Befehl.

aws elbv2 add-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-contents "S3Bucket=amzn-s3-demo-bucket,S3Key=crl/revoked-list.crl,RevocationType=CRL"
CloudFormation
Um eine Sperrliste hinzuzufügen

Definieren Sie eine Ressource vom Typ AWS::ElasticLoadBalancingV2::TrustStoreWiderruf.

Resources: myRevocationContents: Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation' Properties: TrustStoreArn: !Ref myTrustStore RevocationContents: - RevocationType: CRL S3Bucket: amzn-s3-demo-bucket S3Key: crl/revoked-list.crl

Löschen Sie eine Zertifikatssperrliste

Wenn Sie eine Zertifikatssperrliste nicht mehr benötigen, können Sie sie löschen. Wenn Sie eine Zertifikatsperrliste aus einem Vertrauensspeicher löschen, wird auch deren Sperr-ID gelöscht und für die gesamte Lebensdauer des Vertrauensspeichers nicht wiederverwendet.

Console
Um eine Sperrliste zu löschen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Trust Stores aus.

  3. Wählen Sie den Trust Store aus.

  4. Wählen Sie auf der Registerkarte Zertifikatsperrlisten die Optionen Aktionen, Sperrliste löschen aus.

  5. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie confirm ein.

  6. Wählen Sie Löschen aus.

AWS CLI
Um eine Sperrliste zu löschen

Verwenden Sie den remove-trust-store-revocations-Befehl.

aws elbv2 remove-trust-store-revocations \ --trust-store-arn trust-store-arn \ --revocation-ids id-1 id-2 id-3

Löschen Sie einen Trust Store

Wenn Sie einen Trust Store nicht mehr benötigen, können Sie ihn löschen. Sie können keinen Trust Store löschen, der einem Listener zugeordnet ist.

Console
Um einen Trust Store zu löschen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Trust Stores aus.

  3. Wählen Sie den Trust Store aus.

  4. Wählen Sie Löschen aus.

  5. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie confirm ein und wählen Sie dann Löschen aus.

AWS CLI
Um einen Trust Store zu löschen

Verwenden Sie den delete-trust-store-Befehl.

aws elbv2 delete-trust-store \ --trust-store-arn trust-store-arn