Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- API-Management: Verwenden Sie benannte Werte in Azure API Management-Richtlinien mit Key Vault-Integration
- App Service: Verwenden Sie Key Vault-Referenzen für App Service und Azure Functions
- Application Gateway: Konfigurieren Sie die TLS-Terminierung für Application Gateway mithilfe des Azure-Portals
- Automatisierung: Verwalten Sie Anmeldeinformationen in Azure Automation
- Azure AI Foundry : Foundry Tools Anwendungen mit Azure Key Vault entwickeln
- Azure App Configuration: Verwenden Sie Key Vault-Referenzen in einer ASP.NET Core App
- Azure Bot Service: Azure Bot Service-Verschlüsselung für ruhende Daten
- Azure Center für SAP-Lösungen: Bereiten Sie das Netzwerk für die Einführung von SAP-Lösungen im Azure Center vor
- Azure Communication Services: Erstellen und verwalten Sie Zugriffstoken
- Azure Communications-Gateway: Schlüsseln erstellen und speichern
- Azure Container Apps: Geheimnisse in Azure Container Apps verwalten
- Azure Cosmos DB: Konfigurieren von vom Kunden verwalteten Schlüsseln für Azure Cosmos DB
- Azure Database for PostgreSQL - Flexible Server: Datenverschlüsselung mit einem vom Kunden verwalteten Schlüssel
- Azure Databricks: Key Vault-Integration in Azure Databricks
- Azure DevTest Labs: Aktivieren Sie benutzerdefinierte verwaltete Identitäten auf virtuellen Maschinen im Azure DevTest Labs
- Azure Event Hubs: Konfigurieren von kundengesteuerten Schlüsseln zur Verschlüsselung von Azure Event Hubs-Daten im Ruhezustand
- Azure Front Door: Azure Front Door secrets
- Azure HDInsight auf AKS: Voraussetzungen für die Azure Key Vault-Ressource erstellen
- Azure Information Protection: Key Vault-Unterstützung für Azure Information Protection
- Azure Kubernetes Service (AKS): CSI Secret Store
- Azure Machine Learning: Verwenden Sie Authentifizierungszugangsgeheimnisse in Azure Machine Learning-Jobs
- Azure Managed Applications: Zugriff auf Key Vault-Geheimnisse beim Bereitstellen von Azure Managed Applications
- Azure Pipelines: Geheimnisse in Azure Pipelines schützen
- Azure Service Bus: Integrieren Service Bus mit Service Connector
- Azure SignalR Service: Verweis auf den geheimen Key Vault-Schlüssel in den URL-Vorlageneinstellungen
- Azure Spring Apps: Integrieren Azure Key Vault mit Service Connector
- Azure Stack Edge: Manage Azure Stack Edge secrets mit Azure Key Vault
- Azure Stack Hub: Rotate secrets
- Azure Web PubSub: Hinzufügen eines benutzerdefinierten Zertifikats
- Backup: Konfigurieren Sie einen Tresor zur Verschlüsselung mit kundenverwalteten Schlüsseln
- Data Factory: Speichern von Anmeldeinformationen in Azure Key Vault
- ExpressRoute: MACsec-Verschlüsselung für ExpressRoute Direct konfigurieren
- Funktionen: Verwenden Sie Key Vault-Referenzen für App Service und Azure Functions
- Key Vault: Über Azure Key Vault-Geheimnisse
- Logic Apps: Logic Apps Standard-App-Einstellungen
- Microsoft Purview: Zugangsdaten für Quellauthentifizierung in Microsoft Purview
- Service Fabric: KeyVaultReference-Unterstützung für Service Fabric-Anwendungen
- SQL Server auf Azure-VMs: Konfigurieren Sie die Azure Key Vault-Integration für SQL Server auf Azure-VMs
- Speicher: Zugriff auf Daten in Azure Storage autorisieren
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.
- 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.
- Überprüfen Sie die Kontrollen im Microsoft Cloud Security Benchmark v2: Privilegierter Zugriff für umfassende Anleitungen zu Geheimnissen und privilegiertem Zugriff sowie Azure Policy-Zuordnungen.
- Erfahren Sie mehr über die Microsoft Secure Future Initiative, Microsoft Best-Practices für interne Sicherheit zum Schutz von Identitäten und Geheimnissen, die Microsoft auch Organisationen empfiehlt.
- Unter Zero Trust-Konzept für Identitätsmanagement erhalten Sie Anleitungen zur Implementierung von Zero Trust-Prinzipien für die Identitäts- und Zugriffsverwaltung.