Dela via


Säkerhetsöverväganden för Azure Spring Apps-acceleratorn för landningszoner

Den här artikeln beskriver säkerhetsöverväganden och rekommendationer för en arbetsbelastning som finns i Azure Spring Apps. Den här vägledningen hjälper dig att skapa en arbetsbelastning som kan identifiera, förebygga och hantera säkerhetsrisker.

Ett skyddat program kan inte garantera säkerheten för hela arbetsbelastningen. Som arbetsbelastningsägare utvärderar du mänskliga fel och utvärderar attackytan, till exempel programmet och de infrastrukturtjänster som programmet interagerar med.

Azure tillhandahåller säkerhetskontroller för nätverket, identiteten och data för att stödja din strategi för skydd på djupet. Många av kontrollerna är inbyggda i Azure Spring Apps. Den här vägledningen baseras på Azures säkerhetsbaslinje för Azure Spring Apps, som härleds från Azure Security Benchmark version 2.0. Benchmark ger rekommendationer om hur du skyddar din arbetsbelastning som körs i Azure Spring Apps-molnet.

De centraliserade teamen tillhandahåller nätverks- och identitetskontroller som en del av plattformen. De tillhandahåller skyddsmekanismer för att behålla kontrollen över plattformar, program och resurser i Azure. Prenumerationen för programlandningszonen som tillhandahålls för arbetsbelastningen är företablerad med principer som ärvs från hanteringsgruppen.

När du utformar arbetsbelastningen kontrollerar du att de säkerhetskontroller som du äger är anpassade till de centrala kontrollerna. Designen är föremål för regelbundna granskningar som utförs av det centraliserade säkerhetsteamet. Granska regelbundet säkerhetskontrollerna och plattformsprinciperna med de centrala teamen för att se till att arbetsbelastningskraven uppfylls.

Information om plattformsdesignen finns i:

Utformningsbeaktanden

  • Intern trafik. Begränsa eller tillåta att trafik mellan interna resurser följer en princip för företagssegmentering som överensstämmer med affärsriskerna. Vid behov skapar du isoleringsgränser via virtuella nätverk och undernät. Implementera regler för att begränsa trafikflöden mellan nätverk.

  • Extern trafik. Använd Azure-inbyggda resurser för att skydda dina arbetsbelastningsresurser mot attacker från externa nätverk, inklusive:

    • DDoS-attacker (Distributed Denial of Service).
    • Programspecifika attacker.
    • Oönskad och potentiellt skadlig Internettrafik.
  • Identitetshantering. Använd Microsoft Entra-funktioner, till exempel hanterade identiteter, enkel inloggning, starka autentiseringar, hanterade identiteter och villkorlig åtkomst för att tillhandahålla autentisering och auktorisering via Microsoft Entra-ID.

  • Säkerhetsövervakning. Systemet bör ha övervakningsverktyg för att identifiera hot och mäta efterlevnad med hjälp av organisationens mål och Azure Security Benchmark-kontrollerna. Dessa verktyg bör integreras med SIEM-system (Central Security Information and Event Management) för att få en helhetsbild av säkerhetsstatusen.

  • Data under överföring. Data som överförs mellan komponenter, platser eller API-anrop måste krypteras.

  • Vilande data. Alla bevarade data, inklusive konfiguration, måste krypteras.

  • Styrningsprinciper. Du bör identifiera avvikelser från de efterlevnadsstandarder som din organisation anger. Azure Policy tillhandahåller inbyggda definitioner som ska tillämpas för att identifiera avvikelserna. När du tillämpar principer ser det inte till att du är helt kompatibel med alla krav i en kontroll. Det kan finnas kompatibla standarder som inte hanteras i inbyggda definitioner.

  • Exponering av autentiseringsuppgifter. Du kan distribuera och köra kod, konfigurationer och bevarade data med identiteter eller hemligheter. Kontrollera att autentiseringsuppgifterna granskas när du kommer åt tillgångarna.

  • Certifikathantering. Certifikat måste läsas in baserat på Nulta pouzdanost principen om aldrig förtroende, verifiera alltid och de måste vara autentiseringsfria. Lita bara på delade certifikat genom att verifiera identiteten innan du beviljar åtkomst till certifikaten.

  • Konsekventa distributioner. Använd infrastruktur som kod (IaC) för att automatisera etableringen och konfigurationen av alla Azure-resurser och stärka säkerhetsstatusen.

Designrekommendationer

Nätverk som perimeter

Dessa nätverkskontroller skapar isoleringsgränser och begränsar flöden in och ut ur programmet.

Nätverkssegmentering

Skapa eller använda ett befintligt virtuellt nätverk när du distribuerar Azure Spring Cloud-tjänstresurser.

Skapa isolering i det virtuella nätverket genom underanpassning. Begränsa eller tillåta trafik mellan interna resurser med hjälp av dina NSG-regler. Använd funktionen adaptiv nätverkshärdning i Microsoft Defender för molnet för att ytterligare förstärka NSG-konfigurationerna som begränsar portar och käll-IP-adresser. Basera konfigurationerna på regler för extern nätverkstrafik.

När du skapar säkerhetsregler använder du Azure-tjänsttaggar för att definiera nätverksåtkomstkontrollerna i stället för specifika IP-adresser. När du anger namnet på tjänsttaggen i lämplig regels käll- eller målfält tillåter eller nekar du trafiken för motsvarande tjänst. Microsoft hanterar adressprefixen som omfattas av tjänsttaggen. Tjänstens tagg uppdateras automatiskt när adresserna ändras.

AzureSpringCloud Använd tjänsttaggen i nätverkssäkerhetsgrupper eller Azure Firewall för att tillåta trafik till program i Azure Spring Apps.

Mer information finns i Kundens ansvar för att köra Azure Spring Cloud i ett virtuellt nätverk.

Anslutning till privata nätverk

I en samlokaliserad miljö använder du Azure ExpressRoute eller ett virtuellt privat Azure-nätverk (VPN) för att skapa privata anslutningar mellan Azure-datacenter och lokal infrastruktur. ExpressRoute-anslutningar går inte via det offentliga Internet med tillförlitlighet, snabbare hastigheter och lägre svarstider.

För punkt-till-plats-VPN och plats-till-plats-VPN ansluter du lokala enheter eller nätverk till ett virtuellt nätverk. Använd valfri kombination av dessa VPN-alternativ och Azure ExpressRoute.

Om du vill ansluta två eller flera virtuella nätverk i Azure använder du peering för virtuella nätverk. Nätverkstrafiken mellan peer-kopplade virtuella nätverk är privat. Den här typen av trafik sparas i Azure-stamnätverket.

Attacker från externa nätverk

Placera kontroller på inkommande trafik och blockera programnivåattacker med Azure Application Gateway med integrerad brandvägg för webbprogram (WAF).

Använd Azure Firewall för att begränsa utgående trafik från programmet. Du kan använda Azure Firewall för att skydda program och tjänster mot potentiellt skadlig trafik från Internet och andra externa platser.

Hotinformationsbaserad filtrering i Azure Firewall kan skicka en avisering eller blockera trafik till och från kända skadliga IP-adresser och domäner. IP-adresserna och domänerna hämtas från Microsoft Threat Intelligence-flödet. När nyttolastinspektion krävs distribuerar du ett intrångsidentifierings-/intrångsskyddssystem från tredje part (IDS/IPS) från Azure Marketplace med funktioner för granskning av nyttolast. Du kan också använda värdbaserad IDS/IPS eller en värdbaserad lösning för slutpunktsidentifiering och svar (EDR) med, eller i stället för, nätverksbaserad IDS/IPS.

Om du vill skydda arbetsbelastningsresurserna mot DDoS-attacker aktiverar du DDoS-standardskydd i dina virtuella Azure-nätverk. Använd Microsoft Defender för molnet för att identifiera felkonfigurationsrisker för dina nätverksrelaterade resurser.

Skydda DNS (Domain Name Service)

Använd Azure DNS som värd för DNS-domäner. Skydda DNS-zoner och -poster från dåliga aktörer. Rollbaserad åtkomstkontroll i Azure (Azure RBAC) och resurslås rekommenderas för detta ändamål. Mer information finns i Förhindra dinglande DNS-poster och undvik underdomänövertagande.

Identitet som perimeter

Azure tillhandahåller identitetskontroller via Microsoft Entra-ID. Programmet har många funktioner, till exempel enkel inloggning, starka autentiseringar, hanterade identiteter och villkorlig åtkomst. Information om designvalen för arkitekturen finns i Identitetsöverväganden för Azure Spring Apps-acceleratorn för landningszoner.

I följande avsnitt beskrivs säkerhetsaspekterna för dessa alternativ.

Integrering med det centraliserade identitetssystemet

Azure-landningszoner använder Microsoft Entra-ID som standardtjänst för identitets- och åtkomsthantering. Centraliserat Microsoft Entra-ID rekommenderas för att styra arbetsbelastningstjänsterna. Centraliserat Microsoft Entra-ID innehåller åtkomst till organisationens nätverksresurser, Azure Storage, Key Vault och andra tjänster som ditt program är beroende av.

Om du vill ge åtkomst till Azure Spring Apps-dataplanet använder du den inbyggda rollen Azure Spring Cloud Data Reader . Den här rollen ger skrivskyddade behörigheter.

Dessa Microsoft Entra-funktioner rekommenderas:

  • Programidentiteter. Programmet kan behöva komma åt andra Azure-tjänster. Om den till exempel vill hämta hemligheter från Azure Key Vault.

    Använd hanterade identiteter med Azure Spring Apps så att programmet kan autentisera sig till andra tjänster med hjälp av Microsoft Entra-ID. Undvik att använda tjänstens huvudnamn för detta ändamål. Autentiseringsprocessen för hanterade identiteter använder inte autentiseringsuppgifter som är hårdkodade i källkods- eller konfigurationsfiler.

    Om du behöver använda tjänstens huvudnamn med certifikatautentiseringsuppgifter och återgå till klienthemligheter rekommenderar vi att du använder Microsoft Entra-ID för att skapa ett huvudnamn för tjänsten med begränsad behörighet på resursnivå.

    I båda fallen kan Key Vault användas med Azure-hanterade identiteter. En körningskomponent, till exempel en Azure-funktion, kan användas för att hämta hemligheterna från Key Vault. Mer information finns i Autentisering i Azure Key Vault.

  • Enkel inloggning (SSO) för Microsoft Entra. Microsoft Entra SSO rekommenderas att autentisera åtkomsten till programmet från andra program eller enheter som körs i molnet eller lokalt. Enkel inloggning ger identitetshantering till interna och externa användare, till exempel partner eller leverantörer.

  • Starka autentiseringskontroller. Microsoft Entra ID stöder starka autentiseringskontroller via multifaktorautentisering (MFA) och starka lösenordslösa metoder. För administratörer och privilegierade användare använder du den högsta nivån av den starka autentiseringsmetoden för att minska explosionsradien om det uppstår ett intrång. Distribuera sedan lämplig stark autentiseringsprincip till andra användare. Mer information finns i Aktivera MFA i Azure och Alternativ för lösenordslös autentisering för Microsoft Entra-ID.

  • Villkorlig åtkomst till resurser. Azure Spring Apps stöder villkorsstyrd åtkomst i Microsoft Entra för en mer detaljerad åtkomstkontroll som baseras på användardefinierade villkor. Du kan ange villkor för att inkludera användarinloggningar från vissa IP-intervall som behöver logga in med hjälp av MFA. Dessa principer för villkorlig åtkomst gäller endast för användarkonton som autentiserar till Microsoft Entra-ID för att få åtkomst till och hantera program. Dessa principer gäller inte för tjänstens huvudnamn, nycklar eller token som används för att ansluta till dina arbetsbelastningsresurser.

  • Privilegierad åtkomst. Implementera Microsoft Entra Privileged Identity Management för att säkerställa åtkomst med lägsta behörighet och djuprapportering i hela Azure-miljön. Teams bör påbörja återkommande åtkomstgranskningar för att säkerställa att rätt personer och tjänstprinciper har aktuella och korrekta auktoriseringsnivåer.

Datakontroller

Nätverks- och identitetskontroller begränsar åtkomsten till programmet, men data måste skyddas. Kryptering säkerställer dataintegritet och är en viktig säkerhetsfunktion som måste tillämpas för att minimera hot.

Data under överföring

Överförda data är mottagliga för out-of-band-attacker, till exempel trafikinsamling. Använd kryptering för att se till att angripare inte enkelt kan läsa eller ändra dessa data. Azure tillhandahåller kryptering för data under överföring mellan Azure-datacenter.

Azure Spring Apps stöder kryptering med TLS (Transport Layer Security) v1.2 eller senare. TLS tillhandahåller säker kommunikation via identitet och förtroende och krypterar kommunikation av alla typer. Du kan använda valfri typ av TLS-certifikat. Till exempel certifikat som utfärdats av en certifikatutfärdare, utökade valideringscertifikat, jokerteckencertifikat med stöd för valfritt antal underdomäner eller självsignerade certifikat för utvecklings- och testmiljöer.

Kryptering är viktigt för trafik på externa och offentliga nätverk. Alla offentliga slutpunkter måste använda HTTPS för inkommande trafik som standard. Hanteringsanrop för att konfigurera Azure Spring Apps-tjänsten via Azure Resource Manager API-anrop måste vara via HTTPS.

För HTTP-trafik kontrollerar du att klienter som ansluter till dina Azure-resurser kan förhandla om TLS v1.2 eller senare. Använd inte föråldrade versioner eller protokoll. Inaktivera svaga chiffer.

För fjärrhantering, i stället för att använda ett okrypterat protokoll, använder du Secure Shell (SSH) för Linux eller Remote Desktop Protocol (RDP) och TLS för Windows.

Vilande data

Arbetsbelastningen behöver ett lagringstillstånd för käll- och artefakter, konfigurationsserverinställningar, appinställningar och lagring. Vilande data på serversidan skyddas av Azure Storage-kryptering. Lagring krypterar automatiskt innehållet med Microsoft-hanterade nycklar.

Konfigurationsservercache, runtime-binärfiler som skapats från uppladdade källor och programloggar under programmets livslängd sparas på en Hanterad Azure-disk. Dessa data krypteras automatiskt. Containeravbildningar som skapas från den användaruppladdade källan krypteras och sparas i Azure Container Registry.

När Microsoft behöver åtkomst till relevanta kunddata för supportscenarier använder du Customer Lockbox för Microsoft Azure eftersom ditt team eller din organisation måste godkänna åtkomsten.

Övervaka och varna vid kontoavvikelser

Microsoft Defender för molnet rekommenderas att ta emot aviseringar om misstänkta aktiviteter, till exempel ett överdrivet antal misslyckade autentiseringsförsök eller inaktuella konton i prenumerationen.

Azure Spring Apps är integrerat med Microsoft Entra ID, som kan spåra inloggningsaktiviteter, inklusive riskfyllda inloggningar. Du kan använda granskningsloggar för att identifiera ändringar som görs i alla resurser i Microsoft Entra-ID. Data är integrerade med Azure Monitor och kan exporteras till Microsoft Sentinel.

Mer information finns i:

Styrningsprinciper

Azures inbyggda definition med namnet Azure Spring Cloud bör använda nätverksinmatning så att du kan tillämpa nätverkskontroller.

  1. Identifiera implementeringen av isoleringsgränser för programmet från Internet.
  2. Aktivera Azure Spring Apps för att kommunicera med privata nätverk i lokala datacenter eller Azure-tjänsten i andra virtuella nätverk.
  3. Kontrollera inkommande och utgående nätverkskommunikation för virtuella Azure Spring Apps-nätverk.

Certifikathantering

En app kan behöva offentliga TLS-certifikat vid kommunikation med serverdelstjänster eller lokala system. Du kan ladda upp certifikaten i Key Vault.

För att säkert läsa in certifikat från Key Vault använder Spring Boot-appar hanterade identiteter och rollbaserad åtkomstkontroll i Azure (RBAC). Azure Spring Apps använder ett huvudnamn för providertjänsten och rollbaserad åtkomstkontroll i Azure. Den här säkra inläsningen drivs med hjälp av Azure Key Vault Java Cryptography Architecture (JCA)-providern. Mer information finns i Azure Key Vault JCA-klientbibliotek för Java.

Om din Spring-kod, Java-kod eller bibliotek med öppen källkod, till exempel OpenSSL, förlitar sig på JVM:s standard-JCA-kedja för att implicit läsa in certifikat i JVM:s förtroendearkiv kan du importera dina TLS-certifikat från Key Vault till Azure Spring Apps. Använd dessa certifikat i appen. Mer information finns i Använda TLS/SSL-certifikat i ditt program i Azure Spring Apps.

Genomsökning av autentiseringsuppgifter

Implementera Skanner för autentiseringsuppgifter för att identifiera autentiseringsuppgifter som har åtkomst till kod, konfigurationer och beständiga data. Skanner för autentiseringsuppgifter uppmuntrar dig att flytta identifierade autentiseringsuppgifter till säkrare platser, till exempel Key Vault.

För GitHub kan du använda funktionen för intern hemlig genomsökning för att identifiera autentiseringsuppgifter eller andra former av hemligheter i koden.

Mer information finns i:

Nästa steg

Övervakningsåtgärder