Freigeben über


Bewährte Methoden zum Schützen von Geheimnissen

Dieser Artikel enthält Hinweise zum Schutz Ihrer geheimen Schlüssel und zur Verringerung des Risikos eines unbefugten Zugriffs. Befolgen Sie diese Anleitung, um sicherzustellen, dass Sie keine sensiblen Informationen wie Anmeldeinformationen in Code, GitHub-Repositorys, Protokollen, Pipelines für kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD) usw. speichern. Die Hinweise in diesem Artikel wurden aus den Empfehlungen der einzelnen Dienste sowie aus dem Microsoft Cloud Security Benchmark (MCSB) zusammengestellt.

Allgemeine bewährte Methoden

In der heutigen digitalen Landschaft ist der Schutz von sensiblen Informationen wie Anmeldedaten und geheimer Schlüssel von größter Bedeutung. Ein Verstoß kann schwerwiegende Folgen haben, darunter Datenverlust, finanzielle Strafen und Rufschädigung. Die Umsetzung einer umfassenden Strategie zur Verwaltung von Geheimnissen ist entscheidend für die Abschwächung dieser Risiken.

Durchführen einer Prüfung, um geheime Schlüssel zu identifizieren

Bevor Sie Ihre geheimen Schlüssel schützen können, müssen Sie wissen, wo sie sich befinden. Eine gründliche Prüfung Ihrer Systeme und Anwendungen hilft, alle sensiblen Informationen zu identifizieren, die geschützt werden müssen. Dazu gehören Kennwörter, API-Schlüssel, Verbindungszeichenfolgen und andere Anmeldeinformationen. Regelmäßige Überprüfungen stellen sicher, dass neue geheime Schlüssel berücksichtigt und bestehende geheime Schlüssel ordnungsgemäß verwaltet werden.

Es ist wichtig zu beachten, dass auch dynamisch erstellte geheime Schlüssel, wie z. B. OAuth-Tokens, die temporär sein können, mit der gleichen Strenge geschützt werden müssen wie langfristige geheime Schlüssel.

Vermeiden der Hartcodierung von geheimen Schlüsseln

Das direkte Einbetten von geheimen Schlüsseln in Ihren Code oder Ihre Konfigurationsdateien stellt ein erhebliches Sicherheitsrisiko dar. Wenn Ihre Codebasis kompromittiert ist, sind Ihre geheimen Schlüssel das auch. Verwenden Sie stattdessen Umgebungsvariablen oder Konfigurationsverwaltungstools, die geheime Schlüssel aus Ihrem Quellcode heraushalten. Diese Vorgehensweise minimiert das Risiko einer versehentlichen Gefährdung und vereinfacht den Prozess der Aktualisierung geheimer Schlüssel.

Durch die Integration der Abfrage von geheimen Schlüsseln in Ihre automatisierte Bereitstellungspipeline und die Verwendung von Injection-Mustern für geheime Schlüssel können Sie außerdem verhindern, dass geheime Schlüssel versehentlich in Protokollen oder in der Versionskontrolle auftauchen, was die Sicherheit Ihres Bereitstellungsprozesses weiter erhöht.

Weitere Informationen finden Sie in den Empfehlungen zum Schützen geheimer Anwendungsgeheimnisse.

Verwenden sicherer Schlüsselspeicher

Durch die Nutzung sicherer Schlüsselspeicher wird sichergestellt, dass Ihre geheimen Schlüssel an einem sicheren, verschlüsselten Ort gespeichert werden. Dienste wie Azure Key Vault und Azure Managed HSM bieten robuste Sicherheitsfunktionen, einschließlich Zugriffssteuerung, Protokollierung und automatische Rotation. Dieser Ansatz zentralisiert die Verwaltung Ihrer geheimer Schlüssel und verringert das Risiko eines unbefugten Zugriffs.

Für noch mehr Sicherheit, insbesondere bei hochsensiblen oder kritischen geheimen Daten, sollten Sie in Erwägung ziehen, die geheimen Schlüssel in einem Hardware-Sicherheitsmodell (HSM) zu verschlüsseln, das im Vergleich zu softwarebasierten geheimen Schlüsselspeichern einen besseren Schutz bietet. Eine Übersicht über das gesamte Schlüsselverwaltungsangebot in Azure und Anleitungen zur Auswahl finden Sie unter Schlüsselverwaltung in Azure und Auswählen der richtigen Schlüsselverwaltungslösung.

Implementieren von Tools zum Scannen auf geheime Schlüssel

Regelmäßiges Scannen Ihrer Codebasis auf eingebettete geheime Schlüssel kann eine versehentliche Offenlegung verhindern. Tools wie Azure DevOps Credential Scanner und das GitHub-Feature Secret Scanning können diese automatisch erkennen und Sie auf alle geheimen Schlüssel in Ihren Repositorys hinweisen. Durch die Integration dieser Tools in Ihre CI/CD-Pipeline wird eine kontinuierliche Überwachung sichergestellt. Jeder geheimer Schlüssel, der von diesen Scanning-Tools gefunden wird, muss als kompromittiert betrachtet werden, d. h. er sollte sofort widerrufen und ersetzt werden, um die Integrität Ihrer Sicherheitslage zu wahren.

Verwenden verwalteter Identitäten

Verwaltete Identitäten in Azure bieten Anwendungen eine sichere Möglichkeit, sich bei Azure-Diensten zu authentifizieren, ohne Anmeldeinformationen im Code zu speichern. Wenn Sie verwaltete Identitäten für Azure-Ressourcen aktivieren, können Sie sicher auf Azure Key Vault und andere Dienste zugreifen und müssen geheime Schlüssel nicht mehr manuell verwalten. Dieser Ansatz minimiert nicht nur die Erstellung von geheimen Schlüsseln, sondern verringert auch die Angriffsfläche für potenzielle Verstöße, da die Verantwortung für die Verwaltung der Anmeldeinformationen an die Plattform delegiert wird.

Anwenden genau abgestimmter Zugriffssteuerung

Befolgen Sie das Prinzip der geringsten Rechte, indem Sie eine präzise Zugriffssteuerung auf Ihre geheimen Schlüssel anwenden. Verwenden Sie die rollenbasierte Zugriffssteuerung von Azure (RBAC), um sicherzustellen, dass nur autorisierte Entitäten auf bestimmte geheime Schlüssel zugreifen können. Überprüfen und aktualisieren Sie regelmäßig Zugriffsberechtigungen, um unbefugten Zugriff zu verhindern. Es ist auch ratsam, verschiedene Rollen wie Benutzer, Administrator und Prüfer zu implementieren, um den Zugriff auf geheime Schlüssel zu verwalten und sicherzustellen, dass nur vertrauenswürdige Identitäten die entsprechende Berechtigungsstufe haben.

Weitere Informationen finden Sie in der Anleitung zu Azure Key Vault RBAC.

Regelmäßiges Rotieren von geheimen Schlüsseln

Geheime Schlüssel können mit der Zeit durchsickern oder aufgedeckt werden. Regelmäßiges Rotieren Ihrer geheimen Schlüssel verringert das Risiko eines unbefugten Zugriffs. Sie können geheime Schlüssel in Azure Key Vault für bestimmte Schlüssel rotieren lassen. Für diejenigen, die nicht automatisch rotiert werden können, richten Sie einen manuellen Rotationsprozess ein und stellen sicher, dass sie gelöscht werden, wenn sie nicht mehr in Gebrauch sind.

Wenn Sie die Rotation der geheimen Schlüssel automatisieren und Redundanz in die Verwaltung der geheimen Schlüssel einbauen, können Sie sicherstellen, dass die Verfügbarkeit der Dienste durch die Rotation nicht unterbrochen wird. Die Implementierung von Wiederholungslogik und gleichzeitigen Zugriffsmustern in Ihrem Code kann dazu beitragen, Probleme während des Rotationsfensters zu minimieren.

Überwachen und Protokollieren des Zugriffs

Aktivieren Sie die Protokollierung und Überwachung für Ihr System zur Verwaltung geheimer Schlüssel, um Zugriff und Nutzung nachzuverfolgen. Verwenden Sie Key Vault-Protokollierung und/oder Dienste wie Azure Monitor und Azure Event Grid, um alle Aktivitäten zu überwachen, die sich auf Ihre geheimen Schlüssel beziehen. Dadurch erhalten Sie Einblicke, wer auf Ihre geheimen Schlüssel zugegriffen hat, und es hilft dabei, verdächtige Verhaltensweisen oder potenzielle Sicherheitsvorfälle zu erkennen. Detaillierte Prüfprotokolle sind für die Überprüfung und Validierung des Zugriffs auf geheime Schlüssel von entscheidender Bedeutung und können dazu beitragen, Identitätsdiebstahl zu verhindern, Ablehnungen zu vermeiden und unnötige Risiken zu reduzieren.

Netzwerkisolation und SSL-

Verringern Sie die Exposition Ihrer geheimen Schlüssel, indem Sie die Netzwerkisolation implementieren. Konfigurieren Sie Firewalls und Netzwerksicherheitsgruppen, um den Zugriff auf Ihre Schlüsseltresore einzuschränken. Erlauben Sie nur vertrauenswürdigen Anwendungen und Diensten, auf Ihre geheimen Schlüssel zuzugreifen. Die minimiert die Angriffsfläche und verhindert unbefugten Zugriff. Außerdem sollten Sie die Verwendung mehrerer Schlüsseltresore in Erwägung ziehen, um Isolationsgrenzen für verschiedene Komponenten zu schaffen. So stellen Sie sicher, dass eine kompromittierte Komponente keine Kontrolle über andere geheime Schlüssel oder den gesamten Workload erlangen kann.

Verschlüsseln von ruhenden und übertragenen geheimen Schlüsseln

Stellen Sie sicher, dass Ihre geheimen Schlüssel sowohl im Ruhezustand als auch während der Übertragung verschlüsselt sind. Azure Key Vault speichert geheime Schlüssel sicher mit Hilfe der Umschlagverschlüsselung, bei der Data Encryption Keys (DEKs) durch Key Encryption Keys (KEKs) verschlüsselt werden, was eine zusätzliche Sicherheitsebene darstellt. Dieser Ansatz verbessert den Schutz vor unbefugtem Zugriff. Verwenden Sie außerdem sichere Kommunikationsprotokolle wie HTTPS, um die Daten bei der Übertragung zwischen Ihren Anwendungen und dem Schlüsseltresor zu verschlüsseln und so sicherzustellen, dass Ihre geheimen Schlüssel sowohl bei der Speicherung als auch bei der Übertragung geschützt sind.

In Azure wird die Verschlüsselung im Ruhezustand in verschiedenen Diensten mit AES 256 implementiert, während die Daten bei der Übertragung durch TLS und MACsec gesichert werden, um unbefugten Zugriff während der Übertragung zu verhindern. Diese Verschlüsselungsverfahren bieten umfassenden Schutz für Ihre Daten, unabhängig davon, ob sie gespeichert oder zwischen Systemen übertragen werden. Weitere Informationen finden Sie unter Datenverschlüsselung von ruhenden Daten und während der Übertragung.

Sichere Weitergabe von geheimen Schlüsseln

Achten Sie bei der Weitergabe von geheimen Schlüsseln darauf, dass diese innerhalb und außerhalb der Organisation sicher weitergegeben werden. Verwenden Sie Tools, die für eine sichere gemeinsame Nutzung konzipiert sind, und nehmen Sie geheime Schlüssel in Ihre Notfallwiederherstellungspläne auf. Wenn ein Schlüssel kompromittiert wurde oder durchgesickert ist, sollte er sofort neu generiert werden. Um die Sicherheit weiter zu erhöhen, sollten Sie für jeden Kunden einen eigenen Schlüssel verwenden, anstatt die Schlüssel gemeinsam zu nutzen, selbst wenn sie ähnliche Zugriffsmuster haben. Diese Praxis vereinfacht die Schlüsselverwaltung und den Widerruf und stellt sicher, dass kompromittierte Schlüssel widerrufen werden können, ohne andere Verbraucher zu beeinträchtigen.

Dienstspezifische bewährte Methoden

Einzelne Dienste verfügen möglicherweise über zusätzliche bewährte Methoden und Anleitungen zum Schutz von geheimen Schlüsseln. Im Folgenden finden Sie einige Beispiele:

Nächste Schritte

Die Minimierung des Sicherheitsrisikos ist eine gemeinsame Aufgabe. Sie müssen beim Schutz Ihrer Workloads proaktiv sein. Weitere Informationen zur gemeinsamen Zuständigkeit in der Cloud

Weitere bewährte Methoden für die Sicherheit, die Sie beim Entwerfen, Bereitstellen und Verwalten Ihrer Cloudlösungen mithilfe von Azure verwenden können, finden Sie unter Sicherheit in Azure: bewährte Methoden und Muster.