{"id":294989,"date":"2024-05-04T00:58:00","date_gmt":"2024-05-03T22:58:00","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=294989"},"modified":"2024-05-03T19:25:41","modified_gmt":"2024-05-03T17:25:41","slug":"wenn-die-aws-cloud-von-den-kosten-explodiert-ein-s3-bucket-fall-der-schief-gegangen-ist","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2024\/05\/04\/wenn-die-aws-cloud-von-den-kosten-explodiert-ein-s3-bucket-fall-der-schief-gegangen-ist\/","title":{"rendered":"Wenn die (AWS) Cloud von den Kosten explodiert &#8211; ein S3-Bucket-Fall der schief gegangen ist"},"content":{"rendered":"<p><img decoding=\"async\" title=\"Cloud\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2021\/05\/Cloud-Symbol.jpg\" width=\"200\" align=\"left\"\/>Irgendwie dumm gelaufen: Ein Software-Entwickler hat vor einigen Wochen ein privates AWS S3 Bucket aufgesetzt, aber leer gelassen. Als er zwei Tage sp\u00e4ter die AWS-Abrechnungsseite \u00fcberpr\u00fcfte, um sicherzustellen, dass das aufgesetzte S3-Bucket kostenlos bleiben w\u00fcrde, sah er sich mit aufgelaufenen Kosten von 1.300 US-Dollar konfrontiert. Dumm gelaufen, die Cloud kann schon echte \"Schmerzen\" bereiten. <\/p>\n<p><!--more--><\/p>\n<h2>Kostenschock bei der AWS-Cloud<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/vg07.met.vgwort.de\/na\/1eac5ac2524343d1b61794cd7faf0f68\" width=\"1\" height=\"1\"\/>Ich bin die Tage auf X \u00fcber einen <a href=\"https:\/\/twitter.com\/Lauramaywendel\/status\/1785065499035857353\">Tweet<\/a> von Laura Wendel auf den betreffenden Sachverhalt gesto\u00dfen, den der Betroffene auf Medium im Beitrag <a href=\"https:\/\/medium.com\/@maciej.pocwierz\/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1\" target=\"_blank\" rel=\"noopener\">How an empty S3 bucket can make your AWS bill explode<\/a> geschildert hat. <\/p>\n<p><a href=\"https:\/\/medium.com\/@maciej.pocwierz\/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/J0WBZWcD\/image.png\"\/><\/a><\/p>\n<p>In ganz kurz: Vor einigen Wochen begann der Entwickler mit der Arbeit an einem PoC f\u00fcr ein Dokumentenindizierungssystem f\u00fcr seinen Kunden. Dazu erstellte der gute Mann einen einzelnen S3-Bucket in der Region <em>eu-west-1 <\/em>und lud einige Dateien zu Testzwecken dorthin hoch. So weit so normal &#8211; wobei ich bei solchen Konstruktionen schon Bauchschmerzen h\u00e4tte. Diese \"Test-Cloud-Konten\" sind sowohl bei Amazons AWS S3-Service als auch bei Microsofts Azure kostenlos. Ich erinnere mich, dass ich bei Microsoft Azure sogar zeitweise Konten mit 150 US-Dollar-Guthaben hatte. Aber Du wei\u00dft nie, ob Du mit dem Traffic im Rahmen dessen bleibst, was kostenlos ist. <\/p>\n<p>Als der Entwickler zwei Tage sp\u00e4ter auf seiner AWS-Abrechnungsseite \u00fcberpr\u00fcfte, ob er noch im Rahmen Free-Tier-Grenzen l\u00e4ge, kam der Schock. Auf dem S3-Bucket waren bereits Kosten von 1.300 $ aufgelaufen. Obiger Tweet zeigt in der Grafik, dass an einem Tag fast 100.000.000 S3 PUT-Anforderungen auf die betreffende Instanz durchgef\u00fchrt worden waren. <\/p>\n<h2>Woher kamen diese Anforderungen?<\/h2>\n<p>Standardm\u00e4\u00dfig protokolliert AWS keine Anforderungen, die f\u00fcr Ihre S3-Buckets ausgef\u00fchrt werden. Solche Protokolle k\u00f6nnen jedoch mit AWS CloudTrail oder S3 Server Access Logging aktiviert werden. Nachdem der Software-Entwickler die CloudTrail-Protokolle aktiviert hatte, stellte er sofort Tausende von Schreibanforderungen fest, die von mehreren Konten oder von au\u00dferhalb von AWS stammten.<\/p>\n<p>Erste Vermutung: Es ist eine Art DDoS-\u00e4hnlichen Angriff gegen das AWS-Konto, was aber keinen Sinn macht. Es stellte sich heraus, dass ein beliebtes Open-Source-Tools standardm\u00e4\u00dfig so konfiguriert war, dass es seine Backups in Amazon Web Services S3 speicherte. Als Platzhalter f\u00fcr einen Bucket-Namen wurde der gleiche Name verwendet, den der Entwickler f\u00fcr seinen S3-Bucket benutzt hatte. Das bedeutete, dass jede Bereitstellung dieses Open-Source-Tools mit Standardkonfigurationswerten versuchte, seine Sicherungen im S3-Bucket des Entwicklers zu speichern!<\/p>\n<p>Der Fall hat gleich einige Implikationen, die einem beim Lesen <a href=\"https:\/\/medium.com\/@maciej.pocwierz\/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1\" target=\"_blank\" rel=\"noopener\">des Beitrags hier<\/a> so durch den Kopf gehen. So wird sofort der Sicherheitsaspekt auftauchen: Jemand krallt sich das AWS S3-Bucket mit dem Namen, der Default im Open Source-Tool verwendet wurde. Und schon bekommt er Backups von allen Benutzern, die die Standardkonfiguration nicht angepasst haben, auf sein S3-Bucket geliefert. <\/p>\n<p>Der zweite Aspekt ist das Thema Kosten. Hier r\u00e4t ein Nutzer: Erste Regel, die bei Cloud-Lehrg\u00e4ngen vermittelt wird: Namen f\u00fcr alle Ressourcen, deren Namespace global ist, zuf\u00e4llig (randomized) vergeben und Tags verwenden, um sie zu finden\/zu organisieren. In Azure haben die Entwickler Ressourcengruppen festgelegt, um Dinge zu organisieren, schreibt der Betreffende. <\/p>\n<p>Es dauerte nicht lange, bis diese Geschichte auch von Amazon bemerkt wurde, da der Beitrag auf Medium geteilt wurde. AWS-Chefevangelist Jeff Barr schrieb daraufhin in einem Tweet mit, dass das Unternehmen etwas gegen die Situation unternehmen werde:<\/p>\n<blockquote>\n<p>Vielen Dank an alle, die uns auf diesen Artikel aufmerksam gemacht haben. Wir stimmen zu, dass Kunden nicht f\u00fcr unautorisierte Anfragen zahlen sollten, die sie nicht initiiert haben. Wir werden in K\u00fcrze mehr dar\u00fcber berichten, wie wir diese Geb\u00fchren verhindern werden.<\/p>\n<\/blockquote>\n<p>Was AWS genau unternehmen will, ist mir nicht klar. Aber der Fall zeigt, welche Fallen in der Cloud schlummern, und dass man sehr schnell als Entwickler oder Nutzer die Kontrolle \u00fcber seine Daten verlieren kann. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Irgendwie dumm gelaufen: Ein Software-Entwickler hat vor einigen Wochen ein privates AWS S3 Bucket aufgesetzt, aber leer gelassen. Als er zwei Tage sp\u00e4ter die AWS-Abrechnungsseite \u00fcberpr\u00fcfte, um sicherzustellen, dass das aufgesetzte S3-Bucket kostenlos bleiben w\u00fcrde, sah er sich mit aufgelaufenen &hellip; <a href=\"https:\/\/borncity.com\/blog\/2024\/05\/04\/wenn-die-aws-cloud-von-den-kosten-explodiert-ein-s3-bucket-fall-der-schief-gegangen-ist\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7263],"tags":[1171,2284],"class_list":["post-294989","post","type-post","status-publish","format-standard","hentry","category-cloud","tag-cloud","tag-kosten"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/294989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=294989"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/294989\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=294989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=294989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=294989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}