the_lightwriter - stock.adobe.co
AWS S3 Buckets vor öffentlichem Zugriff schützen
Neue Einstellungen sollen dafür sorgen, dass Datenlecks in AWS-S3-Umgebungen bald der Vergangenheit angehören. Sie betreffen neue und bestehende Richtlinien.
Seit 2017 sind einige Datensicherheitsvorfälle bekannt geworden, die auf schlecht konfigurierte und öffentlich zugängliche S3 Buckets bei Amazon Web Services zurückzuführen sind.
Nach Erkenntnissen von McAfee Skyhigh Networks sind rund sieben Prozent aller S3 Buckets ohne viel Aufwand aus dem öffentlichen Internet erreichbar. Weitere 35 Prozent nutzen keine Verschlüsselung, obwohl diese Funktion bereits fest in AWS implementiert ist. Dabei handelt es sich um ein großes Problem, für das aber AWS nicht verantwortlich gemacht werden kann. Alle S3 Buckets sind zunächst standardmäßig nicht für die Öffentlichkeit freigegeben. AWS hat sich zudem große Mühe gegeben, um betroffenen Anwendern und Unternehmen zur Seite zu stehen.
So hat AWS beispielsweise im November 2017 eine Reihe neuer Security- und Verschlüsselungsfunktionen freigegeben, die Unternehmen dabei helfen sollten, ihre S3-Umgebungen abzuriegeln. Dazu gehören Tools, um Berechtigungen zu überprüfen, eine feiner einstellbare Verschlüsselung für S3 und auch eine vergleichsweise simple Funktion: Auf dem Hauptbildschirm zur S3-Konfiguration taucht nun ein Banner auf, das anzeigt, wenn einer oder mehrere Buckets als öffentlich zugänglich eingerichtet sind. In der Liste der angelegten Buckets tauchen zudem standardmäßig alle öffentlich zugänglichen Systeme ganz oben auf. Unglücklicherweise haben alle diese Maßnahmen zu keiner wirklichen Verbesserung der Situation geführt.
Auf der re:invent-Konferenz Ende 2018 hat AWS deswegen mehrere neue Einstellungen vorgestellt, mit denen sich Datenlecks in Zukunft endlich vermeiden lassen könnten. Die neuen Kontrollmöglichkeiten mit dem Namen S3 Block Public Access können sowohl auf dem Account Level als auch für einzelne Buckets eingerichtet werden. Das bedeutet, dass sie wie eine Master-Richtlinie für alle vorhandenen und künftig neu angelegten Speicher-Buckets gelten, die sich auch auf alle Buckets und Objekte der einzelnen Accounts auswirkt.
Die neuen Einstellungen können auf verschiedene Weise eingerichtet und verwaltet werden. Dazu geeignet sind die Amazon S3 Management Konsole, das AWS Command Line Interface, S3-spezifische APIs (Application Programming Interfaces) und die AWS CloudFormation Templates.
Neue Funktionen zur Absicherung von S3 Buckets
Insgesamt gibt es vier neue Hauptfunktionen. Zwei davon dienen zum Verwalten von öffentlichen ACLs (Access Control Lists; Zugriffskontrolllisten) und zwei zum Managen der Bucket-Richtlinien.
- Blockiere neue öffentliche ACLs und verhindere das Hochladen von öffentlichen Objekten: Diese Richtlinie verhindert, dass künftig erstellte S3 ACLs einen öffentlichen Zugang erlauben. Bestehende Buckets sind davon aber nicht betroffen.
- Entferne öffentliche Zugänge, die durch öffentliche ACLs erwirkt wurden: Diese Richtlinie überschreibt alle existierenden ACLs, die möglicherweise einen öffentlichen Zugriff auf bestehende S3 Buckets gewähren. Dadurch setzt sie alle bereits vorhandenen Buckets auf nicht-öffentlich, auch wenn ihre bisherigen ACLs einen öffentlichen Zugang erlaubt haben.
- Blockiere alle neuen Richtlinien, die Buckets öffentlich zugänglich machen: Diese Einstellung verhindert in Zukunft die Erstellung neuer IAM-Richtlinien (Identity and Access Management), die einen öffentlichen Zugriff ermöglichen würden. Bereits existierende Richtlinien sind davon aber wiederum nicht betroffen.
- Blockiere einen öffentlichen und Account-übergreifenden Zugang zu Buckets, die einen öffentlichen Zugang per Richtlinie erlauben: Jeglicher öffentlicher Zugang, der bislang durch IAM-Richtlinien ermöglicht wurde, wird mit dieser Einstellung ab sofort verhindert. Das gilt aber nicht für AWS-Dienste und den jeweiligen Bucket Owner. Diese Einschränkung soll bewirken, dass einerseits die meisten öffentlichen Zugangsmöglichkeiten blockiert werden, andererseits aber der Eigentümer eines Buckets ausreichend Zeit hat, die bestehenden Richtlinien zu überprüfen und öffentliche Zugänge je nach Bedarf zu deaktivieren.
AWS empfiehlt, alle diese Einstellungsmöglichkeiten sofort zu aktivieren. Alle neuen S3 Buckets haben sie bereits automatisch aktiviert. Unternehmen, die AWS Organizations nutzen, um ihre Richtlinien zentral verwalten zu können, finden diese Einstellungen dort ebenfalls.
Die neuen Einstellungen verbessern die Sicherheit von S3 Buckets deutlich und helfen dabei, versehentliche Datenlecks in S3 in Zukunft zu verhindern. Trotzdem wird es wahrscheinlich auch weiterhin zu fehlerhaften Konfigurationen und in der Folge zu Datendiebstählen kommen. Das liegt unter anderem daran, dass manche Unternehmen alle Sicherheitsfunktionen deaktivieren, weil sie ihre Umgebungen zum Beispiel auf Fehler überprüfen oder anderweitig testen wollen, und danach dann schlicht vergessen, sie wieder scharf zu schalten. Trotzdem werden wir 2019 vermutlich einen deutlichen Rückgang bei Datendiebstählen aus S3 Buckets erleben.