Das AWS S3 Bucket richtig schützen!
Obwohl S3-Buckets ein guter Datenspeicher sind, wenn sie nicht richtig konfiguriert sind, können sie der anfälligste Teil der AWS-Sicherheit sein.

Was ist das Amazon S3 Bucket?
Amazon S3-Bucket ist ein Cloud-Speicherdienst innerhalb der Simple Storage Services (S3) von AWS (Amazon Web Services). S3-Buckets speichern Objekte, vergleichbar mit Ordnern, die aus Daten und zugehörigen Metadaten bestehen. Innerhalb von AWS zählt S3 zu den Kerndiensten. Es handelt sich um eine hochskalierbare, objektbasierte Speicherlösung, die speziell für den Unternehmenseinsatz entwickelt wurde.
Im Folgenden erläutern wir die wichtigsten Grundlagen:
Amazon S3 (Simple Storage Service) ist für die Speicherung im Internet konzipiert und vereinfacht skalierbares Computing erheblich. Mit Amazon S3 lassen sich beliebige Datenmengen von jedem Ort und zu jeder Zeit abrufen und speichern. Der Dienst basiert auf derselben Infrastruktur, die Amazon für den Betrieb des eigenen globalen Netzwerks nutzt -- flexibel, zuverlässig, schnell und kosteneffizient. Statt auf Servern und klassischen Dateien beruht S3 auf dem Konzept von Objekten und Buckets.
Um Daten in Amazon S3 hochzuladen, erstellen Sie zunächst einen S3-Bucket mit einem eindeutigen Namen in einer AWS-Region Ihrer Wahl. AWS empfiehlt, eine geografisch nahegelegene Region zu wählen, um Kosten und Latenzzeiten zu minimieren. Nach der Erstellung des Buckets können Sie beliebig viele Objekte darin speichern.
Wie kann man S3-Buckets effektiv schützen?
S3-Buckets bieten zwar komfortablen Speicherplatz, doch bei fehlerhafter Konfiguration können sie zur größten Schwachstelle Ihrer AWS-Umgebung werden. Falsch konfigurierte Buckets haben bereits bei namhaften Unternehmen wie Dow Jones, FedEx, WWE und Verizon zu schwerwiegenden Datenschutzvorfällen geführt. All diese Sicherheitsverletzungen wären durch eine korrekte Konfiguration der S3-Buckets vermeidbar gewesen. Einen Best-Practice-Katalog stellt auch AWS selbst zur Verfügung.
Der Benutzer ist für seine Daten verantwortlich
Wie bereits beschrieben, lässt sich ein S3-Bucket durch die richtige Konfiguration zuverlässig absichern. Sie als Nutzer haben somit die volle Kontrolle über den Schutz Ihrer Daten. Es gibt zahlreiche bewährte Maßnahmen, mit denen Sie Ihre Cloud-Infrastruktur absichern und Ihren S3-Buckets das nötige Sicherheitsniveau verleihen können.
AWS wirbt mit Einfachheit -- ein Grund, warum viele Unternehmen vom klassischen Rechenzentrum in die Cloud migriert sind. Wenn jedoch Data-Governance-Prinzipien nicht konsequent angewandt werden, landen sämtliche Daten in der Cloud, einschließlich sensibler Informationen. Jedes Unternehmen benötigt eine dedizierte Strategie für die Datensicherheit in AWS. Viele Organisationen steigen direkt auf AWS um, ohne Data-Governance-Regeln zu berücksichtigen, was zu folgenschweren Sicherheitsvorfällen führen kann.
Der verbreitete Irrtum
S3-Buckets stellen ein erhebliches Sicherheitsrisiko dar, weil sie von unerfahrenen Nutzern leicht falsch konfiguriert werden können. Die meisten Sicherheitsvorfälle der Vergangenheit entstanden dadurch, dass die Option "All Users" aktiviert wurde, wodurch die Daten öffentlich zugänglich waren. Eine unbedachte Änderung der Zugriffskontrolle genügt, um einen S3-Bucket versehentlich für jeden sichtbar zu machen.
Best-Practice-Regeln für Amazon S3
Um die Sicherheit Ihrer S3-Buckets zu stärken, sollten Sie die folgenden bewährten Maßnahmen umsetzen:
DNS-konforme S3-Bucket-Namen
Ein DNS-konformer Name ist ein S3-Bucket-Name ohne Punkt ('.'). Beispielsweise verstößt 'Mein.Bucket.Name' gegen diese Regel. Stellen Sie sicher, dass Ihre S3-Buckets DNS-konforme Namen verwenden, um Virtual-Hosted-Style-Zugriffe zu ermöglichen und neuere S3-Funktionen wie Transfer Acceleration nutzen zu können. Verwenden Sie '-' anstelle von '.'.
Authentifizierte Benutzer mit 'READ'-Zugriff
Um Ihre S3-Daten vor unberechtigtem Zugriff zu schützen, stellen Sie sicher, dass der Inhalt Ihrer S3-Buckets nicht von beliebigen IAM-Benutzern oder AWS-authentifizierten Konten aufgelistet werden kann.
S3-Konfigurationsänderungen
S3-Konfigurationsänderungen (Erstellen oder Löschen von Buckets, öffentliches Zugänglichmachen über ACLs), die auf Service- und Ressourcenebene vorgenommen werden, sollten durch die RTMA-Engine (Real-Time Threat Monitoring and Analysis) in Ihrem AWS-Konto überwacht werden.
S3-Objektsperre
Stellen Sie sicher, dass die Funktion "Object Lock" für Ihre S3-Buckets aktiviert ist. Dadurch wird verhindert, dass gespeicherte Objekte gelöscht werden. Während eines definierten Aufbewahrungszeitraums blockiert Object Lock das Löschen von Objektversionen und setzt so Aufbewahrungsrichtlinien als zusätzliche Schutzebene durch.
S3-Bucket-Standardverschlüsselung
Stellen Sie sicher, dass die Standardverschlüsselung auf Bucket-Ebene aktiviert ist. Damit werden alle Objekte beim Speichern in Amazon S3 automatisch mit serverseitiger Verschlüsselung geschützt.
Sicherer Transport
Der sichere Transport von Daten auf dem Weg von und zu Amazon S3 lässt sich durch die erzwungene SSL-Verschlüsselung Ihrer S3-Buckets gewährleisten.
Server-seitige Verschlüsselung
Durch die Aktivierung der serverseitigen Verschlüsselung stellen Sie sicher, dass Ihre S3-Buckets sensible Daten auch im Ruhezustand (at rest) schützen.
S3-Transferbeschleunigung
Die S3 Transfer Acceleration ermöglicht eine deutlich schnellere Datenübertragung mit Geschwindigkeitssteigerungen von bis zu 500 %. Stellen Sie sicher, dass Ihre Buckets diese Funktion nutzen, wenn Sie große Datenmengen übertragen.
S3 kontoübergreifender Zugriff
Um unbefugten kontoübergreifenden Zugriff zu verhindern, sollten Sie Ihre S3-Buckets so konfigurieren, dass ausschließlich vertrauenswürdige AWS-Konten Zugriff erhalten.
S3-Bucket mit Website-Konfiguration
S3-Buckets mit aktivierter Website-Konfiguration sollten regelmäßig auf Sicherheitsrisiken überprüft werden.
'FULL CONTROL'-Zugriff auf S3-Bucket für authentifizierte Benutzer
Stellen Sie sicher, dass Ihre S3-Buckets keinen FULL_CONTROL-Zugriff für authentifizierte Benutzer wie IAM- oder signierte AWS-Konten gewähren. Voller Steuerungszugriff bedeutet, dass diese Benutzer Objekte lesen, löschen, hochladen und sogar Berechtigungen bearbeiten können.
'READ_ACP'-Zugriff auf S3-Bucket für authentifizierte Benutzer
AWS-authentifizierten Benutzern oder IAM-Benutzern sollte kein READ_ACP-Zugriff auf Ihre S3-Buckets gewährt werden. Wird dieser Aspekt nicht kontrolliert, können authentifizierte Benutzer die Konfiguration Ihrer Access Control Lists einsehen und potenzielle Berechtigungsschwachstellen ausnutzen.
'WRITE'-Zugriff auf S3-Bucket für authentifizierten Benutzer
Kontrollieren Sie den WRITE-Zugriff für alle authentifizierten und IAM-Benutzer, um Ihre Buckets vor unbefugtem Zugriff zu schützen. Wird dieser Aspekt nicht überwacht, können authentifizierte Benutzer beliebige Objekte im Bucket löschen, hinzufügen oder ersetzen.
'WRITE_ACP'-Zugriff auf S3-Bucket für authentifizierten Benutzer
Stellen Sie außerdem sicher, dass kein authentifizierter Benutzer Zugriffssteuerungsberechtigungen ändern kann. Andernfalls erhalten authentifizierte Benutzer vollen Zugriff auf Ihre Ressourcen und können sogar Berechtigungen bearbeiten. Wird dies nicht überprüft, drohen der Verlust sensibler Daten oder unerwartet hohe S3-Kosten durch sogenannte Economic-Denial-of-Service-Angriffe.
S3-Bucket-Protokollierung aktiviert
Aktivieren Sie die Protokollierungsfunktion für Ihre S3-Buckets. Standardmäßig ist diese Funktion deaktiviert. Nach der Aktivierung werden Zugriffsanfragen aufgezeichnet, was für Sicherheitsaudits äußerst wertvoll ist.
MFA-Löschung für S3 aktiviert
Die MFA-Delete-Funktion (Multi-Faktor-Authentifizierung) sollte für Ihre S3-Buckets aktiviert sein. Diese Funktion verhindert das Löschen versionierter Objekte und bietet so eine zusätzliche Schutzebene.
Öffentlicher Zugriff über Bucket-Richtlinien
Stellen Sie sicher, dass Ihre S3-Buckets nicht über Bucket-Richtlinien öffentlich zugänglich sind. Uneingeschränkter Zugriff über Bucket-Richtlinien ermöglicht es, Objektberechtigungen aufzulisten, zu löschen, anzuzeigen und zu bearbeiten -- ein erhebliches Sicherheitsrisiko.
S3-Bucket-Versionierung
Aktivieren Sie die Versionierung für Ihre S3-Buckets, um gelöschte oder überschriebene Objekte wiederherstellen zu können. Diese Funktion fügt eine zusätzliche Ebene der Datenaufbewahrung und des Datenschutzes hinzu.
S3 Bucket Lifecycle-Konfiguration
Zur Kostenoptimierung und aus Sicherheitsgründen sollten Sie die Lifecycle-Konfiguration für Ihre S3-Buckets aktivieren. Diese Konfiguration unterstützt Sie bei der automatisierten Verwaltung von S3-Objekten über deren gesamten Lebenszyklus.
Fazit
AWS gewährleistet hochwertige Sicherheit, sofern die Dienste korrekt konfiguriert und verstanden werden. Wenden Sie alle oben genannten Regeln bei der Konfiguration Ihrer S3-Buckets an, denn Datenschutz ist geschäftskritisch. Bereits eine einzige Nachlässigkeit kann zu schwerwiegenden Datenschutzverletzungen führen. Leider verfügen viele Unternehmen nicht über die nötigen Kompetenzen und Ressourcen, um sichere AWS-Umgebungen aufzubauen und zu betreiben.
Mit den beschriebenen Strategien und Maßnahmen können Sie Fehlkonfigurationen Ihrer S3-Buckets effektiv vermeiden und Ihre IT-Workloads zuverlässig schützen.