Amazon hat mit der Einführung von Amazon Web Services (AWS) den Weg zu Infrastructure-as-a-Service (IaaS) geebnet. Netflix, NASA und die US-Navy nutzen allesamt Amazon als Backend. AWS S3 ist der Speicherdienst von AWS und hatte Anteil an vielen größeren Datenlecks.
In diesem Blog erläutern wir die Grundlagen von AWS S3 und besprechen, wie das System gegen Cybersicherheitsvorfälle geschützt werden kann.
AWS S3 ist einer der Hauptdienste der AWS-Infrastruktur. Vom Konzept her handelt es sich dabei um einen unbegrenzt großen Datenserver auf einem Remote-Standort oder FTP-Server.
Amazon S3 speichert hochgeladene Daten als Objekte in sogenannten Buckets. S3 bildet Strukturen um Buckets und Objekte statt um Dateiserver.
Bei einem Objekt kann es sich um ein Dokument oder um ein Video mit Metadaten handeln, die das Objekt beschreiben. Buckets sind die Container für ein Objekt. Der Administrator kann den Zugriff auf jeden Bucket einrichten und verwalten (also wer jeweils Elemente im Bucket erstellen, löschen und auflisten kann), Zugriffsprotokolle für den Bucket und seine Objekte anzeigen und den geografischen Bereich auswählen, in dem Amazon S3 den Bucket und seine Inhalte speichert.
Amazon S3 wurde als sehr dauerhafte und flexible Lösung entwickelt, die zahlreiche Speicheroptionen bietet, um individuelle Kundenanforderungen zu erfüllen. Dazu gehören:
Es gibt eine Vielzahl von Anwendungsfällen für AWS S3, nachfolgend finden Sie einige Beispiele.
Amazon S3 eignet sich perfekt zum Speichern von Anwendungsbildern und -videos, um diese mit schnellerer Performance zu rendern. Dafür nutzen alle AWS-Dienste (einschließlich Amazon Prime und Amazon.com) sowie Netflix und Airbnb Amazon S3.
Amazon S3 ist sehr effektiv bei der Speicherung und Archivierung von hochsensiblen Daten oder Backups. Das System verteilt sich automatisch über Regionen hinweg und bietet die bestmögliche Verfügbarkeit und Dauerhaftigkeit. Die Wiederherstellung von Dateien oder älteren Kopien lässt sich mit der Amazon-S3-Versionierung vereinfachen. Es ist sehr unwahrscheinlich, dass mit Amazon S3 Details verloren gehen, wenn Sie Ihr Wiederherstellungspunktziel (RPO, Recovery Point Goal) und Wiederherstellungszeitziel (RTO, Recovery Time Goal) niedrig halten.
Amazon S3 bietet erweiterte lokale Abfragefunktionen, um hocheffiziente Analysen von S3-Daten durchzuführen. Dadurch müssen keine Daten mehr verschoben und gespeichert werden, da so die meisten Dienste, bei denen Drittanbieter integriert werden, vereinfacht werden.
Benutzer können Daten von Amazon S3 in die sehr günstige und langlebige Compliance-Archivierungslösung Amazon Glacier speichern und übertragen. Ebenso können archivierte Daten mit einer Lebenszyklus-Richtlinie automatisiert werden. So lassen sich Daten mit reduziertem Aufwand verwalten.
Amazon S3 speichert verschiedene statische Objekte. Ein wichtiger Anwendungsfall ist das Hosting statischer Websites. Immer mehr Web-Apps werden aus nur einer statischen Seite aufgebaut (Angular, ReactJS usw.), wenn der Betrieb eines Webservers teuer ist. S3 bietet eine statische Website-Hosting-Funktion, mit der Sie Ihre Domain ohne erhebliche Hostingkosten verwenden können.
Amazon S3 bietet mehrere standardmäßige Verschlüsselungs- und Compliance-Funktionen für PCI-DSS, HIPAA/HITECH, FedRAMP, FISMA und andere. Dank dieser Funktionen können Kunden Compliance-Kriterien von fast allen Aufsichtsbehörden weltweit erfüllen. Darüber hinaus können Sie den Zugriff auf sensible Daten durch die Bucket-Richtlinien einschränken.
Alle S3-Daten befinden sich in speziellen globalen Buckets, mit mehreren Verzeichnissen und Unterordnern. Wählen Sie eine Region aus, wenn Sie einen Bucket erstellen, um die Latenz zu optimieren und die Kosten für den Zugriff auf Daten zu senken. Um Amazon S3 einzurichten, befolgen Sie diese Schritte:
Mit den folgenden Schritten können Sie einen S3-Bucket erstellen.
Melden Sie sich in der AWS Management Console an. Nachdem Sie sich angemeldet haben, wird der folgende Bildschirm angezeigt:
Geben Sie in der Suchleiste „S3“ ein und klicken Sie auf das Ergebnis
Das AWS-S3-Dashboard sollte wie folgt aussehen.
Klicken Sie auf die Schaltfläche „Bucket erstellen“, um einen S3-Bucket zu erstellen. Wenn Sie auf die Schaltfläche „Bucket erstellen“ klicken, wird der folgende Bildschirm angezeigt:
Geben Sie einen Namen für den Bucket ein:
Es gibt viele Möglichkeiten, S3-Bucket-Berechtigungen einzurichten. Die Berechtigung ist standardmäßig privat, kann aber über die Berechtigung in der AWS Management Console oder eine Bucket-Richtlinie geändert werden. Als Best Practice in Hinblick auf Sicherheit sollten Sie beim Zugriff auf die erstellten S3-Buckets vorsichtig sein. Fügen Sie nur wesentliche Berechtigungen hinzu und vermeiden Sie es, Buckets öffentlich zugänglich zu machen.
Sie können die Funktionen auswählen, die Sie für einen bestimmten Bucket aktivieren möchten, z. B:
Klicken Sie schließlich auf „Bucket erstellen“.
Der AWS-Bucket wurde erstellt.
Hinweis: Der neu erstellte Bucket und seine Objekte sind nicht öffentlich.
Die Schritte zum Hochladen von Dateien in den soeben erstellten S3-Bucket finden Sie nachfolgend:
Fügen Sie die gewünschten Dateien vom Laufwerk hinzu.
Der Upload-Status wird auf dem Bildschirm angezeigt.
Wir können sehen, dass unser Dokument in den neu erstellten Bucket hochgeladen wird.
Um auf die Daten im AWS S3 Bucket zuzugreifen, müssen Sie die folgenden Schritte befolgen.
Auf dem obigen Bildschirm sehen wir, dass wir nicht auf die Bucket-Objekte zugreifen dürfen.
Um diese Probleme zu lösen, müssen wir die Berechtigungen für einen Bucket festlegen.
Wichtige Konzepte:
In Hinblick auf die Sicherheit von AWS ist S3 definitiv der am meisten gefährdete Dienst. Fehlkonfigurierte S3-Buckets haben zu massiven Datenlecks bei großen Unternehmen wie FedEx, Verizon, Dow Jones und sogar bei WWE geführt. Diese Lecks waren allesamt vermeidbar, da AWS bei richtiger Konfiguration sehr sicher ist.
Für einen besseren Schutz Ihres S3-Buckets sollten Sie die folgenden Best Practices für die AWS-S3-Sicherheit berücksichtigen:
Die Verschlüsselung ist ein wesentlicher Schritt für den Schutz Ihrer Daten. S3 bietet zwei Möglichkeiten, Ihre ruhenden Daten zu schützen:
Sie können Ihre Sicherheits- und Compliance-Anforderungen entsprechend auswählen, wie verschlüsselt werden soll. Sie können sich für die serverseitige Verschlüsselung entscheiden, wenn Sie damit einverstanden sind, dass AWS den Verschlüsselungsprozess übernimmt. Falls Ihre Daten sensibel sind und Sie diese selbst verschlüsseln möchten, nutzen Sie die clientseitige Verschlüsselung.
Das folgende Beispiel zeigt, wie SSE-S3-Buckets Daten in einem S3-Bucket schützen können:
Die Verschlüsselung ist standardmäßig deaktiviert.
Innerhalb von Sekunden wird der neue Verschlüsselungstyp auf dem Bildschirm angezeigt.
Die Dateien werden sicher auf dem erstellten S3-Bucket verschlüsselt.
Zugriffskontrolle ist die wichtigste Säule, um den Datenschutz weiter zu verbessern. Nachfolgend sehen Sie fünf Optionen für die Verwaltung des Zugriffs auf S3-Buckets und -Ressourcen. Wir analysieren jede Zugriffskontrollmethode, um Ihnen bei der Erstellung eines effizienten Mechanismus für Best Practices bei der Sicherheit in AWS S3:
Identitäts- und Zugriffsmanagement (IAM, Identity and Access Management) ermöglicht eine feinjustierte Zugriffskontrolle. Durch die Implementierung des Prinzips der notwendigsten Berechtigung kann der Administrator Benutzer mit minimalen Zugriffsrechten und Ressourcen für die Handhabung von Buckets oder das Lesen/Schreiben von Daten delegieren. Dies minimiert das Risiko menschlicher Fehler – eine der Hauptursachen für falsch konfigurierte S3-Buckets und die damit einhergehenden Datenlecks.
Fangen Sie in der Regel mit einer notwendigen Mindestanzahl von Berechtigungen an und fügen Sie nach Bedarf allmählich Berechtigungen hinzu.
Die Bucket-Richtlinien sind die gleichen wie die IAM-Verbraucherrichtlinien, außer dass sie direkt mit S3-Sicherheitsdiensten verbunden sind. Die Bucket-Richtlinien sind ein vielseitiges Werkzeug, das einen feinjustierten Bucket-Zugriff ermöglicht.
In bestimmten Fällen sollten Sie bevorzugt Bucket-Richtlinien verwenden. Schauen wir uns hier einige der typischen Szenarien an.
Amazon hat während der „Re-Invent 2019“ in Las Vegas S3-Zugriffspunkte vorgestellt – eine Funktion, die die Zugriffskontrolle bei S3-Buckets mit Mischnutzung verbessert, um Bucket-Richtlinien einfacher zu handhaben.
Vor den S3-Zugriffspunkten dienten Bucket-Richtlinien als Medium, um alle Daten innerhalb eines Buckets mit unterschiedlichen Berechtigungen zu handhaben. S3-Zugriffspunkte bieten eine moderne Möglichkeit, Daten in großem Umfang zu verwalten.
Wie funktionieren S3-Zugriffspunkte?
S3-Zugriffspunkte haben eindeutige Hostnamen und eigene Zugriffsrichtlinien, die festlegen, wie Daten über diesen Endpoint zu handhaben sind. Zugriffspunkt-Richtlinien ähneln den Bucket-Richtlinien, beziehen sich jedoch ausschließlich auf den Zugriffspunkt. S3-Zugriffspunkte können auch auf eine Virtual Private Cloud (VPC) beschränken, die die S3-Daten auf diesem privaten Netzwerk verschickt. Das bedeutet, dass jeder Zugangspunkt einen bestimmten DNS-Namen hat. So ist es für Sie einfacher, Ihre Buckets zu adressieren.
ACLs (Access Control Lists) waren die ursprüngliche Methode zur Zugriffskontrolle in S3, bevor AWS IAM Verbreitung fand. Fehlkonfigurierte ACLs waren einer der Hauptgründe, warum S3-Datenlecks so häufig vorkamen.
Die ACLs gelten entweder für den Bucket oder auf Komponentenebene. Einfach gesagt bieten die Bucket-ACLs Zugriffskontrolle auf der Bucket-Ebene, während die Objekt-ACLs Zugriffskontrolle auf der Objektebene bieten. Standardmäßig erlauben Bucket ACLs nur dem Besitzer des Kontos den Zugriff. Dennoch ist es in der Regel sehr einfach, die Buckets öffentlich verfügbar zu machen. Deshalb rät AWS davon ab, ACLs zu benutzen.
Schließlich bietet Amazon eine zentrale Möglichkeit, den öffentlichen Zugriff auf S3-Dienste zu beschränken. Durch Einstellen der Blockierung des Öffentlichen Zugriffs durch Amazon S3 können Sie alle zuvor festgelegten Bucket-Richtlinien und Objektberechtigungen umgehen. Beachten Sie, dass die Blockierung des öffentlichen Zugriffs für Buckets, AWS-Konten und Zugangspunkte funktioniert.
Unternehmen können die Sicherheit und Zuverlässigkeit von S3 verbessern, indem sie eine Datenschutzrichtlinie festlegen, mit der die Ausfallsicherheit maximiert wird. Werfen wir einen eingehenden Blick auf solche Best Practices für die Sicherheit in AWS S3:
Dies ist der häufigste Ansatz, da er die Datensicherheit stärkt. Mit dem AWS-Backup-Dienst, der die meisten AWS-Dienste wie Amazon EFS, DynamoDB, RDS, EBS und Storage Gateway unterstützt, können Sie Sicherungsprozesse zentralisieren und automatisieren.
Da S3-Ressourcen in verschiedenen Verfügbarkeitsstufen verfügbar sind, sollten Sie IA-Speicher für Workloads mit niedriger Priorität verwenden. Wechseln Sie anschließend zu einer besseren Serviceklasse, wenn die IT-Workloads eine höhere Verfügbarkeit benötigen. Dadurch wird eine Optimierung auf Basis der Workload-Anforderungen gewährleistet, denn eine Überinvestition in Speicher ist teuer.
Daten sind zudem auch aufgrund von Notfällen und Infrastrukturausfällen erheblichen Bedrohungen ausgesetzt. Mit der S3-Versionierung zur Wiederherstellung verlorener Dateien lassen sich anspruchsvolle und langwierige Wiederherstellungsprozesse für Backups vermeiden. Der S3-Versionierungsprozess umfasst das Speichern der Version des S3-Bucket-Objekts, sobald eine PUT-, COPY-, POST- oder Remove-Aktion ausgeführt wird.
Verwenden Sie die regionenübergreifende Replikation (CRR), um die Datenverfügbarkeit zu erhöhen und dafür zu sorgen, dass ein einzelner Versagenspunkt nicht das gesamte System ausfallen lässt. Neben der Verfügbarkeit hilft CRR auch bei der Erfüllung gesetzlicher Anforderungen, wenn Sie die Daten an verschiedenen geografischen Standorten speichern müssen.
SRR ist eine ausgezeichnete Wahl, wenn gesetzlich vorgeschrieben ist, dass Daten lokal oder in derselben Region gespeichert werden. AWS verwendet eine integrierte Datenreplikationsfunktion, um einen S3-Bucket über Speichergeräte hinweg in drei physisch verschiedenen regionsweiten Verfügbarkeitszonen zu duplizieren. Dies garantiert den Schutz und die Dauerhaftigkeit der Daten im Falle eines Infrastrukturausfalls oder eines Notfalls.
SSL ist die bevorzugte Methode zur Sicherung der Kommunikation mit S3-Buckets. Standardmäßig ist der Zugriff auf S3-Bucket-Daten entweder über HTTP oder HTTPS möglich. Daher können Angreifer potenziell über MITM (Man in the Middle) Zugriff auf Ihre S3-Anfragen erhalten.
Die Protokollierung für S3-Bucket-Zugriffe ist eine Funktion, die Informationen über alle an einen Bucket verschickten Anfragen sammelt, z. B. PUT-, GET- und DELETE-Aktionen. So kann das Sicherheitsteam versuchte bösartige Aktivitäten innerhalb Ihrer Buckets erkennen.
Die Protokollierung ist eine empfohlene Best Practice für Sicherheit, mit der Teams gesetzliche Anforderungen einhalten, unbefugten Zugriff auf ihre Daten erkennen oder die Untersuchung eines Datenlecks einleiten können.
Die S3-Objektsperre erschwert das Entfernen von Daten aus S3. Angreifer schädigen Unternehmensdaten vornehmlich auf zwei Wegen:
Durch Löschen von Datenbeständen
Durch Stehlen von Daten
Die S3-Objektsperre beugt dem Datendiebstahl vor, indem sie das Löschen bzw. Überschreiben eines Objekts verhindert. Sie macht das S3-Objekt effektiv auf zwei Arten unveränderbar: durch Festlegen einer Aufbewahrungsfrist oder durch Aufbewahrung für juristische Zwecke bis zur Freigabe des Objekts.
Mit der S3-Objektsperre können Sie auch die Anforderungen der WORM-Vorschriften erfüllen oder zusätzliche Schutzebenen nur zu Compliance-Zwecken erstellen.
Führen Sie die folgenden Schritte aus, um die Objektsperre beim Erstellen eines S3-Buckets zu aktivieren:
Hinweis: Die Objektsperre funktioniert nur, wenn die Versionierung aktiviert ist.
Die ordnungsgemäße Verwaltung und Konfiguration Ihrer AWS-S3-Buckets ist entscheidend für die Sicherheit Ihrer Infrastruktur – unabhängig davon, wo die Server gehostet werden. Die Schritte in der Anleitung bilden lediglich einen Anfang. Eine umfassende Cybersicherheitsstrategie erfordert außerdem eine einheitliche Überwachung auf ungewöhnliche Datenzugriffsmuster und Anzeichen potenzieller Kompromittierung hin. Varonis hat den Anbieter Polyrize übernommen, um die Sicherheitsprobleme der Cloud besser bewältigen zu können.
Unter diesem Link können Sie einen Anruf mit unseren Cyber-Security-Experten vereinbaren und besprechen, wie Varonis Sie bei der Verwaltung Ihrer Cloud-Infrastruktur unterstützen kann.