Delen via


Beveiligingsoverwegingen voor de Azure Spring Apps-landingszoneversneller

In dit artikel worden beveiligingsoverwegingen en aanbevelingen beschreven voor een workload die wordt gehost in Azure Spring Apps. Deze richtlijnen helpen u bij het maken van een workload die in staat is om beveiligingsproblemen te detecteren, te voorkomen en erop te reageren.

Een beveiligde toepassing kan de beveiliging van de hele workload niet garanderen. Als eigenaar van de workload evalueert u menselijke fouten en evalueert u het kwetsbaarheid voor aanvallen, zoals de toepassing en de infrastructuurservices waarmee de toepassing communiceert.

Azure biedt beveiligingscontroles voor het netwerk, de identiteit en gegevens ter ondersteuning van uw diepgaande verdedigingsstrategie. Veel van de besturingselementen zijn ingebouwd in Azure Spring Apps. Deze richtlijnen zijn gebaseerd op de Azure-beveiligingsbasislijn voor Azure Spring Apps, die is afgeleid van Azure Security Benchmark versie 2.0. De benchmark biedt aanbevelingen voor het beveiligen van uw workload die wordt uitgevoerd in de Azure Spring Apps-cloud.

De gecentraliseerde teams bieden netwerk- en identiteitscontroles als onderdeel van het platform. Ze bieden kaders voor het onderhouden van controle over platforms, toepassingen en resources in Azure. Het abonnement op de landingszone van de toepassing dat is opgegeven voor de workload, is vooraf ingericht met beleidsregels die worden overgenomen van de beheergroep.

Wanneer u de workload ontwerpt, moet u ervoor zorgen dat de beveiligingscontroles waarvan u eigenaar bent, zijn afgestemd op de centrale besturingselementen. Het ontwerp is onderworpen aan periodieke beoordelingen die worden uitgevoerd door het gecentraliseerde beveiligingsteam. Controleer regelmatig de beveiligingscontroles en het platformbeleid met de centrale teams om ervoor te zorgen dat aan de workloadvereisten wordt voldaan.

Zie voor meer informatie over het platformontwerp:

Ontwerpoverwegingen

  • Intern verkeer. Beperk of sta verkeer toe tussen interne resources om een bedrijfssegmentatieprincipe te volgen dat overeenkomt met de bedrijfsrisico's. Maak waar nodig isolatiegrenzen via virtuele netwerken en subnetten. Implementeer regels om verkeersstromen tussen netwerken te beperken.

  • Extern verkeer. Gebruik systeemeigen Azure-resources om uw workloadresources te beschermen tegen aanvallen van externe netwerken, waaronder:

    • DDoS-aanvallen (Distributed Denial of Service).
    • Toepassingsspecifieke aanvallen.
    • Ongevraagd en mogelijk schadelijk internetverkeer.
  • Identiteitsbeheer. Gebruik Microsoft Entra-functies, zoals beheerde identiteiten, eenmalige aanmelding, sterke verificaties, beheerde identiteiten en voorwaardelijke toegang om verificatie en autorisatie te bieden via Microsoft Entra-id.

  • Beveiligingsbewaking. Het systeem moet bewakingshulpprogramma's hebben om bedreigingen te detecteren en naleving te meten met behulp van de doelstellingen van de organisatie en de azure Security Benchmark-controles. Deze hulpprogramma's moeten worden geïntegreerd met centrale SIEM-systemen (Security Information and Event Management) om een holistische weergave van het beveiligingspostuur te krijgen.

  • Gegevens die onderweg zijn. Gegevens die worden overgedragen tussen onderdelen, locaties of API-aanroepen, moeten worden versleuteld.

  • Data-at-rest. Alle persistente gegevens, inclusief configuratie, moeten worden versleuteld.

  • Governancebeleid. U moet afwijkingen detecteren van de nalevingsstandaarden die uw organisatie instelt. Azure Policy biedt ingebouwde definities die moeten worden toegepast om de afwijkingen te detecteren. Wanneer u beleidsregels toepast, zorgt dit er niet voor dat u volledig voldoet aan alle vereisten van een besturingselement. Er zijn mogelijk compatibele standaarden die niet worden behandeld in ingebouwde definities.

  • Referentieblootstelling. U kunt code, configuraties en persistente gegevens implementeren en uitvoeren met identiteiten of geheimen. Zorg ervoor dat de referenties worden onderzocht wanneer u toegang hebt tot de assets.

  • Certificaatbeheer. Certificaten moeten worden geladen op basis van het zero trust-principe van nooit vertrouwen, altijd verifiëren en moeten referentiesvrij zijn. Vertrouw gedeelde certificaten alleen door de identiteit te verifiëren voordat u toegang verleent tot de certificaten.

  • Consistente implementaties. Gebruik infrastructure-as-code (IaC) om het inrichten en configureren van alle Azure-resources te automatiseren en het beveiligingspostuur te versterken.

Ontwerpaanaanvelingen

Netwerk als perimeter

Deze netwerkbesturingselementen maken isolatiegrenzen en beperken stromen in en uit de toepassing.

Netwerksegmentatie

Maak of gebruik een bestaand virtueel netwerk wanneer u Azure Spring Cloud-serviceresources implementeert.

Maak isolatie binnen het virtuele netwerk via subnetten. Beperk of sta verkeer toe tussen interne resources met behulp van uw NSG-regels. Gebruik de functie Adaptieve netwerkbeveiliging van Microsoft Defender voor Cloud om de NSG-configuraties die poorten en bron-IP-adressen beperken, verder te beperken. Baseer de configuraties op regels voor extern netwerkverkeer.

Wanneer u beveiligingsregels maakt, gebruikt u Azure-servicetags om de besturingselementen voor netwerktoegang te definiëren in plaats van specifieke IP-adressen. Wanneer u de naam van de servicetag opgeeft in het bron- of doelveld van de juiste regel, staat u het verkeer voor de bijbehorende service toe of weigert. Microsoft beheert de adresvoorvoegsels die worden gedekt door de servicetag. De servicetag wordt automatisch bijgewerkt wanneer adressen worden gewijzigd.

Gebruik de AzureSpringCloud servicetag in netwerkbeveiligingsgroepen of Azure Firewall om verkeer naar toepassingen in Azure Spring Apps toe te staan.

Zie Klantverantwoordelijkheden voor het uitvoeren van Azure Spring Cloud in een virtueel netwerk voor meer informatie.

Verbinding met privénetwerken

Gebruik in een omgeving met een puntkomma Azure ExpressRoute of vpn (virtueel particulier netwerk) van Azure om privéverbindingen te maken tussen Azure-datacenters en on-premises infrastructuur. ExpressRoute-verbindingen gaan niet via het openbare internet met betrouwbaarheid, snellere snelheden en lagere latenties.

Voor punt-naar-site-VPN en site-naar-site-VPN verbindt u on-premises apparaten of netwerken met een virtueel netwerk. Gebruik een combinatie van deze VPN-opties en Azure ExpressRoute.

Als u twee of meer virtuele netwerken in Azure wilt verbinden, gebruikt u peering van virtuele netwerken. Netwerkverkeer tussen gekoppelde virtuele netwerken is privé. Dit type verkeer wordt bewaard in het Backbone-netwerk van Azure.

Aanvallen van externe netwerken

Plaats besturingselementen voor binnenkomend verkeer en blokkeer aanvallen op de toepassingslaag met Azure-toepassing Gateway met geïntegreerde WAF (Web Application Firewall).

Gebruik Azure Firewall om uitgaand verkeer van de toepassing te beperken. U kunt Azure Firewall gebruiken om toepassingen en services te beschermen tegen mogelijk schadelijk verkeer van internet en andere externe locaties.

Filteren op basis van bedreigingsinformatie van Azure Firewall kan u een waarschuwing sturen of verkeer naar en van bekende schadelijke IP-adressen en domeinen blokkeren. De IP-adressen en domeinen zijn afkomstig van de Microsoft Bedreigingsinformatie-feed. Wanneer inspectie van nettolading nodig is, implementeert u een inbraakdetectie-/inbraakpreventiesysteem (IDS/IPS) van Azure Marketplace met payloadinspectiemogelijkheden. U kunt ook host-id's/IPS of een EDR-oplossing (Host-based Endpoint Detection and Response) gebruiken met of in plaats van netwerk-id's/IPS.

Als u de workloadresources wilt beschermen tegen DDoS-aanvallen, schakelt u DDoS-standaardbeveiliging in voor uw virtuele Azure-netwerken. Gebruik Microsoft Defender voor Cloud om onjuiste configuratierisico's voor uw netwerkgerelateerde resources te detecteren.

Domain Name Service (DNS) beveiligen

Azure DNS gebruiken om DNS-domeinen te hosten. Bescherm DNS-zones en -records tegen slechte actoren. Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) en resourcevergrendelingen worden hiervoor aanbevolen. Zieende DNS-vermeldingen voorkomen en overname van subdomeinen voorkomen voor meer informatie.

De identiteit als de perimeter

Azure biedt identiteitsbesturingselementen via Microsoft Entra-id. De toepassing heeft veel functies, zoals eenmalige aanmelding, sterke verificaties, beheerde identiteiten en voorwaardelijke toegang. Zie Identiteitsoverwegingen voor de azure Spring Apps-landingszoneversneller voor meer informatie over de ontwerpkeuzen voor de architectuur.

In de volgende sectie worden de beveiligingsaspecten van deze keuzes beschreven.

Integratie met het gecentraliseerde identiteitssysteem

Azure-landingszones maken gebruik van Microsoft Entra ID als de standaardservice voor identiteits- en toegangsbeheer. Voor het beheren van de workloadservices wordt gecentraliseerde Microsoft Entra-id aanbevolen. Gecentraliseerde Microsoft Entra-id omvat toegang tot de netwerkbronnen van de organisatie, Azure Storage, Key Vault en andere services die afhankelijk zijn van uw toepassing.

Als u toegang wilt verlenen tot het Gegevensvlak van Azure Spring Apps, gebruikt u de ingebouwde rol van Azure Spring Cloud-gegevenslezer . Deze rol verleent alleen-lezenmachtigingen.

Deze Microsoft Entra-functies worden aanbevolen:

  • Toepassingsidentiteiten. De toepassing moet mogelijk toegang krijgen tot andere Azure-services. Als het bijvoorbeeld geheimen uit Azure Key Vault wil ophalen.

    Gebruik beheerde identiteiten met Azure Spring Apps, zodat de toepassing zichzelf kan verifiëren bij andere services met behulp van Microsoft Entra-id. Vermijd het gebruik van service-principals voor dit doel. Het verificatieproces voor beheerde identiteiten gebruikt geen referenties die zijn vastgelegd in broncode- of configuratiebestanden.

    Als u service-principals met certificaatreferenties wilt gebruiken en terug wilt vallen op clientgeheimen, wordt u aangeraden Microsoft Entra-id te gebruiken om een service-principal te maken met beperkte machtigingen op resourceniveau.

    In beide gevallen kan Key Vault worden gebruikt met door Azure beheerde identiteiten. Een runtimeonderdeel, zoals een Azure-functie, kan worden gebruikt om de geheimen op te halen uit Key Vault. Zie Verificatie in Azure Key Vault voor meer informatie.

  • Eenmalige aanmelding van Microsoft Entra. Microsoft Entra SSO wordt aanbevolen om toegang tot de toepassing te verifiëren vanuit andere toepassingen of apparaten die worden uitgevoerd in de cloud of on-premises. Eenmalige aanmelding biedt identiteitsbeheer voor interne en externe gebruikers, zoals partners of leveranciers.

  • Sterke verificatiecontroles. Microsoft Entra ID ondersteunt krachtige verificatiecontroles via meervoudige verificatie (MFA) en sterke methoden zonder wachtwoord. Gebruik voor beheerders en bevoegde gebruikers het hoogste niveau van de sterke verificatiemethode om de straal te verminderen als er sprake is van een inbreuk. Implementer vervolgens het juiste sterke verificatiebeleid voor andere gebruikers. Zie MFA inschakelen in Azure en opties voor verificatie zonder wachtwoord voor Microsoft Entra ID voor meer informatie.

  • Voorwaardelijke toegang tot resources. Azure Spring Apps ondersteunt voorwaardelijke toegang van Microsoft Entra voor een gedetailleerder toegangsbeheer dat is gebaseerd op door de gebruiker gedefinieerde voorwaarden. U kunt voorwaarden instellen voor het opnemen van gebruikersaanmelding van bepaalde IP-bereiken die moeten worden aangemeld met behulp van MFA. Deze beleidsregels voor voorwaardelijke toegang zijn alleen van toepassing op gebruikersaccounts die worden geverifieerd bij Microsoft Entra-id voor toegang tot en beheer van toepassingen. Deze beleidsregels zijn niet van toepassing op service-principals, sleutels of tokens die worden gebruikt om verbinding te maken met uw workloadresources.

  • Bevoegde toegang. Implementeer Microsoft Entra Privileged Identity Management om toegang tot minimale bevoegdheden en uitgebreide rapportage in uw hele Azure-omgeving te garanderen. Teams moeten terugkerende toegangsbeoordelingen starten om ervoor te zorgen dat de juiste personen en serviceprincipes actuele en juiste autorisatieniveaus hebben.

Gegevensbesturingselementen

Netwerk- en identiteitsbeheer beperken de toegang tot de toepassing, maar de gegevens moeten worden beveiligd. Versleuteling zorgt voor gegevensintegriteit en is een belangrijke beveiligingsmogelijkheid die moet worden toegepast om bedreigingen te beperken.

Actieve gegevens

Overgedragen gegevens zijn vatbaar voor out-of-band-aanvallen, zoals het vastleggen van verkeer. Gebruik versleuteling om ervoor te zorgen dat aanvallers die gegevens niet gemakkelijk kunnen lezen of wijzigen. Azure biedt versleuteling voor gegevens die worden overgedragen tussen Azure-datacenters.

Azure Spring Apps ondersteunt versleuteling met TLS (Transport Layer Security) v1.2 of hoger. TLS biedt beveiligde communicatie via identiteit en vertrouwen en versleutelt de communicatie van alle typen. U kunt elk type TLS-certificaat gebruiken. Certificaten die zijn uitgegeven door een certificeringsinstantie, uitgebreide validatiecertificaten, jokertekencertificaten met ondersteuning voor een willekeurig aantal subdomeinen of zelfondertekende certificaten voor ontwikkel- en testomgevingen.

Versleuteling is essentieel voor verkeer op externe en openbare netwerken. Alle openbare eindpunten moeten standaard HTTPS gebruiken voor binnenkomend verkeer. Beheeraanroepen voor het configureren van de Azure Spring Apps-service via Azure Resource Manager-API-aanroepen moeten via HTTPS zijn.

Voor HTTP-verkeer moet u ervoor zorgen dat clients die verbinding maken met uw Azure-resources, kunnen onderhandelen over TLS v1.2 of hoger. Gebruik geen verouderde versies of protocollen. Schakel zwakke coderingen uit.

Gebruik Voor extern beheer, in plaats van een niet-versleuteld protocol, Secure Shell (SSH) voor Linux of Remote Desktop Protocol (RDP) en TLS voor Windows.

Inactieve gegevens

De workload heeft een opslagstatus nodig voor bron en artefacten, configuratieserverinstellingen, app-instellingen en opslag. Data-at-rest aan de serverzijde wordt beveiligd door Azure Storage-versleuteling. Opslag versleutelt de inhoud automatisch met door Microsoft beheerde sleutels.

De cache van de configuratieserver, binaire runtimebestanden die zijn gebouwd op basis van geüploade bronnen en toepassingslogboeken tijdens de levensduur van de toepassing worden opgeslagen op een beheerde Azure-schijf. Deze gegevens worden automatisch versleuteld. Containerinstallatiekopieën, die zijn gebouwd op basis van de door de gebruiker geüploade bron, worden versleuteld en opgeslagen in Azure Container Registry.

Voor ondersteuningsscenario's gebruikt u Customer Lockbox voor Microsoft Azure wanneer Microsoft toegang nodig heeft tot relevante klantgegevens, omdat uw team of organisatie de toegang moet goedkeuren.

Controleren op accountafwijkingen en hiervoor waarschuwen

Microsoft Defender voor Cloud wordt aanbevolen om waarschuwingen te ontvangen over verdachte activiteiten, zoals een overmatig aantal mislukte verificatiepogingen of afgeschafte accounts in het abonnement.

Azure Spring Apps is geïntegreerd met Microsoft Entra ID, waarmee aanmeldingsactiviteiten kunnen worden bijgehouden, waaronder riskante aanmeldingen. U kunt auditlogboeken gebruiken om wijzigingen te detecteren die zijn aangebracht in alle resources binnen Microsoft Entra-id. De gegevens zijn geïntegreerd met Azure Monitor en kunnen worden geëxporteerd naar Microsoft Sentinel.

Zie voor meer informatie:

Governancebeleid

Met de ingebouwde definitie van Azure met de naam Azure Spring Cloud moet netwerkinjectie worden gebruikt, kunt u netwerkcontroles afdwingen.

  1. Detecteer de implementatie van isolatiegrenzen voor de toepassing vanaf internet.
  2. Schakel Azure Spring Apps in om te communiceren met privénetwerken in on-premises datacenters of Azure-service in andere virtuele netwerken.
  3. Binnenkomende en uitgaande netwerkcommunicatie beheren voor het virtuele Azure Spring Apps-netwerk.

Certificaatbeheer

Een app heeft mogelijk openbare TLS-certificaten nodig bij het communiceren met back-endservices of on-premises systemen. U kunt de certificaten uploaden in Key Vault.

Spring Boot-apps gebruiken beheerde identiteiten en op rollen gebaseerd toegangsbeheer (RBAC) van Azure om certificaten van Key Vault veilig te laden. Azure Spring Apps maakt gebruik van een providerservice-principal en op rollen gebaseerd toegangsbeheer van Azure. Dit beveiligde laden wordt mogelijk gemaakt met behulp van de JCA-provider (Java Cryptography Architecture) van Azure Key Vault. Zie de JCA-clientbibliotheek van Azure Key Vault voor Java voor meer informatie.

Als uw Spring-code, Java-code of opensource-bibliotheken, zoals OpenSSL, afhankelijk zijn van de JVM-standaard-JCA-keten om impliciet certificaten te laden in het vertrouwensarchief van de JVM, kunt u uw TLS-certificaten uit Key Vault importeren in Azure Spring Apps. Gebruik deze certificaten in de app. Zie TLS/SSL-certificaten gebruiken in uw toepassing in Azure Spring Apps voor meer informatie.

Referenties scannen

Implementeer referentiescanner om referenties te identificeren die toegang hebben tot code, configuraties en persistente gegevens. Referentiescanner moedigt u aan gedetecteerde referenties te verplaatsen naar veiligere locaties, zoals Key Vault.

Voor GitHub kunt u de systeemeigen functie voor het scannen van geheimen gebruiken om referenties of andere vormen van geheimen in de code te identificeren.

Zie voor meer informatie:

Volgende stappen

Bewakingsbewerkingen