Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Bewährte Sicherheitsmethoden für Amazon S3

Amazon S3 bietet eine Reihe von Sicherheitsfunktionen, die Sie beim Entwickeln und Implementieren Ihrer eigenen Sicherheitsrichtlinien berücksichtigen sollten. Die folgenden bewährten Methoden sind allgemeine Richtlinien und keine vollständige Sicherheitslösung. Da diese bewährten Methoden für Ihre Umgebung möglicherweise nicht angemessen oder ausreichend sind, sollten Sie sie als hilfreiche Überlegungen und nicht als bindend ansehen.

Bewährte Methoden für vorbeugende Amazon S3-Sicherheitsmaßnahmen

Die folgenden bewährten Methoden für Amazon S3 können dabei helfen, Sicherheitsvorfälle zu verhindern.

Achten Sie darauf, dass für Ihre Amazon S3-Buckets die korrekten Richtlinien gelten und dass sie nicht öffentlich zugänglich sind.

Sofern es nicht unbedingt notwendig ist, dass jemand Ihren S3-Bucket im Internet lesen oder darin schreiben kann, sollten Sie sicherstellen, dass der S3-Bucket nicht öffentlich ist. Im Folgenden werden einige Maßnahmen aufgeführt:

  • Blockieren des öffentlichen Zugriffs in Amazon S3 Mit Amazon S3 Block Public Access können Administratoren und Bucket-Eigentümer problemlos zentrale Kontrollen zur Begrenzung des öffentlichen Zugriffs auf ihre Amazon S3-Ressourcen einrichten. Diese Kontrollen werden unabhängig davon durchgesetzt, wie die Ressourcen erstellt wurden. Weitere Informationen finden Sie unter Verwenden von Amazon S3 Block Public Access.

  • Ermitteln Sie, welche Amazon S3-Bucket-Richtlinien eine Platzhalter-ID wie den Prinzipal „*“ erlauben (was so viel wie „jeder“ bedeutet) oder eine Platzhalteraktion „*“ zulassen (was es einem Benutzer ermöglicht, jede beliebige Aktion im Amazon S3-Bucket durchzuführen).

  • Achten Sie ebenfalls auf Zugriffskontrolllisten (ACLs, Access Control Lists) für Amazon S3-Buckets, die „Jedem“ oder „Jedem authentifizierten AWS-Benutzer“ Lese-, Schreib- oder Vollzugriffsberechtigungen gewähren.

  • Verwenden Sie die ListBuckets-API, um alle Ihre Amazon S3-Buckets zu scannen. Ermitteln Sie dann mit GetBucketAcl, GetBucketWebsite und GetBucketPolicy, ob der Bucket über richtlinienkonforme Zugriffskontrollen und Konfiguration verfügt.

  • Verwenden Sie AWS Trusted Advisor, um Ihre Amazon S3-Implementierung zu prüfen.

  • Sie sollten auch mithilfe der verwalteten AWS Config-Regeln-Regeln s3-bucket-public-read-prohibited und s3-bucket-public-write-prohibited laufende detektive Kontrollen implementieren.

Weitere Informationen finden Sie unter Festlegen von Zugriffsberechtigungen für Buckets und Objekte im Konsolenbenutzerhandbuch für Amazon Simple Storage Service.

Implementieren der geringstmöglichen Zugriffsrechte

Beim Erteilen von Berechtigungen entscheiden Sie, wer welche Berechtigungen für welche Amazon S3-Ressourcen erhält. Sie aktivieren die spezifischen Aktionen, die daraufhin für die betreffenden Ressourcen erlaubt sein sollen. Aus diesem Grund sollten Sie nur Berechtigungen gewähren, die zum Ausführen einer Aufgabe erforderlich sind. Die Implementierung der geringstmöglichen Zugriffsrechte ist eine grundlegende Voraussetzung zum Reduzieren des Sicherheitsrisikos und der Auswirkungen, die aufgrund von Fehlern oder böswilligen Absichten entstehen könnten.

Die folgenden Tools stehen zur Implementierung der geringstmöglichen Zugriffsrechte zur Verfügung:

Hilfreiche Informationen zur Entscheidung, welche der vorherigen Mechanismen Sie auswählen sollten, finden Sie unter Einführung in die Verwaltung von Zugriffsberechtigungen für Ihre Amazon S3-Ressourcen.

Verwenden Sie IAM-Rollen für Anwendungen und AWS-Services, die Amazon S3-Zugriff benötigen

Für Anwendungen auf Amazon EC2 oder andere AWS-Services zum Zugriff auf Amazon S3 -Ressourcen müssen gültige AWS-Anmeldeinformationen in den AWS-API-Anforderungen enthalten sein. Sie sollten AWS-Anmeldeinformationen nicht direkt in der Anwendung oder einer Amazon EC2-Instance speichern. Dabei handelt es sich um langfristige Anmeldeinformationen, die nicht automatisch rotiert werden und bedeutende geschäftliche Auswirkungen haben könnten, wenn sie kompromittiert werden.

Stattdessen sollten Sie mithilfe einer IAM-Rolle temporäre Anmeldeinformationen für Anwendungen und Services verwalten, die Zugriff auf Amazon S3 benötigen. Wenn Sie eine Rolle verwenden, müssen Sie keine langfristigen Anmeldeinformationen (wie Benutzername und Passwort oder Zugriffsschlüssel) an eine Amazon EC2-Instance oder einen AWS-Service wie AWS Lambda ausgeben. Stattdessen stellt die Rolle temporäre Berechtigungen bereit, die von den Anwendungen beim Aufrufen anderer AWS-Ressourcen genutzt werden können.

Weitere Informationen finden Sie unter den folgenden Themen im IAM-Benutzerhandbuch:

Aktivieren der Multifaktor-Authentifizierung (MFA)-Löschfunktion

Die MFA-Löschfunktion kann ein unbeabsichtigtes Löschen von Buckets verhindern. Wenn die MFA-Löschfunktion nicht aktiviert ist, kann jeder Benutzer, der über das Passwort und eine Root mit ausreichenden Berechtigungen verfügt oder jeder IAM-Benutzer ein Amazon S3-Objekt endgültig löschen.

Die MFA-Löschfunktion erfordert eine zusätzliche Authentifizierung für die folgenden Operationen:

  • Ändern des Versioning-Status Ihres Buckets

  • Dauerhaftes Löschen einer Objektversion

Weitere Informationen finden Sie unter MFA Delete.

Erwägen Sie die Verschlüsselung von Daten im Ruhezustand

Mithilfe der folgenden Optionen können Sie Daten im Ruhezustand in Amazon S3 schützen:

  • Serverseitige Verschlüsselung – Sie fordern Amazon S3 auf, Ihr Objekt zu verschlüsseln, bevor es dieses Objekt auf Datenträger in seinen Rechenzentren schreibt, und es wieder zu entschlüsseln, wenn Sie die Objekte herunterladen. Die serverseitige Verschlüsselung kann eine Gefährdung Ihrer Daten durch Verschlüsseln der Daten mit einem Schlüssel verringern, der durch einen anderen Mechanismus gespeichert wird, als der Mechanismus, mit dem die Daten gespeichert werden.

    Amazon S3 bietet mehrere serverseitige Verschlüsselungsoptionen. Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung.

  • Cientseitige Verschlüsselung – Sie können Daten clientseitig verschlüsseln und die verschlüsselten Daten auf Amazon S3 hochladen. In diesem Fall verwalten Sie den Verschlüsselungsprozess, die Verschlüsselungsschlüssel und die zugehörigen Tools. Genau wie die serverseitige Verschlüsselung kann die client-seitige Verschlüsselung das Risiko reduzieren, indem die Daten mit einem Schlüssel verschlüsselt werden, der durch einen anderen Mechanismus gespeichert wird als der, der die Daten selbst speichert

    Amazon S3 bietet mehrere serverseitige Verschlüsselungsoptionen. Weitere Informationen finden Sie unter Schützen von Daten mithilfe clientseitiger Verschlüsselung.

Erzwingen der Verschlüsselung von Daten bei der Übertragung

Mithilfe von HTTPS (TLS) kann das Abhören oder eine Manipulation des Netzwerkverkehrs durch Person-in-the-Middle-Angriffe verhindert werden. Sie sollten nur verschlüsselte Verbindungen über HTTPS (TLS) unter Anwendung der Bedingung aws:SecureTransport auf Amazon S3-Bucketrichtlinien zulassen.

Sie sollten auch mithilfe der verwalteten AWS Config-Regel s3-bucket-ssl-requests-only laufende detektive Kontrollen implementieren.

Erwägen Sie die Amazon S3-Objektsperre

Mit der Amazon S3-Objektsperre können Sie Objekte unter Verwendung des Modells „Write Once Read Many“ (WORM) speichern. Die Amazon S3-Objektsperre kann unbeabsichtigtes oder unsachgemäßes Löschen von Daten verhindern. Sie können beispielsweise die Amazon S3-Objektsperre verwenden, um Ihre AWS CloudTrail-Protokolle zu schützen.

Aktivieren von Versioning

Das Versioning ermöglicht Ihnen, mehrere Versionen eines Objekts im selben Bucket aufzubewahren. Sie können Versioning verwenden, um sämtliche Versionen aller Objekte in Ihrem Amazon S3 Bucket zu speichern, abzurufen oder wiederherzustellen. Daten lassen sich dank Versioning nach unbeabsichtigten Benutzeraktionen und Anwendungsfehlern leicht wiederherstellen.

Sie sollten auch mithilfe der verwalteten AWS Config-Regel s3-bucket-versioning-enabled laufende detektive Kontrollen implementieren.

Weitere Informationen finden Sie unter Verwenden von Versioning.

Erwägen Sie die regionsübergreifende Replikation von Amazon S3

Auch wenn Amazon S3 Ihre Daten standardmäßig in mehreren entfernten Availability Zones speichert, machen es die Compliance-Anforderungen möglicherweise erforderlich, Daten in noch größeren Entfernungen zu speichern. Die regionsübergreifende Replikation (CRR) ermöglicht es, Daten zwischen entfernten AWS-Regionen zu replizieren, um diese Anforderungen zu erfüllen. CRR ermöglicht automatisches, asynchrones Kopieren von Objekten in den Buckets verschiedener AWS-Regionen. Weitere Informationen finden Sie unter Replikation.

Anmerkung

CRR erfordert, dass Versioning in Quell- und Ziel-S3-Buckets aktiviert ist.

Sie sollten auch mithilfe der verwalteten AWS Config-Regel s3-bucket-replication-enabled laufende detektive Kontrollen implementieren.

Erwägen Sie VPC-Endpunkte für den Amazon S3-Zugriff

Ein VPC-Endpunkt für Amazon S3 ist eine logische Entity innerhalb einer Amazon Virtual Private Cloud (Amazon VPC), die ausschließlich Verbindungen mit Amazon S3 zulässt. Sie können den Zugriff auf Buckets von bestimmten Amazon VPC-Endpunkten oder bestimmten VPCs über Amazon S3-Bucket-Richtlinien steuern. Ein VPC-Endpunkt kann verhindern, dass Datenverkehr ins offene Internet gelangt.

VPC-Endpunkte für Amazon S3 unterstützen die Kontrolle des Zugriffs auf Ihre Amazon S3-Daten auf zwei Arten:

  • Sie können steuern, welche Anfragen, Benutzer oder Gruppen durch einen spezifischen VPC-Endpunkt erlaubt sind.

  • Mit S3 Bucket-Richtlinien können Sie steuern, welche VPCs oder VPC-Endpunkte Zugriff auf Ihre S3-Buckets haben.

  • Sie können eine Daten-Exfiltration verhindern, indem Sie eine VPC verwenden, die kein Internet-Gateway hat.

Weitere Informationen finden Sie unter Beispiel für Bucket-Richtlinien für VPC-Endpunkte für Amazon S3.

Bewährte Methoden zur Überwachung und Prüfung von Amazon S3

Mithilfe der folgenden bewährten Methoden für Amazon S3 können Sie potenzielle Sicherheitsschwächen und Vorfälle erkennen.

Identifizieren und prüfen Sie alle Ihre Amazon S3-Buckets

Die Identifikation Ihrer IT-Assets ist ein wichtiger Aspekt von Governance und Sicherheit. Es ist erforderlich, dass Sie alle Ihre Amazon S3-Ressourcen sehen, um ihren Sicherheitsstatus beurteilen und Maßnahmen gegen potenzielle Schwachstellen ergreifen zu können.

Verwenden Sie den Tag-Editor, um sicherheits- und prüfungsrelevante Ressourcen zu identifizieren. Verwenden Sie dann diese Tags zur Suche nach den entsprechenden Ressourcen. Weitere Informationen finden Sie unter Suchen nach zu markierenden Ressourcen.

Verwenden Sie Amazon S3-Inventar für die Prüfung und Meldung des Replikations- und Verschlüsselungsstatus Ihrer Objekte für Unternehmens-, Compliance- und regulatorische Anforderungen. Weitere Informationen finden Sie unter Amazon S3-Bestand.

Erstellen Sie Ressourcengruppen für Ihre Amazon S3-Ressourcen. Weitere Informationen finden Sie unter Was sind AWS-Ressourcengruppen?

Implementieren Sie die Überwachung mithilfe von AWS-Überwachungstools

Die Überwachung ist wichtig, um Zuverlässigkeit, Sicherheit, Verfügbarkeit und Leistung von Amazon S3 und Ihrer AWS-Lösungen aufrechtzuerhalten. AWS bietet mehrere Tools und Services, mit deren Hilfe Sie Amazon S3 und Ihre anderen AWS-Services überwachen können. Sie können beispielsweise CloudWatch-Metriken für Amazon S3, insbesondere PutRequests, GetRequests, 4xxErrors und DeleteRequests überwachen. Weitere Informationen finden Sie unter Überwachung von Metriken mit Amazon CloudWatch. Weitere Informationen finden Sie unter Überwachung von Amazon S3.

Ein zweites Beispiel finden Sie unter Beispiel: Amazon S3-Bucket-Aktivität. In diesem Beispiel wird beschrieben, wie Sie einen Amazon CloudWatch-Alarm erstellen, der ausgelöst wird, wenn ein Amazon S3-API-Aufruf für eine PUT- oder DELETE-Bucket-Richtlinie, ein Bucket-Lebenszyklus, eine Bucket-Replikation oder ein PUT für eine Bucket-ACL ausgeführt wird.

Aktivieren der Amazon S3-Server-Zugriffsprotokollierung

Die Server-Zugriffsprotokollierung bietet detaillierte Aufzeichnungen über die Anfragen, die an einen Bucket gestellt wurden. Server-Zugriffsprotokolle können Sie bei Sicherheits- und Zugriffsprüfungen unterstützen, sie liefern Informationen über Ihren Kundenstamm und helfen beim Verständnis der Amazon S3-Rechnung. Weitere Informationen zur Aktivierung der Server-Zugriffsprotokollierung finden Sie unter Amazon S3 Server-Zugriffsprotokollierung.

Sie sollten auch mithilfe der verwalteten AWS Config-Regel s3-bucket-logging-enabled laufende detektive Kontrollen implementieren.

Verwendung von AWS CloudTrail

AWS CloudTrail stellt eine Aufzeichnung der Aktionen eines Benutzers, einer Rolle oder eines AWS-Services in Amazon S3 zur Verfügung. Mit den von CloudTrail gesammelten Informationen können Sie die an Amazon S3 gestellte Anfrage, die IP-Adresse, von der die Anfrage gestellt wurde, den Initiator der Anfrage, den Zeitpunkt der Anfrage und zusätzliche Angaben bestimmen. Sie können beispielsweise CloudTrail-Einträge für PUT-Aktionen identifizieren, die eine Auswirkung auf den Datenzugriff haben, insbesondere PutBucketAcl, PutObjectAcl, PutBucketPolicy und PutBucketWebsite. Weitere Informationen finden Sie unter Protokollieren von Amazon S3-API-Aufrufen unter Verwendung von AWS CloudTrail.

Sie können auch CloudTrail in Verbindung mit der Amazon S3-Server-Zugriffsprotokollierung verwenden. Die Amazon S3-Server-Zugriffsprotokollierung liefert ein Protokoll der Zugriffsanforderungen, die an den Bucket gestellt wurden, bietet jedoch keine Sichtbarkeit von API-Operationen auf Objektebene. CloudTrail unterstützt Amazon S3-API-Operationen auf Objektebene wie GetObject, DeleteObject, und PutObject. Die Überwachung dieser Ereignisse – auch Datenereignisse genannt – kann wertvolle Einblicke in Operationen im Zusammenhang mit Ihren Amazon S3-Objekten bieten. Weitere Informationen finden Sie unter Datenereignisse im AWS CloudTrail User Guide.

Aktivieren von AWS Config

Mehrere der in diesem Thema aufgeführten bewährten Methoden schlagen die Erstellung von AWS Config-Regeln vor. Mit AWS Config können Sie die Konfigurationen Ihrer AWS-Ressourcen bewerten und überprüfen. AWS Config überwacht Ressourcenkonfigurationen und ermöglicht Ihnen einen Vergleich der aufgezeichneten Konfigurationen mit gewünschten sicheren Konfigurationen. Mit AWS Config können Sie Änderungen an Konfigurationen von und Beziehungen zwischen AWS-Ressourcen überprüfen, detaillierte Verläufe der Ressourcenkonfiguration analysieren und die generelle Konformität mit den in Ihren internen Richtlinien festgelegten Konfigurationen überprüfen. Dadurch können Sie die Compliance-Prüfung, die Sicherheitsanalyse, das Änderungsmanagement und die Fehlerbehebung bei Betriebsabläufen vereinfachen. Weitere Informationen finden Sie unter Einrichten von AWS Config mit der Konsole im AWS Config-Entwicklerhandbuch. Achten Sie bei der Angabe der Ressourcentypen, die aufgezeichnet werden sollen, darauf, dass Amazon S3-Ressourcen enthalten sind.

Ein Beispiel zur Verwendung von AWS Config, um Amazon S3-Buckets, die öffentlichen Zugriff gestatten, zu überwachen und auf diese zu reagieren, finden Sie unter Verwendung von AWS Config, um Amazon S3-Buckets, die öffentlichen Zugriff gestatten, zu überwachen und auf diese zu reagieren im Blog zur AWS-Sicherheit.

Erwägen Sie die Verwendung von Amazon Macie mit Amazon S3

Macie verwendet Methoden des maschinellen Lernens, um sensible Daten in AWS automatisch zu erkennen, zu klassifizieren und zu schützen. Macie erkennt sensible Daten, wie persönlich identifizierbare Informationen (PII) oder geistiges Eigentum. Sie erhalten Dashboards und Warnungen, die sichtbar machen, wie auf Daten zugegriffen wird und wie diese verschoben werden. Weitere Informationen finden Sie unter Was ist Amazon Macie?

Überwachen von AWS-Sicherheitshinweisen

Sie sollten die in Trusted Advisor für Ihr AWS-Konto geposteten Sicherheitsempfehlungen regelmäßig überprüfen. Achten Sie dabei besonders auf Warnungen zu Amazon S3-Buckets mit „offenen Zugriffsberechtigungen“. Sie können dies auch programmgesteuert mit describe-trusted-advisor-checks durchführen.

Überwachen Sie außerdem die primäre E-Mail-Adresse, mit der Ihre einzelnen AWS-Konten registriert sind. AWS sendet Nachrichten zu auftretenden Sicherheitsproblemen, die Sie betreffen könnten, auf diese E-Mail-Adresse.

Operative AWS-Probleme mit weitreichenden Auswirkungen werden auf dem AWS Service Health Dashboard gepostet. Operative Probleme werden ebenfalls über das Personal Health Dashboard in den einzelnen Konten gepostet. Weitere Informationen finden Sie in der AWS Health-Dokumentation.