Übersicht über Datenbanksicherheit in Azure Cosmos DB for MongoDB vCore
GILT FÜR: MongoDB-vCore
Dieser Artikel erläutert bewährte Methoden und wichtige Funktionen von Azure Cosmos DB for MongoDB vCore für die Datenbanksicherheit, mit denen Sie Sicherheitsverletzungen in einer Datenbank verhindern bzw. erkennen und darauf reagieren können.
Neuerungen bei der Sicherheit von Azure Cosmos DB for MongoDB vCore
Die Verschlüsselung ruhender Daten ist nun für Dokumente und Sicherungen, die in Azure Cosmos DB for MongoDB vCore gespeichert sind, in den meisten Azure-Regionen verfügbar. Die Verschlüsselung ruhender Daten wird automatisch auf neue und bestehende Kunden in diesen Regionen angewendet. Es ist keine Konfiguration erforderlich. Sie können die gleichen Vorteile im Hinblick auf Latenz, Durchsatz, Verfügbarkeit und Funktionalität wie zuvor nutzen und können außerdem auf die Sicherheit Ihrer verschlüsselten ruhenden Daten vertrauen. In Ihrem Azure Cosmos DB for MongoDB vCore-Cluster gespeicherte Daten werden automatisch und nahtlos mit Schlüsseln verschlüsselt, die von Microsoft mit dienstseitig verwalteten Schlüsseln verwaltet werden.
Wie schütze ich meine Datenbank?
Für die Sicherheit der Daten sind Sie, Ihr Kunde und Ihr Datenbankanbieter gemeinsam verantwortlich. Der Umfang Ihres Verantwortungsbereichs kann je nach Datenbankanbieter unterschiedlich ausfallen. Wenn Sie sich für eine lokale Lösung entschieden haben, müssen Sie weitgehend selbst für die Sicherheit sorgen – vom Endpunktschutz bis hin zur physischen Sicherung Ihrer Hardware. Das ist keine leichte Aufgabe. Wenn Sie einen PaaS-basierten Clouddatenbankanbieter wie Azure Cosmos DB ins Boot holen, verkleinert sich Ihr Verantwortungsbereich erheblich. Die folgende Abbildung – entnommen aus dem Microsoft-Whitepaper Shared Responsibilities for Cloud Computing (Gemeinsame Verantwortung für das Cloud Computing) – zeigt, wie viel weniger Verantwortung auf Ihren Schultern liegt, wenn Sie mit einem PaaS-Anbieter wie Azure Cosmos DB arbeiten.
Das obige Diagramm zeigt allgemeine Sicherheitskomponenten in der Cloud. Um welche Elemente müssen Sie sich aber im Speziellen für Ihre Datenbanklösung kümmern? Und wie vergleichen Sie Lösungen sinnvoll miteinander?
Wir empfehlen die folgende Checkliste mit Anforderungen, anhand derer Sie Datenbanksysteme vergleichen können:
- Netzwerksicherheit und Firewalleinstellungen
- Benutzerauthentifizierung und differenzierte Benutzersteuerung
- Möglichkeit zum globalen Replizieren von Daten bei regionalen Ausfällen
- Möglichkeit zum Durchführen eines Failovers zwischen Rechenzentren
- Lokale Datenreplikation innerhalb eines Rechenzentrums
- Automatische Datensicherungen
- Wiederherstellung gelöschter Daten aus Sicherungskopien
- Schützen und Isolieren von vertraulichen Daten
- Überwachen auf Angriffe
- Reagieren auf Angriffe
- Möglichkeit, Daten per Geofencing auf einen geografischen Raum einzugrenzen, um Anforderungen an die Datengovernance zu erfüllen
- Physischer Schutz von Servern in geschützten Rechenzentren
- Zertifizierungen
Folgendes mag auf der Hand liegen, aber umfassende Verletzungen der Datenbanksicherheit in jüngster Zeit erinnern uns daran, wie wichtig diese vermeintlich einfachen Anforderungen sind:
- Gepatchte Server, die immer auf dem neuesten Stand gehalten werden
- Standardmäßig HTTPS sowie TLS-Verschlüsselung
- Administratorkonten mit sicheren Kennwörtern
Wie schützt Azure Cosmos DB meine Datenbank?
Azure Cosmos DB for MongoDB vCore erfüllt nahtlos alle Sicherheitsanforderungen.
Betrachten wir die Anforderungen nun im Detail.
Sicherheitsanforderung | Sicherheitsansatz von Azure Cosmos DB |
---|---|
Netzwerksicherheit | Mithilfe des privaten Zugriffs, der über die ausgereifte Private Link-Technologie implementiert wird, können Sie den Zugriff auf Cluster für Ressourcen in virtuellen Azure-Netzwerken bereitstellen. Mithilfe des öffentlichen Zugriffs können Sie den Zugriff auf Cluster für einen definierten Satz von öffentlichen IP-Adressen freigeben. Privater und öffentlicher Zugriff können miteinander kombiniert und jederzeit aktiviert oder deaktiviert werden. Standardkonfiguration: Azure Cosmos DB for MongoDB vCore-Cluster werden standardmäßig gesperrt erstellt. Für den Zugriff auf den Cluster sollten die Netzwerkeinstellungen aktualisiert werden, um den privaten und/oder öffentlichen Zugriff auf Cluster während der Clustererstellung oder danach zu aktivieren. Privater Zugriff: Mit aktiviertem privaten Zugriff kann ein privater Endpunkt für den privaten Zugriff auf Cluster im virtuellen Azure-Netzwerk erstellt werden. Der private Endpunkt wird im Subnetz des angegebenen virtuellen Netzwerks erstellt. Nach der Erstellung sind alle Funktionen des virtuellen Azure-Netzwerks für den Cluster verfügbar, einschließlich Peering lokaler und globaler virtueller Netzwerke, Zugriff auf private lokale Umgebungen, Filtern und Routing von Netzwerkdatenverkehr usw. Öffentlicher Zugriff: Die Verwendung einer IP-Firewall ist die erste Schutzebene, um Ihre Datenbank zu sichern. Azure Cosmos DB for MongoDB vCore unterstützt die richtliniengesteuerte IP-basierte Zugriffssteuerungen zur Unterstützung der Firewall für eingehende Verbindungen. Die IP-basierten Zugriffssteuerungen ähneln den Firewallregeln herkömmlicher Datenbanksysteme. Sie werden jedoch so erweitert, dass der Zugriff auf einen Azure Cosmos DB for MongoDB vCore-Cluster nur einer genehmigten Gruppe von Computern oder Clouddiensten vorbehalten ist. Alle Anforderungen von Computern, die sich nicht auf dieser Zulassungsliste befinden, werden von Azure Cosmos DB for MongoDB vCore blockiert. Anforderungen von zugelassenen Computern und Clouddiensten müssen den Authentifizierungsprozess durchlaufen, um Zugriff auf die Ressourcen zu erhalten. |
Lokale Replikation | Selbst innerhalb einer einzelnen Region repliziert Azure Cosmos DB for MongoDB vCore die Daten auf Speicherebene, wobei stets 3 synchrone Replikate jedes physischen Shards transparent beibehalten werden. Hochverfügbarkeitscluster verfügen über eine weitere Replikationsebene zwischen jedem Paar aus physischem Primär- und Standbyshard. Die Hochverfügbarkeitsreplikation ist synchron und verhindert Datenverluste bei einem Failover, wodurch eine SLA mit 99,99 % monatlicher Verfügbarkeit für die Konfiguration mit einer einzelnen Region garantiert wird. |
Globale Replikation | Azure Cosmos DB for MongoDB vCore ermöglicht die regionsübergreifende Replikation, mit der Sie Ihre Daten in eine andere Azure-Region replizieren können. Mit der globalen Replikation können Sie global skalieren und für niedrige Latenzen beim Zugriff auf Ihre Daten auf der ganzen Welt sorgen. Im Kontext der Sicherheit schützt die globale Replikation Ihre Daten vor seltenen regionalen Ausfällen. Bei einem regionsübergreifenden Replikatcluster ist eine Kopie Ihrer Daten immer in einer anderen Region vorhanden. In Kombination mit hoher Verfügbarkeit garantiert das Replikat in einer anderen Region eine SLA mit 99,995 % monatlicher Verfügbarkeit für die Konfiguration mit mehreren Regionen. |
Isolation per Datenbank | Azure Cosmos DB for MongoDB vCore-Datenbanken werden in ihren eigenen dedizierten Ressourcen gehostet. Dies bedeutet, dass jeder Cluster seinen eigenen dedizierten Knoten (als physischer Shard bezeichnet) oder einige wenige Knoten in einer Konfiguration mit mehreren Shards erhält. Jeder physische Shard verfügt über einen eigenen ihm angefügten Compute- und Remotespeicher. Es gibt keine gemeinsame Nutzung der Infrastruktur zwischen Clustern, wodurch eine zusätzliche Ebene physischer und logischer Isolation für Ihre Datenbank bereitgestellt wird. |
Automatische Clustersicherungen | Die Sicherung für Azure Cosmos DB for MongoDB-vCore-Cluster ist bei der Clustererstellung aktiviert, erfolgt voll automatisch und kann nicht deaktiviert werden. Innerhalb des 35-tägigen Aufbewahrungszeitraums der Sicherungen kann eine Wiederherstellung zu einem beliebigen Zeitstempel vorgenommen werden. |
Wiederherstellen gelöschter Daten | Automatische Onlinesicherungen können zum Wiederherstellen von Daten eines Clusters verwendet werden, die versehentlich gelöscht wurden. Dies ist bis zu ca. 7 Tage nach dem Löschen möglich. |
HTTPS-/SSL-/TLS-Verschlüsselung | Die gesamte Netzwerkkommunikation mit Azure Cosmos DB for MongoDB vCore-Clustern wird verschlüsselt. Nur Verbindungen über einen MongoDB-Client werden akzeptiert, und die Verschlüsselung wird immer erzwungen. Wenn Daten in Azure Cosmos DB for MongoDB vCore geschrieben werden, werden sie während der Übertragung verschlüsselt. Die Datenverschlüsselung unterstützt TLS bis einschließlich Ebene 1.3. |
Verschlüsselung von ruhenden Daten | Azure Cosmos DB for MongoDB vCore-Daten, einschließlich aller Sicherungen, werden auf dem Datenträger verschlüsselt (einschließlich der temporären Dateien). Der Dienst verwendet das in der Azure Storage-Verschlüsselung enthaltene AES-256-Bit-Verschlüsselungsverfahren, und die Schlüssel werden vom System verwaltet. Die Speicherverschlüsselung ist immer aktiviert und kann nicht deaktiviert werden. |
Überwachen auf Angriffe | Mithilfe von Überwachungsprotokollierung und Aktivitätsprotokollen können Sie Ihre Datenbank auf normale und ungewöhnliche Aktivitäten überwachen. Sie können anzeigen, welche Vorgänge auf Ihre Ressourcen angewendet wurden. Diese Daten beinhalten unter anderem, wer den jeweiligen Vorgang initiiert hat, wann der Vorgang ausgeführt wurde und welchen Status der Vorgang hat. |
Reagieren auf Angriffe | Nachdem Sie den Azure-Support kontaktiert haben, um einen möglichen Angriff zu melden, wird ein aus fünf Schritten bestehender Incident Response-Prozess zur Reaktion auf den Vorfall angestoßen. Ziel des fünfstufigen Prozesses ist die Wiederherstellung der normalen Dienstsicherheit und Betriebsabläufe. Der fünfstufige Prozess stellt die Dienste so schnell wie möglich wieder her, nachdem ein Problem entdeckt und eine Untersuchung eingeleitet wurde. Weitere Informationen dazu finden Sie unter Gemeinsame Verantwortung in der Cloud. |
Geschützte Einrichtungen | Daten in Azure Cosmos DB for MongoDB vCore werden in den geschützten Rechenzentren von Azure gespeichert. Weitere Informationen erhalten Sie unter Globale Rechenzentren von Microsoft. |
Gepatchte Server | Mit Azure Cosmos DB for MongoDB vCore müssen Sie keine Softwareupdates und Clusterpatches verwalten – das wird automatisch für Sie erledigt. |
Administratorkonten mit sicheren Kennwörtern | Es ist kaum zu glauben, dass diese Anforderung überhaupt erwähnt werden muss, aber im Gegensatz zu einigen unserer Wettbewerber ist es in Azure Cosmos DB for MongoDB vCore unmöglich, ein Administratorkonto ohne Kennwort einzurichten. Das Kennwort sollte mindestens 8 Zeichen lang sein und Groß- und Kleinbuchstaben (in Englisch), Zahlen sowie nicht alphanumerische Zeichen enthalten. Die Sicherheit über die auf TLS-Geheimnissen basierende Authentifizierung ist standardmäßig integriert. |
Sekundäre Konten | Für einen detaillierteren Zugriff können sekundäre Benutzerkonten in Clustern mit Lese-/Schreibzugriff oder schreibgeschützten Zugriffsberechtigungen für die Datenbanken des Clusters erstellt werden. |
Zertifizierungen für Sicherheit und Datenschutz | Die neueste Liste mit Zertifizierungen finden Sie unter Azure-Compliance und im aktuellen Dokument zur Azure-Compliance mit allen Azure-Zertifizierungen, einschließlich Azure Cosmos DB. |
Der folgende Screenshot zeigt, wie Sie Überwachungs- und Aktivitätsprotokolle zum Überwachen Ihres Kontos verwenden können:
Optionen für die Netzwerksicherheit
In diesem Abschnitt werden verschiedene Optionen für die Netzwerksicherheit beschrieben, die Sie für Ihren Cluster konfigurieren können. Sie können Optionen für den öffentlichen und privaten Zugriff in Ihrem Cluster kombinieren. Sie können die Netzwerkkonfigurationseinstellungen jederzeit ändern.
Kein Zugriff
Kein Zugriff ist die Standardoption für einen neu erstellten Cluster, wenn während der Clusterbereitstellung keine Firewallregeln oder privaten Endpunkte für den öffentlichen bzw. privaten Zugriff erstellt wurden. In diesem Fall können keine Computer, weder innerhalb noch außerhalb von Azure, eine Verbindung mit den Datenbankknoten herstellen.
Öffentlicher IP-Zugriff mit Firewall
Mit der Option für öffentlichen Zugriff wird dem Cluster eine öffentliche IP-Adresse zugewiesen, und der Zugriff auf den Cluster wird durch eine Firewall geschützt. Wenn in einer der Firewallregeln für den Cluster eine öffentliche IP-Adresse nicht angegeben ist, werden Anforderungen von dieser IP-Adresse von der Firewall abgelehnt und erreichen keine Datenbank.
Privater Zugriff
Bei der Option für den privaten Zugriff wird für den Cluster ein privater Endpunkt erstellt. Dieser private Endpunkt ist einem virtuellen Azure-Netzwerk (VNet) und einem Subnetz innerhalb dieses VNet zugeordnet. Ein privater Endpunkt ermöglicht Hosts im zugehörigen virtuellen Netzwerk und VNets mit Peering den Zugriff auf den Azure Cosmos DB for MongoDB vCore-Cluster.
Firewallübersicht
Azure Cosmos DB for MongoDB vCore verwendet eine Firewall auf Clusterebene, um den gesamten Zugriff auf Ihren Cluster zu verhindern, bis Sie angeben, welche Computer (IP-Adressen) dazu berechtigt sind. Die Firewall gewährt den Clusterzugriff auf der Grundlage der Ursprungs-IP-Adresse der jeweiligen Anforderung. Zum Konfigurieren der Firewall erstellen Sie Firewallregeln, die Bereiche zulässiger IP-Adressen festlegen.
Firewallregeln ermöglichen Clients den Zugriff auf Ihren Cluster und alle darin enthaltenen Datenbanken. Firewallregeln auf Clusterebene können mithilfe des Azure-Portals oder programmgesteuert mit Azure-Tools wie der Azure CLI konfiguriert werden.
Standardmäßig blockiert die Firewall den gesamten Zugriff auf den Cluster. Damit Sie Ihren Cluster über einen anderen Computer verwenden können, müssen Sie eine oder mehrere Firewallregeln auf Clusterebene angeben, um Zugriff auf Ihren Cluster zu ermöglichen. Legen Sie mithilfe der Firewallregeln fest, welche IP-Adressbereiche aus dem Internet zugelassen werden sollen. Firewallregeln wirken sich nicht auf den Zugriff auf die Website des Azure-Portals aus. Verbindungsversuche aus dem Internet und von Azure müssen zunächst die Firewall durchlaufen, bevor sie Ihre Datenbanken erreichen.