SEC08-BP01 Implementieren einer sicheren Schlüsselverwaltung - Säule der Sicherheit

SEC08-BP01 Implementieren einer sicheren Schlüsselverwaltung

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

Gewünschtes Ergebnis: Ein skalierbarer, wiederholbarer und automatisierter Schlüsselverwaltungsmechanismus. Der Mechanismus setzt den Zugriff mit geringster Berechtigung auf Schlüsseldaten durch und stellt das richtige Gleichgewicht zwischen Schlüsselverfügbarkeit, Vertraulichkeit und Integrität her. Sie überwachen den Zugriff auf die Schlüssel. Wenn eine Rotation von Schlüsseldaten erforderlich ist, rotieren Sie diese mithilfe eines automatisierten Prozesses. Sie lassen keinen Zugriff auf Schlüsseldaten durch menschliche Bediener zu.

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 Ihre Workload einrichten, können Sie dazu beitragen, Ihre Inhalte vor unbefugtem Zugriff zu schützen. Darüber hinaus müssen möglicherweise regulatorische Anforderungen hinsichtlich der Verschlüsselung Ihrer Daten erfüllt werden. Eine effektive Schlüsselverwaltungslösung kann technische Mechanismen bereitstellen, die diesen Vorschriften zum Schutz von Schlüsseldaten entsprechen.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Die Verschlüsselung von Daten im Ruhezustand ist eine Basis-Sicherheitskontrolle. Um diese Kontrolle zu implementieren, benötigt Ihr Workload einen Mechanismus, um die Schlüsseldaten sicher zu speichern und zu verwalten, die für die Verschlüsselung Ihrer Daten im Ruhezustand verwendet werden.

AWS bietet den AWS Key Management Service (AWS KMS), um eine dauerhafte, sichere und redundante Speicherung von AWS KMS-Schlüsseln bereitzustellen. 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 Multi-Konten-Strategie sollten Sie AWS KMS-Schlüssel in dem Konto aufbewahren, in dem sich auch der Workload befindet, der sie verwendet. Bei diesem verteilten Modell liegt die Verantwortung für die Verwaltung der AWS KMS-Schlüssel bei Ihrem Team. In anderen Anwendungsfällen kann sich Ihre Organisation 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 eng kontrolliert werden. Schlüsselrichtlinien sind die primäre Methode für die Kontrolle des Zugriffs auf einen AWS KMS-Schlüssel. Darüber hinaus können AWS KMS-Schlüsselzuweisungen den Zugriff auf AWS-Services ermöglichen, um Daten in Ihrem Namen zu verschlüsseln und zu entschlüsseln. Machen Sie sich mit dem Leitfaden für die Steuerung des Zugriffs auf Ihre AWS KMS-Schlüssel vertraut.

Sie sollten die Verwendung von Verschlüsselungsschlüsseln auf ungewöhnliche Zugriffsmuster überwachen. 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. Achten Sie besonders auf die Überwachung von Schlüsselzerstörungsereignissen. Um die versehentliche oder böswillige Zerstörung von Schlüsseldaten zu verhindern, werden Schlüsseldaten bei Schlüsselzerstörungsereignissen nicht sofort gelöscht. Versuche, Schlüssel in AWS KMS zu löschen, unterliegen einer Wartezeit, die standardmäßig 30 Tage beträgt. So haben Administratoren Zeit, diese Aktionen zu überprüfen und die Anforderung rückgängig zu machen, wenn notwendig.

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, sollten Sie eine Umschlagverschlüsselung verwenden, um Ihre Daten zu schützen. Das AWS-Verschlüsselungs-SDK kann clientseitige Verschlüsselungsprimitive für Ihre Anwendungen 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 kundenseitig verwaltet) für den Schlüssel.

    1. 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.

    2. 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 mit dem externen Schlüsselspeicher.

  2. Gehen Sie die Liste der Services durch, die Sie für Ihre 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 wird die versehentliche Offenlegung unverschlüsselter Snapshot-Daten verhindert.

    1. Verwendung von AWS KMS durch AWS-Services

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

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

  4. Ziehen Sie das AWS Encryption SDK in Betracht: 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.

    1. Ziehen Sie die Verwendung benutzerdefinierter Richtlinienprüfungen in Betracht, um sicherzustellen, dass die Aktualisierung der Ressourcenrichtlinie keinen öffentlichen Zugriff auf KMS-Schlüssel gewährt.

  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.

    1. Einige Organisationen ziehen es vor, die AWS KMS-Protokollierungsaktivitäten in einem eigenen Pfad zu separieren. Weitere Informationen finden Sie im AWS KMS-Entwicklerhandbuch im Abschnitt Protokollieren von AWS KMS-API-Aufrufen mit CloudTrail.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: