SEC08-BP01: Implementieren einer sicheren Schlüsselverwaltung - Säule „Sicherheit“

SEC08-BP01: Implementieren einer sicheren Schlüsselverwaltung

Eine sichere Schlüsselverwaltung umfasst die Speicherung, Rotation, Zugriffskontrolle und Überwachung von Schlüsseldaten, die zur Sicherung von Daten im Ruhezustand für Ihre Workloads erforderlich sind.

Gewünschtes Ergebnis: Ein skalierbarer, wiederholbarer und automatisierter Schlüsselverwaltungsmechanismus. Der Mechanismus sollte die Möglichkeit bieten, den Zugriff mit den geringsten Berechtigungen auf Schlüsseldaten zu erzwingen, und das richtige Gleichgewicht zwischen Schlüsselverfügbarkeit, Vertraulichkeit und Integrität bieten. Der Zugriff auf Schlüssel sollte überwacht werden und Schlüsseldaten sollten mit einem automatisierten Prozess rotiert werden. Schlüsseldaten sollten niemals für menschliche Identitäten zugänglich sein.

Typische Anti-Muster:

  • Personen haben Zugriff auf unverschlüsselte Schlüsseldaten.

  • Es werden benutzerdefinierte kryptografische Algorithmen erstellt.

  • Die Berechtigungen für den Zugriff auf Schlüsseldaten sind zu weit gefasst.

Vorteile der Nutzung dieser bewährten Methode: Indem Sie einen sicheren Mechanismus für die Schlüsselverwaltung für Ihren Workload einrichten, können Sie dazu beitragen, Ihre Inhalte vor unbefugtem Zugriff zu schützen. Darüber hinaus gelten möglicherweise gesetzliche Anforderungen zur Verschlüsselung Ihrer Daten. Eine effektive Schlüsselverwaltungslösung kann technische Mechanismen bereitstellen, die diesen Vorschriften zum Schutz von Schlüsseldaten entsprechen.

Risikostufe bei fehlender Befolgung dieser Best Practice: Hoch

Implementierungsleitfaden

Viele regulatorische Anforderungen und bewährte Methoden beinhalten die Verschlüsselung von Daten im Ruhezustand als grundlegende Sicherheitskontrolle. Um diese Bedingung zu erfüllen, benötigt Ihr Workload einen Mechanismus, mit dem Schlüsseldaten, die zur Verschlüsselung Ihrer Daten im Ruhezustand verwendet werden, sicher gespeichert und verwaltet werden können.

AWS bietet AWS Key Management Service (AWS KMS) zur dauerhaften, sicheren und redundanten Speicherung von AWS KMS-Schlüsseln. Viele AWS-Services lassen sich in AWS KMS integrieren, um die Verschlüsselung Ihrer Daten zu unterstützen. AWS KMS verwendet FIPS 140-2 Level 3-validierte Hardware-Sicherheitsmodule zum Schutz Ihrer Schlüssel. Es gibt keinen Mechanismus zum Exportieren von AWS KMS-Schlüsseln als Klartext.

Bei der Bereitstellung von Workloads mit einer Strategie für mehrere Konten gilt es als bewährte Methode, AWS KMS-Schlüssel im selben Konto zu speichern wie der Workload, der sie verwendet. In diesem verteilten Modell liegt die Verantwortung für die Verwaltung der AWS KMS-Schlüssel beim Anwendungsteam. In anderen Anwendungsfällen können sich Unternehmen dafür entscheiden, AWS KMS-Schlüssel in einem zentralen Konto zu speichern. Diese zentralisierte Struktur erfordert zusätzliche Richtlinien, um den kontoübergreifenden Zugriff zu ermöglichen, der benötigt wird, damit das Workload-Konto auf Schlüssel zugreifen kann, die im zentralen Konto gespeichert sind. Dieses Verfahren kann jedoch in Anwendungsfällen, in denen ein einzelner Schlüssel von mehreren AWS-Konten gemeinsam genutzt wird, besser geeignet sein.

Unabhängig davon, wo die Schlüsseldaten gespeichert werden, sollte der Zugriff auf den Schlüssel durch Schlüsselrichtlinien und IAM-Richtlinien streng kontrolliert werden. Schlüsselrichtlinien sind die wichtigste Methode, um den Zugriff auf einen AWS KMS-Schlüssel zu kontrollieren. Darüber hinaus können AWS KMS-Schlüsselzuweisungen den Zugriff auf AWS-Services ermöglichen, mit denen Daten in Ihrem Namen ver- und entschlüsselt werden. Nehmen Sie sich Zeit, um die bewährten Methoden für die Steuerung des Zugriffs auf AWS KMS-Schlüsseldurchzugehen.

Es hat sich bewährt, die Verwendung von Verschlüsselungsschlüsseln zu überwachen, um ungewöhnliche Zugriffsmuster zu erkennen. Vorgänge, die mit von AWS verwalteten Schlüsseln und kundenseitig verwalteten Schlüsseln ausgeführt werden, die in AWS KMS gespeichert sind, können in AWS CloudTrail protokolliert werden. Sie sollten regelmäßig überprüft werden. Besondere Aufmerksamkeit sollte dabei der Überwachung von Schlüsselzerstörungsereignissen gelten. Um die versehentliche oder böswillige Zerstörung von Schlüsseldaten zu verhindern, werden Schlüsseldaten bei Schlüsselzerstörungsereignissen nicht sofort gelöscht. Für Versuche, Schlüssel in AWS KMS zu löschen, gilt eine Wartezeit, die standardmäßig auf 30 Tage festgelegt ist. So haben Administratoren Zeit, diese Aktionen zu überprüfen und die Anfrage gegebenenfalls rückgängig zu machen.

Die meisten AWS-Services verwenden AWS KMS auf eine Weise, die für Sie transparent ist. Sie müssen lediglich entscheiden, ob Sie einen in AWS verwalteten oder einen kundenseitig verwalteten Schlüssel verwenden möchten. Wenn Ihr Workload die direkte Verwendung von AWS KMS zum Verschlüsseln oder Entschlüsseln von Daten erfordert, empfiehlt sich eine Umschlagverschlüsselung zum Schutz Ihrer Daten. Das AWS-Verschlüsselungs-SDK kann Ihren Anwendungen clientseitige Verschlüsselungsprimitive bereitstellen, um die Umschlagverschlüsselung zu implementieren und eine Integration in AWS KMS zu ermöglichen.

Implementierungsschritte

  1. Ermitteln Sie die geeigneten Schlüsselverwaltungsoptionen (von AWS verwaltet oder vom Kunden verwaltet) für den Schlüssel.

    • Aus Gründen der Benutzerfreundlichkeit bietet AWS für die meisten Services AWS-eigene und von AWS verwaltete Schlüssel. Diese stellen eine Funktion für die Verschlüsselung von Daten im Ruhezustand bereit, ohne dass Schlüsseldaten oder -richtlinien verwaltet werden müssen.

    • Wenn Sie kundenseitig verwaltete Schlüssel verwenden, sollten Sie den Standard-Schlüsselspeicher in Betracht ziehen, um das beste Gleichgewicht zwischen Agilität, Sicherheit, Datenhoheit und Verfügbarkeit zu erzielen. Andere Anwendungsfälle erfordern möglicherweise die Verwendung von benutzerdefinierten Schlüsselspeichern mit AWS CloudHSM oder einem externen Schlüsselspeicher.

  2. Gehen Sie die Liste der Services durch, die Sie für Ihren Workload verwenden, um zu verstehen, wie AWS KMS in den Service integriert wird. EC2-Instances können beispielsweise verschlüsselte EBS-Volumes verwenden, um zu überprüfen, dass die von diesen Volumes erstellten Amazon EBS-Snapshots auch mit einem kundenseitig verwalteten Schlüssel verschlüsselt werden. So wir die versehentliche Offenlegung unverschlüsselter Snapshot-Daten verhindert.

    • So nutzen AWS-Services AWS KMS

    • Ausführliche Informationen zu den Verschlüsselungsoptionen, die ein AWS-Service bietet, finden Sie im Thema „Verschlüsselung im Ruhezustand“ im Benutzerhandbuch oder Entwicklerhandbuch für den Service.

  3. Implementieren Sie AWS KMS: AWS KMS erleichtert Ihnen das Erstellen und Verwalten von Schlüsseln sowie die Kontrolle der Verschlüsselung in einer Vielzahl von AWS-Services und in Ihren Anwendungen.

  4. Erwägen Sie die Verwendung des AWS Encryption SDK: Verwenden Sie das AWS Encryption SDK mit AWS KMS-Integration, wenn Ihre Anwendung Daten clientseitig verschlüsseln muss.

  5. Aktivieren Sie IAM Access Analyzer, um automatisch zu überprüfen und benachrichtigt zu werden, wenn zu weit gefasste AWS KMS-Schlüsselrichtlinien vorhanden sind.

  6. Aktivieren Sie Security Hub, um Benachrichtigungen zu erhalten, wenn falsch konfigurierte Schlüsselrichtlinien, Schlüssel mit geplanter Löschung oder Schlüssel ohne aktivierte automatische Rotation vorhanden sind.

  7. Ermitteln Sie die für Ihre AWS KMS-Schlüssel geeignete Protokollierungsstufe. Da Aufrufe von AWS KMS, einschließlich schreibgeschützter Ereignisse, protokolliert werden, können die CloudTrail-Protokolle für AWS KMS sehr umfangreich werden.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: