Freigeben über


Überlegungen zur Sicherheit des Azure Spring Apps-Zielzonenbeschleunigers

Dieser Artikel enthält Informationen zu Sicherheitsaspekten und Empfehlungen für in Azure Spring Apps gehostete Workloads. Dieser Leitfaden hilft Ihnen beim Erstellen einer Workload, die in der Lage ist, Sicherheitsrisiken zu erkennen, zu verhindern und darauf zu reagieren.

Eine geschützte Anwendung kann nicht die Sicherheit der gesamten Workload gewährleisten. Als Besitzer der Workload bewerten Sie menschliche Fehler und die Angriffsoberfläche, wie die Anwendung und die Infrastrukturdienste, mit denen die Anwendung interagiert.

Azure bietet verschiedene Sicherheitskontrollen für das Netzwerk, die Identität und die Daten, um Ihre Strategie für eine mehrschichtige Verteidigung zu unterstützen. Viele dieser Kontrollen sind in Azure Spring Apps integriert. Diese Anleitung beruht auf der Azure-Sicherheitsbaseline für Azure Spring Apps, die auf der Azure Security Benchmark Version 2.0 basiert. Der Benchmark bietet Empfehlungen, wie Sie Ihre Workload sichern können, die in der Azure Spring Apps-Cloud ausgeführt werden.

Die zentralisierten Teams stellen Netzwerk- und Identitätskontrollen als Teil der Plattform bereit. Sie bieten Leitplanken, um die Kontrolle über Plattformen, Anwendungen und Ressourcen in Azure zu behalten. Das Zielzonenabonnement der Anwendung, das für den Workload bereitgestellt wurde, erhält vorab Richtlinien zugewiesen, die von der Verwaltungsgruppe übernommen werden.

Achten Sie bei der Gestaltung der Workload darauf, dass die Sicherheitskontrollen, die Sie besitzen, mit den zentralen Kontrollen abgestimmt sind. Der Entwurf unterliegt regelmäßigen Überprüfungen, die vom zentralen Sicherheitsteam durchgeführt werden. Überprüfen Sie regelmäßig die Sicherheitskontrollen und Plattformrichtlinien mit den zentralen Teams, um sicherzustellen, dass die Workloadanforderungen erfüllt sind.

Informationen zum Plattformentwurf finden Sie unter:

Überlegungen zum Entwurf

  • Interner Datenverkehr Einschränken oder Zulassen des Datenverkehrs zwischen internen Ressourcen, um einem Unternehmenssegmentierungsprinzip zu folgen, das an den Geschäftsrisiken ausgerichtet ist. Bei Bedarf erstellen Sie Isolationsgrenzen durch virtuelle Netzwerke und Subnetze. Implementieren Sie Regeln zum Einschränken von Datenverkehrsflüssen zwischen Netzwerken.

  • Externer Datenverkehr Verwenden Sie native Azure-Ressourcen, um Ihre Workloadressourcen vor Angriffen aus externen Netzwerken zu schützen, einschließlich:

    • Verteilte Denial-of-Service-Angriffe (DDoS).
    • Anwendungsspezifische Angriffe.
    • Unerwünschter und potenziell schädlicher Internetdatenverkehr.
  • Identitätsverwaltung. Verwenden Sie Microsoft Entra-Features, z. B. verwaltete Identitäten, einmaliges Anmelden, starke Authentifizierungen, verwaltete Identitäten und bedingten Zugriff zum Bereitstellen der Authentifizierung und Autorisierung über Microsoft Entra ID.

  • Sicherheitsüberwachung. Das System sollte über Überwachungstools verfügen, um Bedrohungen zu erkennen und die Compliance zu messen, indem Organisationsziele und die Azure Security Benchmark-Kontrollen verwendet werden. Diese Tools sollten in zentrale SIEM (Security Information and Event Management)-Systeme integriert werden, um eine ganzheitliche Sicht des Sicherheitsstatus zu erhalten.

  • Daten während der Übertragung: Daten, die zwischen Komponenten, Speicherorten oder API-Aufrufen übertragen werden, müssen verschlüsselt sein.

  • Ruhende Daten: Alle persistenten Daten, einschließlich der Konfiguration, müssen verschlüsselt werden.

  • Governancerichtlinien. Sie sollten Abweichungen von den Compliancestandards erkennen, die Ihr Organisation festlegt. Azure Policy bietet integrierte Definitionen, die angewendet werden sollten, um diese Abweichungen zu erkennen. Wenn Sie Richtlinien anwenden, stellt dies nicht sicher, dass Sie vollständig mit allen Anforderungen einer Kontrolle konform sind. Möglicherweise gibt es konforme Standards, die in den integrierten Definitionen nicht adressiert sind.

  • Offenlegung von Anmeldeinformationen Sie können Code, Konfigurationen und persistente Daten mit Identitäten oder Geheimnissen bereitstellen und ausführen. Stellen Sie sicher, dass die Anmeldeinformationen untersucht werden, wenn Sie auf die Ressourcen zugreifen.

  • Zertifikatverwaltung. Zertifikate müssen basierend auf Zero Trust-Prinzip (niemals vertrauen, immer überprüfen) geladen werden und frei von Anmeldeinformationen sein. Vertrauen Sie nur freigegeben Zertifikaten, indem Sie zunächst die Identität verifizieren, bevor Sie den Zugriff auf die Zertifikate erteilen.

  • Konsistente Bereitstellungen Verwenden Sie Infrastructure-as-Code (IaC), um die Bereitstellung und Konfiguration aller Azure-Ressourcen zu automatisieren und den Sicherheitsstatus zu stärken.

Entwurfsempfehlungen

Netzwerk als Umkreis

Diese Netzwerkkontrollen schaffen Isolationsgrenzen und beschränken Flows in und aus der Anwendung.

Netzwerksegmentierung

Erstellen oder verwenden Sie ein vorhandenes virtuelles Netzwerk, wenn Sie Azure Spring Cloud-Dienstressourcen bereitstellen.

Erstellen Sie durch Subnetze eine Isolation innerhalb des virtuellen Netzwerks. Schränken Sie den Datenverkehr zwischen internen Ressourcen ein oder lassen Sie ihn zu, indem Sie NSG-Regeln verwenden. Verwenden Sie die Adaptive Netzwerkhärtungsfunktion von Microsoft Defender for Cloud, um die NSG-Konfigurationen weiter zu härten, die Ports und Quell-IP-Adressen einschränken. Verwenden Sie als Grundlage für die Konfigurationen Regeln für externen Netzwerkdatenverkehr.

Wenn Sie Sicherheitsregeln verwenden, verwenden Sie Azure-Diensttags, um Netzwerkzugriffskontrollen statt bestimmter IP-Adressen zu definieren. Wenn Sie den Diensttagnamen im Quell- oder Zielfeld der entsprechenden Regel angeben, lassen Sie den Datenverkehr für den entsprechenden Dienst zu oder verweigern ihn. Microsoft verwaltet die Adresspräfixe, die durch das Diensttag abgedeckt werden. Das Diensttag wird automatisch aktualisiert, wenn Adressen sich ändern.

Verwenden Sie das AzureSpringCloud-Diensttag für Netzwerksicherheitsgruppen oder Azure Firewall, um Datenverkehr zu Anwendungen in Azure Spring Apps zuzulassen.

Weitere Informationen finden Sie unter Kundenzuständigkeiten für die Ausführung von Azure Spring Cloud im virtuellen Netzwerk.

Verbindung mit privaten Netzwerken

Verwenden Sie in einer gemeinsamen Umgebung Azure ExpressRoute oder ein virtuelles privates Azure-Netzwerk (Virtual Private Network, VPN), um private Verbindungen zwischen Azure-Rechenzentren und der lokalen Infrastruktur herzustellen. ExpressRoute-Verbindungen werden nicht über das öffentliche Internet hergestellt und zeichnen sich durch eine höhere Zuverlässigkeit und Geschwindigkeit sowie durch geringere Latenzen aus.

Verbinden Sie für Point-to-Site-VPN und Site-to-Site-VPN lokale Geräte oder Netzwerke mit einem virtuellen Netzwerk. Verwenden Sie eine beliebige Kombination dieser VPN-Optionen und Azure ExpressRoute.

Um zwei oder mehr virtuelle Netzwerke miteinander verbinden, verwenden Sie Peering virtueller Netzwerke. Netzwerkdatenverkehr zwischen virtuellen Netzwerken, die mittels Peering verknüpft sind, ist privat. Diese Art von Datenverkehr erfolgt im Azure-Backbonenetzwerk.

Angriffe von externen Netzwerken

Kontrollieren Sie den eingehenden Datenverkehr und blockieren Sie Angriffe auf der Anwendungsebene mit Azure Application Gateway mit integrierter Web Application Firewall (WAF).

Verwenden Sie Azure Firewall, um ausgehenden Datenverkehr von der Anwendung zu beschränken. Sie können Azure Firewall verwenden, um Anwendungen und Dienste vor potenziell schädlichem Datenverkehr aus dem Internet und von anderen externen Standorten zu schützen.

Das Filtern basierend auf Azure Firewall Threat Intelligence kann Ihnen Benachrichtigungen senden oder Datenverkehr von und zu bekannten schädlichen IP-Adressen oder Domänen blockieren. Die IP-Adressen und Domänen stammen aus dem Microsoft Threat Intelligence-Feed. Wenn eine Payloaduntersuchung erforderlich ist, können Sie aus Azure Marketplace ein Angriffserkennungs-/Eindringschutzsystem (IDS/IPS) eines Drittanbieters mit Payloaduntersuchungsfunktionen bereitstellen. Sie können auch eine hostbasierte IDS/IPS-Lösung oder eine Lösung fürEndpunkterkennung und Reaktion (Endpoint Detection and Response, EDR) mit einem oder anstelle eines netzwerkbasierten IDS/IPS verwenden.

Schützen Sie Ihre Workloadressourcen durch Aktivieren des DDoS-Standardschutzes in Ihren virtuellen Azure-Netzwerken vor DDoS-Angriffen. Verwenden Sie Microsoft Defender for Cloud, um Risiken durch Fehlkonfigurationen für Ihre netzwerkbezogenen Ressourcen zu erkennen.

Schutz von Domain Name Service (DNS)

Verwenden Sie Azure DNS zum Hosten von DNS-Domänen. Schützen Sie DNS-Zonen und Datensätze vor böswilligen Akteuren. Zu diesem Zweck werden rollenbasierte Zugriffssteuerung (Azure RBAC) und Ressourcensperren in Azure empfohlen. Weitere Informationen finden Sie unter Verhindern verwaister DNS-Einträge und Vermeiden von Unterdomänenübernahmen.

Identität als Zugriffskriterium

Azure stellt Identitätssteuerelemente über Microsoft Entra ID bereit. Die Anwendung hat viele Features, z. B. einmaliges Anmelden, starke Authentifizierungen, verwaltete Identitäten und bedingter Zugriff. Informationen zu den Entwurfsoptionen für die Architektur finden Sie unter Überlegungen zur Identität für den Azure Spring Apps-Zielzonenbeschleuniger.

Im folgenden Abschnitt werden die Sicherheitsaspekte dieser Wahlmöglichkeiten beschrieben.

Integration in das zentrale Identitätssystem

Azure-Zielzonen verwenden Microsoft Entra ID als Standarddienst für die Identitäts- und Zugriffsverwaltung. Um die Workloaddienste zu steuern, wird zentralisiertes Microsoft Entra ID empfohlen. Zentralisiertes Microsoft Entra ID schließt den Zugriff auf die Netzwerkressourcen der Organisation, Azure Storage, Key Vault und andere Dienste ein, von denen Ihre Anwendung abhängig ist.

Wenn Sie der Azure Spring Apps-Datenebene Zugriff gewähren wollen, verwenden Sie die integrierte Rolle Azure Spring Cloud-Datenleser. Diese Rolle gewährt schreibgeschützte Berechtigungen.

Diese Microsoft Entra-Features werden empfohlen:

  • Anwendungsidentitäten Die Anwendung muss möglicherweise auf andere Azure-Dienste zugreifen. Beispielsweise, wenn sie Geheimnisse aus Azure Key Vault abrufen will.

    Verwenden Sie verwaltete Identitäten mit Azure Spring Apps, damit sich die Anwendung mithilfe von Microsoft Entra ID bei einem anderen Dienst authentifizieren kann. Vermeiden Sie es, Dienstprinzipale zu diesem Zweck zu verwenden. Im Authentifizierungsprozess für verwaltete Identitäten werden keine im Quellcode oder in Konfigurationsdateien hartcodierten Anmeldeinformationen verwendet.

    Wenn Sie Dienstprinzipale mit Zertifikatsanmeldeinformationen und Fallback auf geheime Clientschlüssel verwenden müssen, wird empfohlen, mit Microsoft Entra ID einen Dienstprinzipal mit eingeschränkten Berechtigungen auf Ressourcenebene zu erstellen.

    In beiden Fällen kann Key Vault mit von Azure verwalteten Identitäten verwendet werden. Eine Runtimekomponente, z. B. eine Azure-Funktion, kann verwendet werden, um die Geheimnisse aus Key Vault abzurufen. Weitere Informationen finden Sie unter Authentifizierung in Azure Key Vault.

  • Einmaliges Anmelden (SSO) von Microsoft Entra. Microsoft Entra SSO wird empfohlen, um den Zugriff auf die Anwendung von anderen Anwendungen oder Geräten zu authentifizieren, die in der Cloud oder lokal ausgeführt werden. SSO bietet Identitätsverwaltung für interne und externe Benutzer, z. B. Partner und Anbieter.

  • Strenge Authentifizierungskontrollen Microsoft Entra ID unterstützt strenge Authentifizierungskontrollen mit mehrstufiger Authentifizierung (MFA) und sicheren Methoden für die kennwortlose Authentifizierung. Verwenden Sie für Administratoren und privilegierte Benutzer die höchste Ebene der starken Authentifizierungsmethode, um den Explosionsradius zu verringern, wenn eine Sicherheitsverletzung auftritt. Führen Sie dann die entsprechende Richtlinie für starke Authentifizierung für andere Benutzer ein. Weitere Informationen finden Sie unter Aktivieren von MFA in Azure und Kennwortlose Authentifizierungsoptionen für Microsoft Entra ID.

  • Bedingter Zugriff auf Ressourcen Azure Spring Apps unterstützt bedingten Microsoft Entra-Zugriff für eine präzisere Zugriffssteuerung, die auf benutzerdefinierten Bedingungen basiert. Sie können Bedingungen festlegen, um Benutzeranmeldungen von bestimmten IP-Adressbereichen einzuschließen, die sich mit MFA anmelden müssen. Diese Richtlinien für bedingten Zugriff gelten nur für Benutzerkonten, die sich bei Microsoft Entra ID authentifizieren, um auf Anwendungen zuzugreifen und diese zu verwalten. Diese Richtlinien gelten nicht für Dienstprinzipale, Schlüssel oder Token, die zum Herstellen einer Verbindung mit Ihren Workloadressourcen verwendet werden.

  • Privilegierter Zugriff. Implementieren Sie Microsoft Entra Privileged Identity Management, um Zugriff mit geringsten Rechten und umfassende Berichterstellung in Ihrer gesamten Azure-Umgebung sicherzustellen. Teams sollte mit wiederkehrenden Zugriffsüberprüfungen beginnen, um sicherzustellen, dass die richtigen Personen und Dienstprinzipale über aktuelle und korrekte Autorisierungsebenen verfügen.

Datensteuerelemente

Netzwerk- und Identitätskontrollen schränken den Zugriff auf die Anwendung ein, aber die Daten müssen geschützt werden. Die Verschlüsselung stellt die Datenintegrität sicher und ist eine wichtige Sicherheitsfunktion, die angewendet werden muss, um Bedrohungen zu minimieren.

Daten während der Übertragung

Übertragene Daten sind anfällig für Out-of-Band-Angriffe, z. B. die Aufzeichnung von Datenverkehr. Verwenden Sie Verschlüsselung, um sicherzustellen, dass Angreifer diese Daten nicht einfach lesen oder ändern können. Azure ermöglicht standardmäßig die Verschlüsselung von Daten während der Übertragung zwischen Azure-Rechenzentren.

Azure Spring Apps unterstützt die Verschlüsselung mit TLS v1.2 (Transport Layer Security) oder höher. TLS bietet sichere Kommunikation durch Identität und Vertrauensstellung und verschlüsselt alle Arten von Kommunikation. Sie können jede Art von TLS-Zertifikat verwenden. Beispielsweise von einer Zertifizierungsstelle ausgestellte Zertifikate, erweiterte Validierungszertifikate, Wildcard-Zertifikate mit Unterstützung für eine beliebige Anzahl von Subdomänen oder selbstsignierte Zertifikate für Entwicklungs- und Testumgebungen.

Die Verschlüsselung ist entscheidend für den Datenverkehr in externen und öffentlichen Netzwerken. Alle öffentlichen Endpunkte müssen HTTPS für eingehenden Datenverkehr verwenden. Verwaltungsaufrufe zum Konfigurieren des Azure Spring Apps-Diensts über Azure Resource Manager-API-Aufrufe müssen über HTTPS erfolgen.

Stellen Sie bei HTTP-Verkehr sicher, dass Clients, die eine Verbindung mit Ihren Azure-Ressourcen herstellen, TLS 1.2 oder höher verwenden können. Verwenden Sie keine veralteten Versionen oder Protokolle. Deaktivieren schwacher Verschlüsselungen

Verwenden Sie für die Remoteverwaltung anstelle eines unverschlüsselten Protokolls SSH (Secure Shell) für Linux oder RDP (Remotedesktopprotokoll) und TLS für Windows.

Ruhende Daten

Die Workload benötigt einen Speicherstatus für Quelle und Artefakte, Konfigurationsservereinstellungen, App-Einstellungen und Speicher. Serverseitige ruhende Daten werden durch Azure Storage-Verschlüsselung geschützt. Der Speicher verschlüsselt den Inhalt automatisch mit von Microsoft verwalteten Schlüsseln.

Konfigurationsservercache, Runtimebinärdateien, die aus der hochgeladenen Quelle erstellt wurden, und Anwendungsprotokolle während der Anwendungslebensdauer werden auf einem verwalteten Azure-Datenträger gespeichert. Diese Daten werden automatisch verschlüsselt. Containerimages, die aus der vom Benutzer hochgeladenen Quelle erstellt werden, werden verschlüsselt und in Azure Container Registry gespeichert.

In Supportszenarien, in denen Microsoft Zugriff auf relevante Kundendaten benötigt, verwenden Sie die Kunden-Lockbox für Microsoft Azure, weil Ihr Team oder Ihre Organisation den Zugriff genehmigen müssen.

Überwachen und Warnen bei Kontoanomalien

Microsoft Defender for Cloud wird empfohlen, um Benachrichtigungen über verdächtige Aktivitäten zu erhalten, z. B. eine übermäßige Anzahl fehlgeschlagener Authentifizierungsversuche oder veraltete Konten im Abonnement.

Azure Spring Apps ist in Microsoft Entra ID integriert, das Anmeldeaktivitäten einschließlich riskanter Anmeldungen nachverfolgen kann. Sie können Überwachungsprotokolle verwenden, um Änderungen zu erkennen, die an beliebigen Ressourcen innerhalb von Microsoft Entra ID vorgenommen werden. Die Daten sind in Azure Monitor integriert und lassen sich für Microsoft Sentinel exportieren.

Weitere Informationen finden Sie unter:

Governancerichtlinien

Die integrierte Definition mit Namen Azure Spring Cloud sollte Netzwerkinjektion verwenden in Azure ermöglicht es Ihnen, Netzwerkkontrollen zu erzwingen.

  1. Erkennen Sie die Implementierung von Isolationsgrenzen für die Anwendung aus dem Internet.
  2. Aktivieren Sie Azure Spring Apps, um mit privaten Netzwerken in lokalen Rechenzentren oder dem Azure-Dienst in anderen virtuellen Netzwerken zu kommunizieren.
  3. Kontrollieren Sie die eingehende und ausgehende Netzwerkkommunikation für das virtuelle Netzwerk von Azure Spring Apps.

Zertifikatverwaltung

Eine App benötigt möglicherweise öffentliche TLS-Zertifikate für die Kommunikation mit Back-End-Diensten oder lokalen Systemen. Sie können die Zertifikate in Key Vault hochladen.

Um Zertifikate sicher aus Key Vault zu laden, verwenden Spring Boot-Apps verwaltete Identitäten und die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Azure. Azure Spring Apps verwendet einen Anbieterdienstprinzipal und die rollenbasierte Zugriffssteuerung von Azure. Dieses sichere Laden erfolgt mithilfe des Java Cryptography Architecture (JCA)-Anbieters von Azure Key Vault. Weitere Informationen finden Sie unter Azure Key Vault JCA-Clientbibliothek für Java.

Wenn Ihre Spring-Code-, Java-Code- oder Ihre Open-Source-Bibliotheken wie OpenSSL auf die standardmäßige JCA-Kette der JVM angewiesen sind, um Zertifikate implizit in den Vertrauensspeicher von JVM zu laden, können Sie Ihre TLS-Zertifikate aus Key Vault in Azure Spring Apps importieren. Verwenden Sie diese Zertifikate innerhalb der App. Weitere Informationen finden Sie unter Verwenden von TLS/SSL-Zertifikaten in Ihrer Anwendung in Azure Spring Apps.

Überprüfung von Anmeldeinformationen

Implementieren Sie die Überprüfung von Anmeldeinformationen, um Anmeldeinformationen zu identifizieren, die auf Code, Konfigurationen und persistente Daten zugreifen. Der Scanner für Anmeldeinformationen empfiehlt Ihnen, ermittelte Anmeldeinformationen an sicherere Speicherorte zu verschieben, z. B. Key Vault.

Bei GitHub können Sie das native Feature zum Überprüfen von Geheimnissen verwenden, um Anmeldeinformationen oder andere Formen von Geheimnissen im Code zu identifizieren.

Weitere Informationen finden Sie unter:

Nächste Schritte

Überwachen von Vorgängen