AWS S3 ist der grundlegende Speicherbaustein der Cloud. Doch bei Fehlkonfiguration werden kritische Daten für das ganze Internet offen. Wir haben oft Nachrichten mit der Überschrift „offener S3-Bucket gefunden“ gehört. In diesem Beitrag konzentrieren wir uns darauf, wie Sicherheit hergestellt wird.
01. Standardmäßig geschlossen
Seit 2018 macht AWS neu erstellte Buckets standardmäßig für den öffentlichen Zugriff gesperrt. Die Einstellung „Block Public Access“ sollte auf Bucket-Ebene und auf Kontoebene aktiv sein.
02. IAM und Bucket Policy
Der Zugriff wird in zwei Schichten kontrolliert:
- IAM Policy: benutzer-/rollenbasierte Berechtigung
- Bucket Policy: die eigenen Regeln des Buckets
Kollidieren beide, gilt die restriktivere.
03. Verschlüsselung
Für Data at Rest SSE-S3, SSE-KMS oder SSE-C. Am verbreitetsten ist SSE-KMS: Verschlüsselung mit den KMS-Schlüsseln von AWS. Die Schlüsselrotation lässt sich automatisch einstellen.
04. Versioning und Object Lock
Versioning: gelöschte Dateien werden nicht wirklich gelöscht, frühere Versionen bleiben erhalten. Object Lock: der „WORM“-Modus (Write Once, Read Many), der das Löschen für einen bestimmten Zeitraum verhindert.
05. Access Logs und GuardDuty
Die Protokollierung der S3-Zugriffe sollte aktiv sein. GuardDuty erkennt anomale Zugriffsmuster und warnt (zum Beispiel den Download von 10.000 Dateien um 3 Uhr nachts).