Best Practices zum Schutz von AWS RDS und anderen Cloud-Datenbanken
Der Relational Database Service von AWS kann dabei helfen, eine Vielzahl von Cloud-Speichervorgängen zu rationalisieren, die Aufrechterhaltung der Sicherheit erfordert jedoch eine gewisse Aufmerksamkeit seitens des Benutzers. Hier sind einige Best Practices für die Verwendung von RDS.
Es ist keine Überraschung, dass Unternehmen zunehmend Cloud-native Dienste nutzen, auch für die Datenspeicherung. Cloud-Speicher bietet enorme Vorteile wie Replikation, geografische Ausfallsicherheit und das Potenzial für Kostensenkung und verbesserte Effizienz.
Der Relational Database Service (RDS) von Amazon Web Services (AWS) ist einer der beliebtesten Cloud-Datenbank- und Speicherdienste. Auf hoher Ebene optimiert RDS die Einrichtung, den Betrieb und die Skalierung relationaler Datenbanken in AWS, wie etwa MariaDB, Microsoft SQL Server, MySQL und andere. RDS nutzt, wie jedes andere AWS- oder Cloud-Service-Angebot, das Modell der geteilten Verantwortung. Das bedeutet, dass der Cloud-Service-Provider (CSP) – in diesem Fall AWS – für den Schutz der zugrunde liegenden Infrastruktur und Hosting-Umgebungen verantwortlich ist und die Verbraucher für ihren Anteil an RDS verantwortlich sind, der das Betriebssystem, die Konfigurationen und Architekturüberlegungen umfasst.
Die Nichtberücksichtigung des Verbraucheranteils an der RDS-Verantwortung kann zu Datenschutzverletzungen in der Cloud führen, von denen wir viele gesehen haben. Zu den Schlüsselbereichen gehören die Konfiguration des Zugriffs auf die Virtual Private Cloud (VPC), in der sich die Datenbankinstanz befindet, Richtlinien für das Anwendungsidentitäts- und Zugriffsmanagement (IAM) sowie Sicherheitsgruppen zur Steuerung des Netzwerkverkehrs und der Verschlüsselung. Wir werden einige dieser Bereiche im Folgenden besprechen, zusammen mit anderen, wie z. B. auch der Compliance.
Eine der ersten wichtigen Überlegungen ist die Authentifizierung oder die Art und Weise, wie Benutzer ihre Identität validieren, um auf RDS-Datenbankinstanzen zuzugreifen. Zu den Optionen gehören Passwörter, Kerberos und IAM-Datenbankauthentifizierung. Verbraucher müssen entscheiden, welche Authentifizierungsroute sie wählen und dann die entsprechenden Kontrollen wie Passwortkomplexität, MFA und IAM-Richtlinien implementieren.
In den Bereichen Datenschutz gehören zu den wichtigsten Überlegungen die Verwendung von Multifaktor-Authentifizierung sowie die Verwendung von SSL/TLS für die Kommunikation mit anderen Ressourcen und die Sicherstellung, dass Sie eine geeignete TLS-Version wie 1.2 verwenden. Zu den weiteren Empfehlungen von AWS gehört die Verwendung ihres Dienstes Macie, der dabei helfen kann, in S3 gespeicherte sensible Daten zu erkennen und zu sichern. Macie nutzt maschinelles Lernen (ML), um sensible Daten zu erkennen, eine interaktive Karte zu erstellen und sogar automatisch Ergebnisse zu generieren und diese an AWS-Dienste wie AWS Security Hub zu senden, damit anfällige Konfigurationen oder offengelegte Daten behoben werden können.
AWS bietet verschiedene Methoden zum Verschlüsseln von AWS RDS-Ressourcen, einschließlich der Verschlüsselung ruhender Daten in den zugrunde liegenden DB-Instances, automatisierten Backups, Lesereplikaten und Snapshots. Um dies zu ermöglichen, nutzt AWS seinen Key Management Service (KMS). Hier gibt es verschiedene Möglichkeiten, je nachdem, ob Sie die Verwaltungsverantwortung für die Schlüssel selbst behalten oder AWS-verwaltete Schlüssel verwenden möchten. Wenn Sie sich für kundenverwaltete Schlüssel entscheiden, können Sie Dinge wie Schlüsselrichtlinien und IAM-Richtlinien ändern, um eine detailliertere Zugriffskontrolle und Nutzungsbeschränkungen für die Schlüssel zu implementieren, z. B. die Einschränkung, wo Zugriffsanfragen auf die RDS-Instanz entstehen können.
Kunden können AWS CloudTrail auch nutzen, um die Verwendung von KMS-Schlüsseln zu prüfen und so potenziell böswilliges Verhalten oder den Missbrauch von Berechtigungen und Zugriff auf Daten zu erkennen. Für einen tieferen Einblick in die AWS-Verschlüsselung und die Verwendung von KMS bietet AWS ein Whitepaper zu Best Practices für den Key Management Service an.
Allerdings sind bei der Verschlüsselung von AWS RDS-Datenbankinstanzen einige wichtige Überlegungen zu berücksichtigen. Sie müssen die Datenbankinstanz zum Zeitpunkt der Erstellung verschlüsseln; Sie können es später nicht mehr verschlüsseln. Sie können die Verschlüsselung auch nicht deaktivieren, sobald sie aktiviert ist.
Organisationen sollten auch die Sicherung des Datenverkehrs zwischen dem RDS-Dienst und lokalen Clients und Anwendungen in Betracht ziehen, z. B. durch die Nutzung von AWS Site-to-Site VPN oder AWS Direct Connect, um sicherzustellen, dass der Datenverkehr nicht für Unbefugte zugänglich ist.
Wir alle haben die Schlagzeilen über die öffentliche Offenlegung von Cloud-Datenspeicher-Buckets oder -Instanzen gesehen. Hier kommen Funktionen wie AWS Security Groups ins Spiel. Sicherheitsgruppen helfen dabei, den Zugriff des Netzwerkverkehrs in und aus RDS-Instanzen zu kontrollieren. Glücklicherweise hat AWS den Ansatz gewählt, bei dem der Netzwerkzugriff standardmäßig deaktiviert ist und Benutzer in ihren Sicherheitsgruppen Regeln festlegen müssen, um Datenverkehr von bestimmten IP-Adressen oder -Bereichen zuzulassen. Auf diese Weise können Benutzer Konfigurationen implementieren, z. B. das Zulassen von Datenverkehr von ihren Anwendungsdiensten zur Backend-RDS-Datenbank.
AWS bietet ein nützliches Diagramm zur Visualisierung eines häufigen Szenarios, z. B. die Ausführung einer AWS RDS-Datenbankinstanz in einem privaten Subnetz (nicht öffentlich zugänglich) und die anschließende Ausführung eines Anwendungsdienstes auf einer EC2-Instanz in einem öffentlichen Subnetz mit Konnektivität zum Internet . Benutzer können Sicherheitsgruppen sowohl in der Web-App als auch in den Datenbankinstanzen implementieren und ändern, um den entsprechenden Netzwerkverkehrsfluss zu ermöglichen, um die Funktionalität zu erleichtern, aber auch unbefugten Zugriff und Risiken zu minimieren.
AWS RDS-Datenbankinstanz, die in einem privaten Subnetz ausgeführt wird
Eine weitere häufig zitierte Empfehlung besteht darin, die Verwendung eines „Jump-Hosts“ zu vermeiden, bei dem Entwickler oder Administratoren über etwas wie Port 22 eine Verbindung zu einem Host in einem öffentlichen Subnetz herstellen und dann von diesem zur Backend-RDS-Instanz „springen“ können läuft in einem privaten Subnetz. Allerdings haben Jump-Hosts, wie beispielsweise in diesem AWS-Blog angemerkt, Opfer von Angriffen wie IP-Spoofing und anderen Methoden werden können.
Verwendung eines Jump-Hosts
Stattdessen können Benutzer AWS Sessions Manager verwenden, um auf die Verwendung eines Jump-Hosts zu verzichten und dennoch einen sicheren Zugang des Netzwerkverkehrs zur RDS-Instanz zu ermöglichen.
Verwenden von AWS Sessions Manager
AWS gibt eine Reihe weiterer wichtiger Sicherheits-Best-Practice-Empfehlungen für Verbraucher, die AWS RDS als Teil ihrer Cloud-Architektur verwenden. Dazu gehören Aktivitäten wie die Erstellung individueller Benutzerkonten für jede Person, die auf die AWS RDS-Ressourcen zugreift, und die Nichtverwendung von AWS-Root-Anmeldeinformationen zur Verwaltung von RDS. Dies ist von entscheidender Bedeutung, da es sich um eine bewährte Sicherheitsmethode handelt, gemeinsame Konten zu vermeiden, und die Verwendung einzelner Konten eine detailliertere Zugriffskontrolle sowie Zuordnung aus Sicht der Protokollierung und Überwachung ermöglicht, sodass Sie wissen, wer was tut.
Eine weitere wichtige Empfehlung ist die Umsetzung des seit langem bewährten Ansatzes der am wenigsten zulässigen Zugangskontrolle, der mit dem Bestreben der Branche nach Zero Trust übereinstimmt. Dies bedeutet, dass den Konten nur die minimal erforderlichen Berechtigungen zur Erfüllung ihrer Aufgaben erteilt werden und nichts weiter. Allerdings kann es schwierig sein, Berechtigungen im großen Maßstab über große Benutzergruppen hinweg zu verwalten. Aus diesem Grund empfiehlt AWS auch die Verwendung von IAM-Gruppen zur Verwaltung von Berechtigungen für mehrere Benutzer, in denen Sie eine rollenbasierte Zugriffskontrolle implementieren können.
Auch wenn die obige Diskussion im Hinblick auf die Best Practices für die Sicherheit von AWS RDS bei weitem nicht erschöpfend ist, hilft sie dabei, das Gespräch auf wichtige Überlegungen bei der Nutzung des RDS-Dienstes zu lenken und wie Sie sicherstellen können, dass Ihre Daten und die Ihrer Kunden bei der Nutzung des Dienstes angemessen geschützt werden . Sie werden auch auf AWS-unabhängige Schlüsselthemen stoßen, die bei der Nutzung eines Cloud-Datenspeicherdienstes berücksichtigt werden sollten. Dazu gehören Dinge wie Identitäts- und Zugriffsmanagement (IAM), Netzwerkzugriffskontrolle, Verschlüsselung und mehr.
Indem Sie über die Nutzung von Cloud-Speicher aus der Perspektive dieser Bereiche nachdenken, können Sie sicherstellen, dass Sie die Vorteile von Cloud-Speicher und Datenbanken nutzen können, ohne dabei das Unternehmen zu gefährden.