Anterovium - Fotolia
Tipps und Best Practices für sichere Cloud-Datenbanken
Die großen Cloud Provider haben nicht nur unterschiedliche Angebote für verwaltete Datenbanken. Auch ihre Sicherheitsfunktionen unterscheiden sich. Wir geben einen Überblick.
Mehr Daten als jemals zuvor werden heutzutage in Cloud-basierten Datenspeichern abgelegt. Die großen Cloud Provider haben daher ein umfangreiches Angebot an unterschiedlichen Storage-Lösungen in ihr Portfolio aufgenommen. Die meisten Unternehmen entscheiden sich aber auch heute noch für herkömmliche Datenbanken. Weil diese aber häufig aktualisiert werden müssen, ist es sehr aufwendig, sich immer wieder mit den dafür erforderlichen Sicherheitsmaßnahmen zu beschäftigen.
Wenn sich ein Unternehmen daher für den Einsatz von Cloud-Datenbanken entscheidet, hat es im Prinzip zwei Möglichkeiten: Entweder wird eine eigene Datenbank in der Cloud betrieben oder es wird eine durch den ausgewählten Provider verwaltete Lösung gewählt.
Für Firmen, die eigene Datenbankserver in der Cloud nutzen wollen, gelten die auch On-Premises empfohlenen Schritte: Patchen, Zugriffe und Berechtigungen begrenzen sowie von der gewählten Lösung und dem zugrundeliegenden Betriebssystem abhängige Sicherheitsmaßnahmen ausführen, um die gespeicherten Daten vor Angreifern zu schützen.
Andere Firmen, die diese aufwendigen und verantwortungsvollen Aufgaben lieber einem erfahrenen Cloud-Anbieter überlassen wollen, stehen eine Reihe von Services zur Verfügung. Viele der Datenbankdienste sind standardmäßig bereits mit starken Sicherheitsfunktionen ausgestattet. Trotzdem bleiben in der Regel mehrere Bereiche, um die sich die Anwender selbst kümmern müssen. Die meisten Anbieter unterstützen sie aber bei Audits und beim Erfüllen der Compliance-Vorgaben. In Service-Level Agreements (SLAs) informieren sie zudem über die von ihnen garantierten minimalen Uptime- und Performance-Werte.
Lassen Sie uns daher im Folgenden einen Blick auf die wichtigsten Datenbankdienste in der Cloud und auf die für sie zur Verfügung stehenden Sicherheitskontrollen werfen. Danach gehen wir noch kurz auf mehrere bewährte Best Practices ein, die unabhängig vom ausgewählten Provider befolgt werden können, um Ihre in der Cloud gespeicherten Daten zu schützen.
Amazon DynamoDB
DynamoDB ist ein NoSQL-Dienst innerhalb von AWS (Amazon Web Services). Er ist mit einer Reihe von grundlegenden Sicherheitsfunktionen ausgestattet.
- Automatische Backups: Diese können mit einem spezifischen Template in AWS Data Pipeline durchgeführt werden. Dabei handelt es sich ebenfalls um einen Dienst zum Datenbankmanagement. Sowohl vollständige als auch inkrementelle Backups können für Disaster Recovery sowie Continuity genutzt werden.
- Automatische AES-Verschlüsselung in 256 Bit: DynamoDB ist der erste AWS-Dienst, der Daten automatisch verschlüsselt.
- Berechtigungen für AWS Identity and Access Management (IAM): Mit diesen Berechtigungen wird kontrolliert, wer die DynamoDB-Services und die zugehörigen APIs (Application Programming Interfaces) nutzen darf. Sie können auch für Elemente (Zeilen) oder Attribute (Spalten) vergeben werden, so dass eine sehr fein abgestufte Zugangskontrolle mit ihnen möglich ist.
- Kryptographisch unterschriebene Anfragen: Requests innerhalb von DynamoDB müssen mit einer gültigen HMAC-SHA-256-Signatur unterschrieben worden sein, damit ein Zugriff auf gespeicherte Daten möglich ist. Andernfalls wird die Anfrage zurückgewiesen.
- Mit SSL verschlüsselte Endpunkte: DynamoDB kann über mit SSL (Secure Sockets Layer) verschlüsselte Endpunkte erreicht werden.
Amazon RDS
Der Amazon Relational Database Service (Amazon RDS) ist ein eher traditionell aufgebauter Datenbankdienst. Er unterstützt unter anderem MySQL, Oracle, SQL Server, Amazon Aurora, MariaDB sowie PostgreSQL. Amazon RDS bietet ebenfalls mehrere Sicherheitsfunktionen.
- Datenbank-Sicherheitsgruppen: Ähnlich wie bereits bei Sicherheitsgruppen für AWS handelt es hier um Kontrollmöglichkeiten, mit denen sich zum Beispiel ganze IP-Ranges oder bereits vorhandene Gruppen autorisieren lassen. Dadurch sind nur noch Zugriffe auf tatsächlich benötigte Datenbankschnittstellen erlaubt. Ein Neustart bereits laufender Datenbankinstanzen ist nicht nötig.
- Berechtigungen für das IAM: Diese lassen sich zum Beispiel nutzen, um zu kontrollieren, welche Aktionen Anwender innerhalb von Amazon RDS durchführen dürfen.
- Verschlüsselung: Amazon RDS unterstützt Transparent Data Encryption (TDE) für SQL Server und Oracle. Bei MySQL muss die Verschlüsselung dagegen durch die Cloud-Clients in ihren jeweiligen Anwendungen aktiviert werden.
- SSL-Verbindungen: Die Verschlüsselung mit SSL kann zwischen RDS-Instanzen und Anwendungen eingerichtet werden, die an anderen Stellen innerhalb von AWS eingerichtet wurden.
- Automatische Backups und Patches: Amazon RDS führt standardmäßig automatische Datensicherungen durch und schließt Sicherheitslücken durch das Installieren neuer Patches.
Andere Angebote von AWS, Microsoft Azure und der Google Cloud Platform
Amazon RedShift kann nicht nur mit sehr großen Datenmengen im Petabyte-Maßstab umgehen. Der Dienst bietet auch Funktionen wie Logging, automatische Patches, eine starke Verschlüsselung der Daten mit einem mehrstufigen Schlüsselmanagement sowie die Verschlüsselung der Datenübertragung im Netzwerk.
Microsoft Azure verfügt ebenfalls über einige Datenbankdienste in der Cloud. So ist etwa Azure Tables im Grunde nichts anders als ein Speicherort für NoSQL-Daten. Der Dienst, der zum Cosmos Database Service von Microsoft gehört, unterstützt die automatische Verschlüsselung der gespeicherten Daten. Außerdem bietet er umfangreiche Funktionen zur Nutzung Rollen-basierter Zugriffe.
Azure umfasst darüber hinaus Fähigkeiten im Bereich SQL Server PaaS (Platform-as-a-Service) sowie zahlreiche weitere Möglichkeiten zum Schutz der hinterlegten Daten. Die Verschlüsselung von Spalten und Zellen kann etwa mit Transact-SQL, dem öffentlichen Schlüssel eines Zertifikats oder einer mit 3DES erstellen Passphrase aktiviert werden. Transact-SQL enthält Funktionen zur Verschlüsselung von Daten mit sowohl symmetrischen als auch asymmetrischen Schlüsseln. Der ebenfalls verfügbare Dienst Azure SQL bietet einen speziellen „Immer verschlüsselt“-Modus, bei dem komplette Datenspalten automatisch innerhalb von Anwendungen verschlüsselt werden, bevor sie in der eigentlichen Datenbank landen.
Auch Google hat in seiner Google Cloud Platform (GCP) ein entsprechendes Angebot. Es heißt Cloud SQL und ist ein gemanagter Datenbankdienst für PostgreSQL, MySQL und SQL Server, der ebenfalls die automatische Verschlüsselung der gespeicherten Daten und sichere Verbindungen unterstützt. Dazu kommt die gemanagte Lösung GCP Cloud Spanner, die eine Verwaltung der Schlüssel durch den Kunden ermöglicht. Sie verfügt über Funktionen zum Logging, Berechtigungsmanagement und zur Verschlüsselung der verschiedenen Datenebenen. GCP Cloud Bigtable ist eine NoSQL-Datenbank, mit einer durch den Kunden verwaltbaren Verschlüsselung, Logging sowie starkem Zugriffsmanagement.
Best Security Practices für Datenbanken in der Cloud
Unabhängig davon, für welchen Datenbankdienst Sie sich entscheiden, sollten Sie die folgenden Sicherheitsmaßnahmen beherzigen:
- Ändern Sie alle standardmäßig vergebenden Zugangsdaten zu Ihren Cloud-Datenbanken und zu allen damit zusammenhängenden Diensten,
- setzen Sie immer, sofern möglich, von Ihnen selbst verwaltete Verschlüsselungsschlüssel ein,
- minimieren Sie die vergebenen Zugriffsrechte mit einem sorgsam aufgebauten Berechtigungsmanagement (IAM, Identity and Access Management) für Ihre Cloud-Umgebung,
- aktivieren Sie eine umfassende Protokollierung aller Aktivitäten in Ihren Datenbanken und
- verwenden Sie nur verschlüsselte Zugriffe auf Ihre Datenbanken.