New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Wie erzwinge ich die Verwendung von TLS 1.2 oder höher für meine Amazon-S3-Buckets?
Meine Kunden verwenden ältere TLS-Versionen. Wenn sie auf Inhalte aus meinen Amazon Simple Storage Service (Amazon S3)-Buckets zugreifen, möchte ich die Verwendung einer aktuellen TLS-Version erzwingen.
Behebung
Hinweis: Amazon S3 erfordert TLS Version 1.2 oder höher und ist die Standardeinstellung für S3-API-Endpunkte. Um eine höhere Verschlüsselungsprotokollversion wie TLS 1.3 oder höher durchzusetzen, gelten die Beispiele in diesem Artikel weiterhin.
Verwende eine ressourcenbasierte Richtlinie, die an deinen Bucket angehängt ist, um die Verwendung von TLS 1.2 oder höher für alle Verbindungen zu deinen S3-Buckets zu erzwingen.
Gehen Sie wie folgt vor, um eine Bucket-Richtlinie anzuhängen, die TLS-Version 1.2 oder höher erfordert:
-
Öffnen Sie die Amazon-S3-Konsole.
-
Wählen Sie den Bucket aus der Liste aus.
-
Wählen Sie die Registerkarte Berechtigungen aus.
-
Wählen Sie unter Bucket-Richtlinie die Option Bearbeiten aus.
-
Fügen Sie eine Richtlinie hinzu, um einen Zugriff mit den Verschlüsselungsprotokollen zu verweigern, die Sie verhindern möchten. Verwenden Sie beispielsweise die folgende Richtlinie, um alle HTTPS-Anfragen abzulehnen, die TLS-Versionen vor 1.2 verwenden:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTLSv12orHigher", "Principal": { "AWS": "*" }, "Action": [ "s3:*" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*", "arn:aws:s3:::DOC_EXAMPLE_BUCKET" ], "Condition": { "NumericLessThan": { "s3:TlsVersion": 1.2 } } } ] }
Diese Richtlinie erzwingt HTTPS, um die Sicherheit Ihrer Daten während der Übertragung zu erhöhen.
Wenn Ihr Workload HTTP-Verkehr zu Amazon S3 erfordert, verwenden Sie die folgende Richtlinie. Diese Richtlinie erlaubt HTTP-Verkehr und blockiert HTTPS-Verkehr von TLS-Versionen vor 1.2:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateTLSv12", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*", "Condition": { "Bool": { "aws:SecureTransport": "true" }, "NumericLessThan": { "s3:TlsVersion": "1.2" } } } ] }
Verschlüsselungsprotokolle für S3 überprüfen
Um deine neue Richtlinie zu testen, verwende den curl-Befehl im folgenden Beispiel, um HTTPS-Anfragen mit einem bestimmten Legacy-Protokoll zu stellen:
curl https://${BUCKET_NAME}.s3.us-east-1.amazonaws.com/image.png -v --tlsv1.0 --tls-max 1.0
Da Amazon S3 feststellt, dass deine Anfrage nicht die TLS-Version 1.2 oder höher verwendet, meldet der curl-Befehl Access Denied.
Hinweis: Standardmäßig sendet curl eine anonyme Anfrage. Wenn dein Bucket privat ist, erhältst für jede TLS-Version den Fehler 403 Access Denied. Wenn Sie mit curl testen, generieren Sie eine vorsignierte Amazon-S3-URL, um Zugriff auf Ihre privaten Objekte zu erhalten.
Es ist eine bewährte Methode, AWS CloudTrail Lake zu verwenden, um Verbindungen mit älteren TLS-Versionen zu AWS-Serviceendpunkten zu identifizieren. Sie können den CloudTrail-Lake-Ereignisdatenspeicher so konfigurieren, dass Verwaltungsereignisse oder Datenereignisse erfasst werden.
Ähnliche Videos


Relevanter Inhalt
- Wie erlaube ich Kunden, die TLS 1.2 oder höher nicht verwenden, Zugriff auf meine Amazon S3-Buckets?AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr