Meine Kunden verwenden alte TLS-Versionen. Ich möchte die Verwendung einer aktuellen TLS-Version erzwingen, wenn sie auf Inhalte zugreifen, die in meinen Amazon-S3-Buckets Amazon Simple Storage Service gespeichert sind. Wie erzwinge ich die Verwendung von TLS 1.2 oder höher für meine Amazon-S3-Buckets?
Kurzbeschreibung
Es ist eine bewährte Methode, moderne Verschlüsselungsprotokolle für die Daten während der Übertragung zu verwenden. Sie können die Verwendung von TLS 1.2 oder höher für Verbindungen mit Amazon S3 erzwingen, indem Sie die Sicherheitsrichtlinie Ihrer Buckets aktualisieren.
Hinweis: Wenn Ihre Kunden TLS 1.2 oder höher nicht verwenden, können sie nicht auf Inhalte zugreifen, die in Ihren S3-Buckets gespeichert sind.
Auflösung
Sie können die Verwendung von TLS 1.2 oder höher für alle Verbindungen zu Ihren S3-Buckets erzwingen, indem Sie eine an Ihren Bucket angehängte ressourcenbasierte Richtlinie verwenden.
So legen Sie eine Bucket-Richtlinie fest, die TLS-Versionen 1.2 oder höher erfordert:
- Gehen Sie zur S3-Konsole.
- Wählen Sie den Bucket aus der Liste aus.
- Navigieren Sie zur Registerkarte Berechtigungen.
- Wählen Sie unter Bucket-Richtlinie die Option Bearbeiten aus.
- Fügen Sie eine Richtlinie hinzu, um den Zugriff auf die Verschlüsselungsprotokolle zu verweigern, die Sie verhindern möchten. Verwenden Sie beispielsweise die folgende Richtlinie, um alle HTTPS-Anforderungen abzulehnen, die TLS-Versionen niedriger als 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
}
}
}
]
}
Bestätigen, dass Sie moderne Verschlüsselungsprotokolle für S3 verwenden
Um Ihre neue Richtlinie zu testen, verwenden Sie den folgenden curl-Beispielbefehl, um HTTPS-Anforderungen 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
Der curl-Beispielbefehl gibt Zugriff verweigert zurück, da Amazon S3 feststellt, dass Ihre Anfrage nicht TLS 1.2 oder höher verwendet.
Es ist eine bewährte Methode, AWS CloudTrail Lake zu verwenden, um ältere TLS-Verbindungen zu AWS-Service-Endpunkten zu identifizieren. Sie können den CloudTrail-Lake-Ereignisdatenspeicher so konfigurieren, dass Verwaltungsereignisse oder Datenereignisse erfasst werden. Das entsprechende CloudTrail-Ereignis in CloudTrail Lake zeigt eine TLS-Version 1.2 an, die bestätigt, dass Ihre Kunden eine moderne Sicherheitsrichtlinie verwenden, um eine Verbindung zu Amazon S3 herzustellen.