AWS-S3-Bucket: Kostenexplosion durch nicht autorisierte Anfragen

Wer bei AWS einen neuen S3-Bucket erstellt, sollte diesen besser mit einem möglichst spezifischen Namen ausstatten. Wie ein Softwareentwickler namens Maciej Pocwierz kürzlich feststellte, kann eine zu allgemeine Bezeichnung unerwartet hohe Rechnungsbeträge zur Folge haben. Grund dafür ist der Umstand, dass AWS auch nicht autorisierte Anfragen an S3-Buckets in Rechnung stellt.
Wie Pocwierz in einem Blogbeitrag(öffnet im neuen Fenster) erklärt, hatte er lediglich einen Bucket mit ein paar Testdaten erstellt. Zwei Tage später zeigte ihm die AWS-Abrechnungsseite bereits entstandene Kosten in Höhe von 1.300 US-Dollar an. Innerhalb von nur einem Tag seien auf dem S3-Bucket fast 100 Millionen Put-Requests eingegangen, so der Entwickler.
Quelle war ein populäres Open-Source-Tool
Nachdem er die Protokollierungsfunktion aktiviert hatte, stellte Pocwierz fest, dass die Anfragen von verschiedenen Quellen stammten. Zunächst ging er von einem DDoS-Angriff aus. Später stellte sich jedoch heraus, dass ein "populäres Open-Source-Tool" , dessen Namen der Entwickler aus Sicherheitsgründen nicht nennt, standardmäßig so konfiguriert war, dass es seine Backups in einem S3-Bucket mit demselben Namen (als Platzhalter) speicherte, den Pocwierz für seinen Bucket gewählt hatte.
"Das bedeutet, dass jede Bereitstellung dieses Tools mit Standardkonfigurationswerten versucht hat, Sicherungen in meinem S3-Bucket zu speichern" , so der Entwickler. Hinzu komme, dass S3-Anfragen ohne Angabe einer Zielregion automatisch an die Region us-east-1 gerichtet und bei Bedarf umgeleitet würden. "Und der Eigentümer des Buckets zahlt für diese umgeleiteten Anfragen extra" , schreibt Pocwierz.
Anwendern empfiehlt der Entwickler vor diesem Hintergrund, auf kurze und allgemeine Namen für ihre S3-Buckets zu verzichten und diese stattdessen um zufällige Zeichenfolgen zu ergänzen, um einem Missbrauch vorzubeugen. Bei Anfragen rät Pocwierz außerdem dazu, immer die jeweilige AWS-Region mit anzugeben, um Zusatzkosten für Umleitungen zu vermeiden.
Reaktion von AWS
Der AWS-Support bestätigte auf Rückfrage, dass auch für nicht autorisierte Anfragen an S3 Gebühren fällig würden und es sich bei den von Pocwierz geschilderten Beobachtungen um ein "erwartetes Verhalten" handle. Konkret bedeutet das: Jeder, der den Namen eines bestimmten S3-Buckets kennt, kann durch eine entsprechende Anfragenflut dafür sorgen, dass der Bucket-Besitzer mit hohen Rechnungsbeträgen konfrontiert wird. Ein eigenes AWS-Konto ist für einen solchen Angriff nicht erforderlich.
"AWS war so freundlich, meine S3-Rechnung zu stornieren" , erklärt Pocwierz. Das Unternehmen habe jedoch betont, dass dies eine Ausnahme sei.
Nachdem der Blogbeitrag von Pocwierz für mediale Aufmerksamkeit gesorgt hatte, erklärte AWS-Sprecher Jeff Barr auf X(öffnet im neuen Fenster) , das Unternehmen sei ebenfalls der Meinung, "dass Kunden nicht für unautorisierte Anfragen zahlen sollten, die sie nicht initiiert haben" . AWS werde in Kürze weitere Informationen über Maßnahmen gegen die Entstehung derartiger Gebühren teilen.
Die Standardkonfiguration des Open-Source-Tools, durch das die Anfragenflut entstanden ist, sei laut Pocwierz inzwischen bereinigt worden. Der Entwickler warnt jedoch, dies habe keine Auswirkungen auf bestehende Implementierungen des Tools, so dass noch immer unzählige Systeme versuchten, Backups auf sein S3-Bucket zu schieben. AWS habe es abgelehnt, Maßnahmen gegen Fehlkonfigurationen von Drittanbieterprodukten zu ergreifen.



