Arkitektursammanfattning av ett AKS-reglerat kluster (del 9 av 9)

Kubernetes Service
Brandvägg
Application Gateway
Azure Security Center
Monitor

Azure Well-Architected Framework är en uppsättning vägledande principer som kan användas för att utvärdera en lösning genom kvalitetspelarna för utmärkt arkitektur:

Den här artikeln avslutar den här serien. Läs introduktionen.

Den här vägledningen i den här serien Well-Architected principer i alla designval. Den här artikeln sammanfattar dessa alternativ. Implementeringen GitHub: Azure Kubernetes Service (AKS) Baslinjekluster för reglerade arbetsbelastningar visar dessa principer, i tillämpliga fall.

PCI DSS 3.2.1-arbetsbelastningar kräver att du är en välarkerad lösning. Även om det är viktigt att anpassa infrastrukturen till PCI-kraven så stoppas inte efterlevnaden av värdinfrastrukturen. Att inte hantera kvalitetspelarna, särskilt säkerheten, kan äventyra efterlevnaden. Välarkitekerade lösningar kombinerar både infrastruktur- och arbetsbelastningsperspektiven för att uppnå den noggrannhet som krävs för att uppnå kompatibla resultat.

Säkerhet

Följ den grundläggande vägledningen i principerna för säkerhetsdesign. Metodtips för en reglerad miljö sammanfattas i dessa avsnitt.

Styrning

Styrningsimplementering drivs av efterlevnadskraven i PCI-DSS 3.2.1. Detta påverkar de tekniska kontrollerna för att upprätthålla segmentering, få åtkomst till resurser, identifiera sårbarheter och viktigast av allt skydda kunddata.

Strategi för företagssegmentering

För att upprätthålla fullständig isolering rekommenderar vi att du distribuerar den reglerade infrastrukturen i en fristående prenumeration. Om du har flera prenumerationer som är nödvändiga för efterlevnad kan du gruppera dem i en hanteringsgruppshierarki som tillämpar relevanta Azure-principer enhetligt i dina prenumerationer inom omfång. I prenumerationen tillämpar du relaterade Azure-principer på prenumerationsnivå för att samla in de breda principer som ska gälla för alla kluster i CDE (cardholder data environment). Tillämpa relaterade Azure-principer på resursgruppsnivå för att avbilda principer som gäller för en specifik klusterinstans. Dessa principer skapar de grundläggande skyddsräcken för en landningszon.

Isolera PCI-arbetsbelastningen (i omfånget) från andra arbetsbelastningar (utanför omfånget) vad gäller åtgärder och anslutningar. Du kan skapa isolering genom att distribuera separata kluster. Du kan också använda segmenteringsstrategier för att upprätthålla separationen. Klustren använder till exempel separata nodpooler så att arbetsbelastningarna aldrig delar en virtuell noddator (VM).

Policyframtvingande

Framtvinga säkerhetskontroller genom att aktivera Azure-principer. I den här reglerade arkitekturen kan du till exempel förhindra felaktig konfiguration av korthållardatamiljön. Du kan tillämpa en Azure-princip som inte tillåter offentliga IP-allokeringar på VM-noderna. Sådana allokeringar identifieras och rapporteras eller blockeras.

Information om principer som du kan aktivera för AKS finns i Azure Policy inbyggda definitioner för Azure Kubernetes Service.

Azure tillhandahåller flera inbyggda principer för de flesta tjänster. Granska dessa Azure Policy inbyggda principdefinitioner och tillämpa dem efter behov.

Efterlevnadsövervakning

Efterlevnad måste övervakas och underhållas systematiskt. Regelbundna efterlevnads attesteringar utförs. Om du vet om dina molnresurser uppfyller kraven kan du förbereda dig för attesteringar och granskning.

Dra nytta av instrumentpanelen för regelefterlevnad i Microsoft Defender for Cloud. Genom att kontinuerligt övervaka instrumentpanelen kan du hålla reda på arbetsbelastningens efterlevnadsstatus.

Exempel på efterlevnadsövervakning

Nätverkssäkerhet

I en topologi av nav och ekrar ger separata virtuella nätverk för varje entitet grundläggande segmentering i nätverksfotavtrycket. Varje nätverk är ytterligare indelade i undernät.

AKS-klustret utgör kärnan i CDE:en. Den bör inte vara tillgänglig från offentliga IP-adresser och anslutningen måste skyddas. Vanliga flöden in och ut ur CDE kan kategoriseras som:

  • Inkommande trafik till klustret.
  • Utgående trafik från klustret.
  • Klustertrafik mellan poddar.

Klustret distribueras som ett privat kluster för att uppfylla kraven i en reglerad miljö. I det här läget är trafik till och från det offentliga Internet begränsad. Även kommunikationen med den AKS-hanterade Kubernetes API-servern är privat. Säkerheten förbättras ytterligare med strikta nätverkskontroller och IP-brandväggsregler.

  • Nätverkssäkerhetsgrupper (NSG: er) för att skydda kommunikationen mellan resurser i ett nätverk.
  • Azure Firewall för att filtrera all utgående trafik mellan molnresurser, Internet och lokalt.
  • Azure Application Gateway integrerad med Azure Web Application Framework för att filtrera all inkommande trafik från Internet som Azure Application Gateway skärningspunkt.
  • Kubernetes NetworkPolicy tillåter endast vissa sökvägar mellan poddarna i klustret.
  • Azure Private Link ansluta till andra PaaS-tjänster (plattform som en tjänst), till exempel Azure Key Vault och Azure Container Registry för driftsuppgifter.

Övervakningsprocesser finns på plats för att se till att trafiken flödar som förväntat och att eventuella avvikelser identifieras och rapporteras.

Mer information om nätverkssäkerhet finns i Nätverkssegmentering.

Datasäkerhet

PCI-DSS 3.2.1 kräver att alla korthållardata (CHD) aldrig är tydliga, oavsett om de överförs eller lagras.

Eftersom den här arkitekturen och implementeringen fokuserar på infrastruktur och inte på arbetsbelastningen visas inte datahantering. Här är några välarkerade rekommendationer.

Vilande data

Data måste krypteras via branschstandardkrypteringsalgoritmer.

  • Lagra inte data i korthållarmiljön.
  • Kryptera utanför lagringslagret.
  • Skriv endast krypterade data till lagringsmediet.
  • Lagra inte nycklarna i lagringsskiktet.

Alla data i Azure Storage krypteras och dekrypteras med hjälp av stark kryptografi. Själv hanterade krypteringsnycklar rekommenderas.

Om du behöver lagra data tillfälligt bör du använda samma överväganden för dessa data. Vi rekommenderar starkt att du aktiverar funktionen för värdkryptering i AKS. Du kan framtvinga kryptering av tillfälliga data med inbyggda Azure-principer.

När du väljer lagringsteknik kan du utforska kvarhållningsfunktionerna. Se till att alla data tas bort på ett säkert sätt när den konfigurerade tiden upphör att gälla.

Standarden kräver också att känsliga autentiseringsdata (SAD) inte lagras. Kontrollera att data inte exponeras i loggar, filnamn, cache och andra data.

Data under överföring

All kommunikation med entiteter som interagerar med CDE måste ske via krypterade kanaler.

  • Endast HTTPS-trafik måste tillåtas att flöda till CDE:en. I den här Azure Application Gateway nekar all trafik via port 80.
  • Helst ska du inte kryptera och dekryptera data utanför CDE. Om du har det kan du betrakta den entiteten som en del av CDE:en.
  • I CDE tillhandahåller du säker kommunikation mellan poddar med mTLS. Du kan välja att implementera ett tjänstnät för detta ändamål.
  • Tillåt endast säkra chiffer och TLS 1.2 eller senare.

Identitet

Följ dessa säkerhetsprinciper när du utformar åtkomstprinciper:

  • Börja med Zero-Trust principer. Gör undantag efter behov.
  • Bevilja minsta behörighet – precis tillräckligt för att slutföra en uppgift.
  • Minimera stående åtkomst.

Kubernetes rollbaserad åtkomstkontroll (RBAC) hanterar behörigheter till Kubernetes-API:et. AKS stöder dessa Kubernetes-roller. AKS är helt integrerat med Azure Active Directory (Azure AD). Du kan tilldela Azure AD-identiteter till rollerna och även dra nytta av andra funktioner.

Zero-Trust åtkomst

Kubernetes RBAC-, Azure RBAC- och Azure-tjänster implementerar neka alla som standard. Åsidosätt den inställningen med försiktighet och tillåt endast åtkomst till de entiteter som behöver den. Ett annat område för Zero-Trust är att inaktivera SSH-åtkomst till klusternoderna.

Minsta behörighet

Du kan använda hanterade identiteter för Azure-resurser och poddar och begränsa dem till förväntade uppgifter. Till exempel Azure Application Gateway ha behörighet att hämta hemligheter (TLS-certifikat) från Azure Key Vault. Den får inte ha behörighet att ändra hemligheter.

Minimera stående åtkomst

Minimera stående åtkomst genom att använda just-in-time-gruppmedlemskap i Azure AD. Härda kontrollen med principer för villkorlig åtkomst i Azure AD. Det här alternativet stöder många användningsfall, till exempel multifaktorautentisering, begränsning av autentisering till enheter som hanteras av din Azure AD-klient eller blockering av ovanliga inloggningsförsök.

Hemlighetshantering

Lagra hemligheter, certifikat, nycklar och lösenord utanför CDE. Du kan använda de inbyggda Kubernetes-hemligheterna eller ett hanterat nyckelarkiv, till exempel Azure Key Vault. Användning av ett hanterat arkiv hjälper till med hemliga hanteringsuppgifter, till exempel nyckelrotation och certifikatförnyelse.

Kontrollera att åtkomsten till nyckellagret har en balans mellan nätverks- och åtkomstkontroller. När du aktiverar hanterade identiteter måste klustret autentisera sig mot Key Vault för att få åtkomst. Anslutningen till nyckellagret får inte heller ske via det offentliga Internet. Använd ett privat nätverk, till exempel Private Link.

Driftseffektivitet

Följ de grundläggande riktlinjerna i principerna för driftskvalitet. Metodtips för en reglerad miljö sammanfattas i dessa avsnitt.

Separation av roller

Det är viktigt att framtvinga en tydlig ansvarsfördelning för reglerade miljöer. Ha definitioner av roller och ansvarsområden baserat på arbetsbelastningens behov och interaktionen med CDE:en. Du kan till exempel behöva en infrastrukturoperatör eller platstillförlitlighetstekniker (SRE) för åtgärder relaterade till klustret och beroende tjänster. Rollen ansvarar för att upprätthålla säkerhet, isolering, distribution och observerbarhet. Formalisera dessa definitioner och bestäm vilka behörigheter rollerna behöver. SRE:er har till exempel hög behörighet för klusteråtkomst men behöver läsbehörighet till arbetsbelastningens namnområden.

Arbetsbelastningsisolering

PCI-DSS 3.2.1 kräver isolering av PCI-arbetsbelastningen från andra arbetsbelastningar när det gäller åtgärder. I den här implementeringen är arbetsbelastningar inom och utanför omfång indelade i två separata användarnodpooler. Programutvecklare för omfång och utvecklare för arbetsbelastningar utanför omfånget kan ha olika uppsättningar med behörigheter. Dessutom kommer det att finnas separata kvalitetsgrindar. Till exempel är omfångskoden föremål för upprätthållande av efterlevnad och attestation, medan koden utanför omfånget inte är det. Det finns också ett behov av separata bygg-pipelines och versionshanteringsprocesser.

Driftmetadata

Krav 12 i PCI DSS 3.2.1-standarden kräver att du underhåller information om arbetsbelastningsinventering och personalåtkomstdokumentation. Vi rekommenderar starkt att du använder Azure-taggar eftersom du kan sortera miljöinformation med Azure-resurser, resursgrupper och prenumerationer.

Underhåll information om godkända lösningar som ingår i infrastrukturen och arbetsbelastningen. Detta inkluderar en lista över VM-avbildningar, databaser och lösningar från tredje part som du väljer att använda för CDE. Du kan till och med automatisera processen genom att skapa en tjänstkatalog. Den tillhandahåller självbetjäning genom att använda de godkända lösningarna i en specifik konfiguration, som följer pågående plattformsåtgärder.

Överskådlighet

För att uppfylla krav 10 är observerbarhet i CDE kritiskt för efterlevnad. Aktivitetsloggar innehåller information om åtgärder som rör konto- och hemlighetshantering, hantering av diagnostikinställningar, serverhantering och andra åtgärder för resursåtkomst. Alla loggar registreras med datum, tid, identitet och annan detaljerad information. Behåll loggar i upp till ett år för i lagringskonton för långsiktig arkivering och granskning.

Kontrollera att loggar endast används av roller som behöver dem. Log Analytics och Microsoft Sentinel stöder olika rollbaserade åtkomstkontroller för att hantera åtkomst till granskningsloggar.

Svar och reparation

Azure-övervakningstjänster, Azure Monitor och Microsoft Defender for Cloud, kan generera meddelanden eller aviseringar när de identifierar avvikande aktivitet. Aviseringarna innehåller sammanhangsinformation som allvarlighetsgrad, status och aktivitetstid. När aviseringar genereras bör du ha en åtgärdsstrategi och granska förloppet. Vi rekommenderar att du centraliserar data i en SIEM-lösning (säkerhetsinformations- och händelsehantering) eftersom integrering av data kan ge omfattande aviseringskontext.

Från vyn Säkerhetsaviseringar i Microsoft Defender för moln har du åtkomst till alla aviseringar som Microsoft Defender för molnet identifierar på dina resurser. Ha en trediga process för att åtgärda problemet. Arbeta med ditt säkerhetsteam för att förstå hur relevanta aviseringar görs tillgängliga för arbetsbelastningsägare.

Prestandaeffektivitet

Följ de grundläggande riktlinjerna i principerna för prestandaeffektivitet. Metodtips för en reglerad miljö sammanfattas i dessa avsnitt.

Skalning

Om du observerar hur miljön anpassas till föränderliga krav indikerar det förväntade körningsbeteendet för miljön med hög belastning. Automatisk skalning av resurser i arbetsbelastningen minimerar mänsklig interaktion i CDE. En extra säkerhetsförmån är att minska angreppsytan hela tiden. Du kan maximera fördelarna genom att dra nytta av resurser som stöder skalning till noll-metoden. AKS har till exempel stöd för att skala ned användarnodpoolerna till 0. Mer information finns i Skala användarnodpooler till 0.

Partitionering

Partitionering är en viktig faktor för prestandaeffektivitet i reglerade arbetsbelastningar. Att ha diskreta komponenter möjliggör en tydlig definition av ansvar och hjälper till med exakta kontroller, till exempel nätverksprinciper. Precis som med en segmenteringsstrategi isolerar partitionering komponenter och styr effekten av radien vid oväntade fel eller systemkompromettering.

Arkitektur med delat ingenting

Arkitekturen shared-nothing är utformad för att ta bort skillnaderna mellan samplacerade arbetsbelastningar. Det här är också en strategi för att ta bort enskilda felpunkter. I en reglerad miljö måste komponenterna isoleras via logiska eller fysiska gränser. Detta överensstämmer med shared-nothing-arkitekturen, vilket resulterar i skalbarhetsfördelar. Dessutom kan du rikta relevanta säkerhetskontroller och striktare granskningsfunktioner för de olika komponenterna.

Lightweight-ramverk

Det är svårt att dokumentera och granska arbetsbelastningars komplexitet. Sträva efter enkelhet på grund av prestandafördelar och enkel granskning av regelkrav. Utvärdera val som har mer att göra än vad som behövs, eftersom det ökar angreppsytan och risken för missbruk eller felkonfiguration.

Tillförlitlighet

Tillförlitligheten i reglerade miljöer måste vara förutsägbar så att de kan förklaras konsekvent i granskningssyfte. Följ de grundläggande riktlinjerna i tillförlitlighetsprinciperna. Metodtips för en reglerad miljö sammanfattas i dessa avsnitt.

Återställningsmål och haveriberedskap

På grund av den känsliga typen av data som hanteras i reglerade arbetsbelastningar är återställningsmål och återställningspunktmål (RPO: er) viktiga att definiera. Vad är acceptabel förlust av CHD? Återställningsarbete i CDE:en omfattas fortfarande av standardkraven. Förvänta dig fel och ha en tydlig återställningsplan för de fel som överensstämmer med roller, ansvarsområden och berättigad dataåtkomst. Problem med live-webbplatser är inte en motivering för att avvika från några föreskrifter. Detta är särskilt viktigt i en fullständig katastrofåterställnings situation. Ha tydlig dokumentation om haveriberedskap som följer kraven och minimerar oväntad CDE- eller CHD-åtkomst. Efter återställningen granskar du alltid återställningsprocessens steg för att säkerställa att ingen oväntad åtkomst har uppstått. Dokumentera affärsberättiganden för dessa instanser.

Återställning

Genom att lägga till strategier för motståndskraft och återställning i din arkitektur kan du förhindra behovet av ad hoc-åtkomst till CDE:en. Systemet ska kunna återställas själv på det definierade RPO:et utan behov av direkt mänsklig inblandning. På så sätt kan du eliminera onödig exponering av CHD, även för personer som har behörighet att ha åtkomst vid akutfall. Återställningsprocessen måste vara granskningsbar.

Granska säkerhetsrisker eftersom de kan vara en källa till arbetsbelastningsavbrott och dataförlust. Investeringar i säkerhet påverkar också arbetsbelastningens tillförlitlighet.

Driftprocesser

Tillförlitligheten omfattar alla operativa processer i och intill CDE. Väldefinierade, automatiserade och testade processer för frågor som bildskapande och jump box-hanteringsfaktor i en välarkerad lösning.

Kostnadsoptimering

Följ de grundläggande riktlinjerna i principerna för kostnadsoptimering.

På grund av efterlevnadskraven och strikta säkerhetskontroller är kostnaden en tydlig kompromiss. Vi rekommenderar att du upprättar inledande uppskattningar med hjälp av priskalkylatorn.

Här är en högnivårepresentation av kostnadspåverkan för de viktigaste resurserna som används i den här arkitekturen.

Diagram över kostnadshantering i arkitekturen.

De viktigaste drivrutinerna är vm-skalningsuppsättningarna som utgör nodpoolerna och Azure Firewall. En annan deltagare är Log Analytics. Det finns också inkrementella kostnader som är kopplade till Microsoft Defender for Cloud, beroende på ditt val av planer.

Ha en tydlig förståelse för vad priset för en tjänst utgör. Azure spårar förbrukningsförbrukning. Här är en detaljgranskare av Azure Firewall för den här arkitekturen.

Diagram som illustrerar kostnadshantering i ett Azure Firewall exempel.

Kostnaden för vissa resurser, till exempel Azure Firewall, kan spridas över flera affärsenheter och/eller program. Ett annat sätt att optimera kostnaderna är att vara värd för ett kluster med flera organisationer, vilket maximerar densiteten med mångfald i arbetsbelastningen. Vi rekommenderar inte den här metoden för reglerade arbetsbelastningar. Prioritera alltid efterlevnad och segmentering framför kostnadsfördelar.

För att hålla dig inom budgetbegränsningarna är vissa sätt att kontrollera kostnaderna att justera Azure Application Gateway-infrastrukturen, ange instansantalet för automatisk skalning och minska loggutdata så länge de fortfarande uppfyller granskningsloggen som krävs av PCI-DSS 3.2.1. Utvärdera alltid dessa val mot kompromisserna för andra aspekter av designen som gör att du kan uppfylla serviceavtalet. Kan du till exempel fortfarande skala på rätt sätt för att möta trafiktoppar.

När du skapar grupper av Azure-resurser kan du använda taggar så att de kan spåras mot kostnader. Använd kostnadshanteringsverktyg som Azure Advisoroch Azure Cost Management för att spåra och analysera kostnader.