Bewährte Methoden zum Schützen von Geheimnissen

Dieser Artikel hilft Ihnen, Geheimnisse zu schützen und das Risiko unbefugten Zugriffs zu verringern. Befolgen Sie diese Anleitung, um sicherzustellen, dass Sie keine sensiblen Informationen wie Zugangsdaten im Code, in GitHub-Repositories, Protokollen oder in Continuous Integration/Continuous Deployment (CI/CD)-Pipelines speichern. Die Leitlinien in diesem Artikel stammen aus einzelnen Serviceempfehlungen und dem Microsoft Cloud Security Benchmark (MCSB).

Dieser Artikel richtet sich an Microsoft Zero Trust Sicherheitsmodell, das explizite Überprüfung, Zugriff mit geringsten Rechten und die Annahme einer Verletzung erfordert. Für vorschreibende Sicherheitskontrollen, die die Durchsetzung der Azure Policy einschließen, siehe Microsoft Cloud Security Benchmark v2: Privileged Access und MCSB v2: Data Protection.

Geheime Ermittlung und Prävention

Bevor du deine Geheimnisse sichern kannst, brauchst du Transparenz darüber, wo sie existieren. Du brauchst außerdem Kontrollen, die eine Exposition verhindern, bevor sie auftritt.

  • Führen Sie ein Audit durch, um Geheimnisse zu identifizieren: Überprüfen Sie Ihre Systeme und Anwendungen, um sensible Informationen zu identifizieren, die geschützt werden müssen, wie Passwörter, API-Schlüssel, Verbindungsstrings und andere Zugangsdaten. Regelmäßige Audits helfen sicherzustellen, dass Ihr Bestand neue Geheimnisse berücksichtigt und Sie bestehende Geheimnisse richtig verwalten. Schützen Sie dynamisch erstellte Geheimnisse, wie temporäre OAuth-Token, mit derselben Strenge wie langfristige Geheimnisse.

  • Vermeiden Sie das Hardcodieren von Geheimnissen: Das direkte Einbetten von Geheimnissen in Code oder Konfigurationsdateien stellt ein erhebliches Sicherheitsrisiko dar. Wenn Angreifer Ihren Code kompromittieren, kompromittieren sie auch Ihre Geheimnisse. Verwenden Sie stattdessen Umgebungsvariablen oder Konfigurationsmanagement-Tools, die Geheimnisse aus dem Quellcode heraushalten. Diese Praxis minimiert das Risiko einer versehentlichen Entdeckung und vereinfacht geheime Updates. Integrieren Sie den Abruf von Geheimnissen in Ihre automatisierte Bereitstellungspipeline, und verwenden Sie Muster für die Geheimnisinjektion, um eine versehentliche Offenlegung in Protokollen oder der Versionskontrolle zu verhindern. Weitere Informationen finden Sie unter Empfehlungen zum Schutz geheimer Anwendungsschlüssel.

  • Implementiere geheime Scan-Tools: Durchsuche regelmäßig deinen Codebasis nach eingebetteten Geheimnissen, um eine unbeabsichtigte Entdeckung zu verhindern. Tools wie Azure DevOps Credential Scanner und GitHub Secret Scanning können Geheimnisse in Repositories automatisch erkennen und darauf aufmerksam machen. Integrieren Sie diese Werkzeuge in Ihre CI/CD-Pipeline für kontinuierliche Überwachung. Behandle jedes Geheimnis, das durch Scan-Tools entdeckt wird, als kompromittiert. Widerrufen und ersetzen Sie es sofort, um die Integrität Ihrer Sicherheitslage zu wahren.

Sicherer Speicher und Verschlüsselung

Der Schutz geheimer Schlüssel erfordert sichere Speichermechanismen und eine ordnungsgemäße Verschlüsselung in allen Phasen.

  • Nutzen Sie sichere Schlüsselspeicher: Dienste wie Azure Key Vault und Azure Key Vault Managed HSM bieten Sicherheitsfunktionen, darunter Zugriffskontrolle, Protokollierung und automatische Rotation. Dieser Ansatz zentralisiert das Geheimnismanagement und reduziert das Risiko unbefugten Zugriffs. Für hochsensible oder kritische Geheimnisse verwenden Sie einen von Hardware Security Module (HSM) unterstützten Keystore, um einen besseren Schutz im Vergleich zu softwarebasierten Secret Stores zu gewährleisten. Für kundenverwaltete Schlüsselszenarien verwenden Sie mindestens die Azure Key Vault Premium-Stufe, die von HSM unterstützt wird. Verwenden Sie Azure Key Vault Managed HSM für Schlüssel-Souveränitätsanforderungen. Für einen Überblick über die Azure-Schlüsselverwaltungsangebote und Hinweise zur richtigen Auswahl siehe Schlüsselverwaltung in Azure und Wie man die richtige Schlüsselverwaltungslösung auswählt.

  • Verschlüsseln Sie Geheimnisse in Ruhe und während des Transports: Azure Key Vault speichert Geheimnisse sicher durch Envelope-Verschlüsselung, wobei Schlüsselschlüssel Datenverschlüsselungsschlüssel verschlüsseln, um eine weitere Sicherheitsebene zu schaffen. Verwenden Sie sichere Kommunikationsprotokolle wie HTTPS, um Daten zwischen Ihren Anwendungen und dem Schlüsseltresor zu verschlüsseln. In Azure implementieren verschiedene Dienste die Verschlüsselung im Ruhezustand mithilfe der AES-256-Verschlüsselung. TLS und MACsec sichern Daten während der Übertragung. Weitere Informationen finden Sie unter Verschlüsselung ruhender und übertragener Daten.

  • Implementieren der Netzwerkisolation: Konfigurieren Sie Firewalls und Netzwerksicherheitsgruppen , um den Zugriff auf Ihre Schlüsseltresore einzuschränken. Erlauben Sie nur vertrauenswürdigen Anwendungen und Diensten, auf Ihre Geheimnisse zuzugreifen. Dieser Ansatz minimiert die Angriffsfläche und hilft, unbefugten Zugriff zu verhindern. Erwägen Sie, mehrere Key Vaults zu verwenden, um Isolationsgrenzen für verschiedene Komponenten zu erstellen. Wenn Angreifer eine Komponente kompromittieren, kann diese Komponente keine Kontrolle über andere Geheimnisse oder die gesamte Arbeitslast erlangen.

Zugriffssteuerung und Identität

Das Verwalten von Personen und Objekten, die auf Geheimnisse zugreifen können, ist entscheidend für die Aufrechterhaltung der Sicherheit.

  • Verwenden Sie verwaltete Identitäten: Verwaltete Identitäten in Azure bieten eine sichere Möglichkeit für Anwendungen, sich bei Azure-Diensten zu authentifizieren, ohne Anmeldedaten im Code zu speichern. Aktivieren Sie verwaltete Identitäten für Azure-Ressourcen, um sicher auf Azure Key Vault sowie auf andere Dienste zuzugreifen und so die Notwendigkeit zu verringern, Geheimnisse manuell zu verwalten. Dieser Ansatz minimiert die Erstellung von Geheimnissen und verringert die Oberfläche für potenzielle Sicherheitsverletzungen, da die Plattform die Zugangsdaten verwaltet.

  • Wenden Sie eine präzise Zugriffssteuerung an: Befolgen Sie das Prinzip der geringsten Rechte, indem Sie die präzise Zugriffssteuerung auf Ihre geheimen Schlüssel anwenden. Verwenden Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC), um sicherzustellen, dass nur autorisierte Entitäten Zugriff auf bestimmte Geheimnisse erhalten. Überprüfen und aktualisieren Sie regelmäßig Zugriffsberechtigungen, um unbefugten Zugriff zu verhindern. Implementiere unterschiedliche Rollen wie Benutzer, Administrator und Auditor, um den Zugriff auf Geheimnisse zu verwalten. Diese Praxis trägt dazu bei, sicherzustellen, dass nur vertrauenswürdige Identitäten das entsprechende Berechtigungsniveau haben. Weitere Informationen finden Sie im Azure Key Vault RBAC-Leitfaden.

Geheime Lebenszyklusverwaltung

Geheime Schlüssel erfordern eine fortlaufende Verwaltung während ihres gesamten Lebenszyklus, von der Erstellung bis zum Ruhestand.

  • Wechseln Sie Geheimnisse regelmäßig: Geheimnisse sind anfällig für Lecks oder Exposition im Laufe der Zeit. Rotieren Sie regelmäßig Ihre Geheimnisse, um das Risiko unbefugter Zugriffe zu verringern. Sie können Geheimnisse in Azure Key Vault für bestimmte Geheimnisse rotieren. Für Geheimnisse, die nicht automatisch rotieren können, richte einen manuellen Rotationsprozess ein und lösche sie, wenn sie nicht mehr verwendet werden. Automatisieren Sie die Secret-Rotation und bauen Sie Redundanz in Ihr Secret-Management ein, um sicherzustellen, dass die Rotation die Verfügbarkeit des Dienstes nicht stört. Implementiere Retry-Logik und gleichzeitige Zugriffsmuster in deinem Code, um Probleme während des Rotationsfensters zu minimieren.

  • Geheimnisse sicher verteilen: Wenn Sie Geheimnisse verteilen, teilen Sie sie sicher innerhalb und außerhalb der Organisation. Nutzen Sie Werkzeuge, die für sicheres Teilen entwickelt wurden, und integrieren Sie geheime Wiederherstellungsverfahren in Ihre Katastrophenwiederherstellungspläne. Wenn Angreifer einen Schlüssel kompromittieren oder leaken, regeneriere ihn sofort. Verwenden Sie für jeden Verbraucher unterschiedliche Schlüssel, anstatt Schlüssel zu teilen, selbst wenn die Konsumenten ähnliche Zugriffsmuster haben. Diese Praxis vereinfacht das Schlüsselmanagement und den Widerruf, sodass Sie kompromittierte Schlüssel widerrufen können, ohne andere Nutzer zu beeinträchtigen.

Überwachung und Protokollierung

Kontinuierliche Überwachung erkennt verdächtige Aktivitäten und unterstützt Compliance-Anforderungen.

  • Überwachen und Protokollieren des Zugriffs: Aktivieren Sie die Protokollierung und Überwachung ihres geheimen Verwaltungssystems, um den Zugriff und die Nutzung nachzuverfolgen. Verwenden Sie Key Vault-Protokollierung, Azure Monitor oder Azure Event Grid, um alle Aktivitäten im Zusammenhang mit Ihren Geheimnissen zu überwachen. Die Überwachung verschafft Transparenz darüber, wer auf Ihre Geheimnisse zugegriffen hat, und hilft, verdächtiges Verhalten oder potenzielle Sicherheitsvorfälle zu erkennen. Führen Sie detaillierte Audit-Protokolle, um den Zugriff auf geheime Werte zu überprüfen und zu validieren. Dies kann dazu beitragen, Identitätsdiebstahl zu verhindern, Abstreitbarkeit zu vermeiden und unnötige Offenlegung zu reduzieren.

Dienstspezifische Anleitungen für die Handhabung von Geheimnissen

Einzelne Dienste könnten mehr Best Practices und Richtlinien zum Schutz von Geheimnissen haben. Dazu gehören:

Nächste Schritte

Die Minimierung des Sicherheitsrisikos ist eine gemeinsame Aufgabe. Ergreifen Sie proaktiv Maßnahmen, um Ihre Arbeitsbelastung zu sichern. Weitere Informationen dazu finden Sie unter Gemeinsame Verantwortung in der Cloud.