Sicherheit ist in der heutigen Cloud-First-Umgebung von entscheidender Bedeutung. Cloud-Dienste werden oft aktiviert, um ein Problem schnell zu lösen, aber niemand überprüft, ob die Best Practices bezüglich der Sicherheit befolgt werden. Insbesondere Cloudspeicher wie Azure Blob Storage werden häufig falsch konfiguriert.
In diesem Artikel erfahren Sie mehr über die Sicherheitsfunktionen, die Ihnen bei Azure Blob Storage zur Verfügung stehen.
Azure Blob Storage ist eine Cloud-optimierte Speicherlösung für unstrukturierte (Datei-)Daten. Microsoft hat diesen Dienst für die Speicherung großer Mengen unstrukturierter Daten konzipiert, die nicht in Datenbanken gespeichert werden.
Beispiele für unstrukturierte Daten sind Text- und Binärdaten wie Bilder, Videos, Fotos und Dokumente. Das Wort „Blob“ ist ein branchenweit verwendetes Akronym für Binary Large OBject.
Azure Blob Storage ist eine Komponente eines Azure-Speicherkontos. Speicherkonten bieten auch Speicherplatz für andere Datenobjekte wie Dateifreigaben, Warteschlangen, Tabellen und Festplatten. Sie organisieren eine Reihe von BLOBs in Containern, ähnlich wie ein Directory oder ein Ordner in einem Dateisystem. Speicherkonten können eine unbegrenzte Anzahl von Containern enthalten, Container eine unbegrenzte Anzahl von BLOBs.
Die Sicherung des Zugriffs auf den Blobspeicher ist ein wesentlicher Schritt für jeden Azure-Administrator oder -Techniker. In den folgenden Abschnitten werden die verfügbaren Sicherheitsfunktionen beschrieben, mit denen Sie den Blobspeicher so konfigurieren können, dass er Ihren Anforderungen entspricht.
Azure Storage verschlüsselt Ihre Daten mit serverseitiger Verschlüsselung. Diese Verschlüsselungsmethode schützt Ihre Daten und hilft Ihnen, alle organisatorischen Sicherheits- und Compliance-Anforderungen zu erfüllen. Azure aktiviert automatisch die Verschlüsselung für alle Speicherkonten. Diese kann nicht deaktiviert werden. Speicherkonten unterstützen die Verschlüsselung auf allen Leistungsebenen, Zugriffsebenen und redundanten Kopien.
Standardmäßig verschlüsseln die Speicherkonten die Daten mit von Microsoft verwalteten Schlüsseln. Sie können diese Schlüssel weiterhin verwenden oder die Datenverschlüsselung mit Ihren eigenen Schlüsseln verwalten.
Wenn Sie sich für die Verwendung eigener Verschlüsselungsschlüssel entscheiden, haben Sie zwei Möglichkeiten. Sie können eine der beiden Arten der Schlüsselverwaltung verwenden oder beide.
Die folgende Tabelle vergleicht die Optionen zur Schlüsselverwaltung für die Azure Storage-Verschlüsselung.
Art der Schlüsselverwaltung | Von Microsoft verwaltete Schlüssel | Kundenverwaltete Schlüssel | Vom Kunden bereitgestellte Schlüssel |
Ver-/Entschlüsselung | Azure | Azure | Azure |
Von Azure Storage unterstützte Dienste | Alle | Blob, Azure-Dateien | Blob |
Schlüsselspeicher | Microsoft-Schlüsselspeicher | Azure Key Vault | Eigener Schlüsselspeicher des Kunden |
Verantwortung für Schlüsselrotation | Microsoft | Kunde | Kunde |
Schlüsselkontrolle | Microsoft | Kunde | Kunde |
So konfigurieren Sie ein Speicherkonto für die Verwendung eines kundenverwalteten Schlüssels, der in einem Key Vault gespeichert ist:
Speicherkonten verfügen über zwei 512-Bit-Zugriffsschlüssel, mit denen der Zugriff auf Speicherkontodaten autorisiert wird. Bei diesen Kontoschlüsseln handelt es sich im Grunde genommen um Root-Zugriff auf das Speicherkonto. Sie sollten die Kontoschlüssel sparsam verwenden und wie ein hochsensibles Passwort behandeln. Microsoft empfiehlt, Zugriffsschlüssel in einem Azure Key Vault zu speichern und verfügbare Befehle und APIs zu verwenden, um über den Key Vault auf die Kontoschlüssel zuzugreifen.
Um Ihre aktuellen Zugriffsschlüssel anzuzeigen, navigieren Sie zu Speicherkonto. Wählen Sie unter Sicherheit + Netzwerk Zugriffsschlüssel aus. Hier können Sie Schlüssel1 und Schlüssel2 für das Speicherkonto anzeigen, indem Sie das Symbol Schlüssel anzeigen auswählen. Wenn der Schlüsselwert nicht mehr verborgen ist, können Sie den Schlüsselwert in die Zwischenablage kopieren.
Jeder Schlüssel hat auch die Möglichkeit, zu rotieren oder einen neuen Schlüssel zu erstellen. Microsoft empfiehlt, die Schlüssel regelmäßig zu wechseln, bzw. dann, wenn Sie vermuten, dass der Schlüssel kompromittiert wurde. Sie sollten es vermeiden, Schlüssel großzügig an andere Benutzer weiterzugeben, in einem Skript oder einer Anwendung fest zu programmieren oder im Klartext zu speichern.
Shared Access Signatures (SAS) sind ähnlich wie Zugriffsschlüssel. Sie ermöglichen den Zugriff auf Speicherkonten, Ihre Kontrolle über diesen Zugriff ist jedoch präziser. Sie können kontrollieren, auf welche Ressourcen sie Zugriff haben, über welche Berechtigungen sie für diese Ressourcen verfügen und wie lange diese Zugriffsrechte bestehen.
Azure Storage unterstützt drei Arten von Shared Access Signatures:
Shared Access Signatures funktionieren über einen signierten URI, der ein Token und eine Reihe von Abfrageparametern enthält. Das Token bestimmt, auf welche Ressourcen der Client zugreifen kann. So erstellen Sie Shared Access Signatures:
Neben Zugriffsschlüsseln und Shared Access Signature, unterstützt Azure Storage außerdem Azure Active Directory (AD), um Client-Anfragen an den Speicher zu autorisieren. Sie können Role Based Access Control (RBAC) verwenden, um einem Benutzer, einer Gruppe oder einem Anwendungsdienstprinzipal Berechtigungen zu erteilen. Beispiele für Rollen sind:
Azure AD gibt bei der Authentifizierung des Clients ein OAuth 2.0-Token zurück. Der Client verwendet dieses Token, um auf den Blobspeicher zuzugreifen.
Die Verwendung von Azure AD zur Autorisierung von Anfragen an Azure Blob Storage ist Zugriffsschlüsseln und SAS gegenüber zu bevorzugen. Clients verwenden ihre vorhandenen Konten und Sie stellen sicher, dass sie mit den mindestens erforderlichen Berechtigungen auf den Blobspeicher zugreifen. Die Verwendung von Azure AD verhindert auch, dass gemeinsame Zugriffsschlüssel und SAS-URIs in die falschen Hände geraten.
Um mehr über falsch konfigurierte Cloud-Berechtigungen zu erfahren, lesen Sie den SaaS-Risikobericht 2021 von Varonis, den Sie hier finden hier!
So gewähren Sie einem Benutzer oder Client Zugriff über Azure AD:
Container und Blobs in Azure Storage sind eine großartige Möglichkeit, große Datenmengen zu hosten und gemeinsam zu nutzen. Standardmäßig ist der öffentliche Zugriff auf Blobdaten deaktiviert und verboten. Microsoft empfiehlt, den öffentlichen Zugriff auf ein Speicherkonto zu deaktivieren, sofern Sie ihn nicht ausdrücklich benötigen.
Mehrere Vorfälle von Datenlecks sind auf falsch konfigurierte Cloud-Speicherkonten bei Microsoft, AWS und Google zurückzuführen.
Learn how to set up and secure an AWS S3 bucket in Jeff Petters How to Use AWS S3 Securely: Setup Guide.
Wenn Sie den öffentlichen Blobzugriff für das Speicherkonto deaktivieren, lehnt Azure anonyme Anfragen an das Konto ab. Lassen Sie den öffentlichen Zugriff nicht zu, können Sie diesen auch nicht für Container innerhalb des Kontos aktivieren. Wenn Ihr Speicherkonto verschiedene Container enthält, von denen einige öffentlichen Zugriff erfordern und andere nicht, empfiehlt Microsoft, öffentliche Container in ein separates Speicherkonto mit öffentlichem Zugriff zu verschieben.
Um Ihre Konfiguration für den öffentlichen Blobzugriff zu überprüfen, navigieren Sie zu Einstellungen und wählen Sie im Speicherkonto Konfiguration. Suchen Sie nach der Einstellung Öffentlichen Blobzugriff erlauben und stellen Sie sicher, dass sie auf Deaktiviert gesetzt ist.
Azure-Speicherkonten verfügen über zusätzliche Einstellungen, um eine sichere Kommunikation mit Client-Anwendungen sicherzustellen. Sie können diese Einstellungen finden, indem Sie zu Einstellungen navigieren und dann Konfiguration auswählen.
Azure-Speicherkonten verfügen über mehrere Netzwerkkomponenten, die der Sicherung des Zugriffs dienen. Eine davon ist die Firewall. Diese besteht aus Netzwerkregeln, die festlegen, welche Netzwerkressourcen auf das Speicherkonto zugreifen können. Zu diesen Netzwerkressourcen gehören IP-Adressen, IP-Bereiche, Subnets in einem Azure Virtual Network (VNet) oder Ressourceninstanzen einiger Azure-Dienste.
Standardmäßig ist das Speicherkonto von allen Netzwerken aus zugänglich. Um diese Einstellung zu ändern, navigieren Sie zu Speicherkonto. Gehen Sie zu Sicherheit + Netzwerk und wählen Sie Netzwerk. Hier gibt es zwei Optionen: Alle Netzwerke und Ausgewählte Netzwerke.
Um den Zugriff auf bestimmte Netzwerke zu beschränken, wählen Sie die Optionsschaltfläche Ausgewählte Netzwerke. Hier können Sie ein vorhandenes virtuelles Netzwerk auswählen oder ein neues virtuelles Netzwerk erstellen, um es der Liste hinzuzufügen. Sie können auch eine IP-Adresse oder einen CIDR-Bereich hinzufügen, z. B. einen bestimmten Server oder Ihr firmeneigenes Netzwerk.
Schließlich können Sie Azure-Ressourceninstanzen angeben, die Zugriff auf das Speicherkonto haben. Azure-Ressourcen sind beispielsweise Server, Key Vaults und Datenfabriken.
Azure Blob Storage enthält viele Einstellungen und Funktionen zur Sicherung Ihrer Daten. Dieser Artikel hat nur einige der verfügbaren Optionen hervorgehoben. Der Microsoft Docs-Artikel Sicherheitsempfehlungen für Blob Storage bietet eine vollständige Liste mit Sicherheitseinstellungen und -optionen.