Identifiera sårbarheter i ett AKS-reglerat kluster för PCI-DSS 3.2.1 (del 5 av 9)

Kubernetes Service
Application Gateway
Azure Security Center

Den här artikeln beskriver överväganden för ett Azure Kubernetes Service-kluster (AKS) som har konfigurerats i enlighet med Payment Card Industry Data Security Standard (PCI-DSS 3.2.1).

Den här artikeln ingår i en serie. Läs introduktionen.

Precis som alla molnlösningar är pci-arbetsbelastningar föremål för nätverk, identiteter och datahot. Vanliga exempel på källor som utnyttjar arbetsbelastnings- och systemsårbarheter är virus eller programuppdateringar som ger oönskade resultat. Identifiera hot tidigt och åtgärda dem inom rimlig tid. Skapa kritiska aviseringar för arbetsbelastningsaktiviteter och utöka dessa aviseringar till grundläggande systemprocesser. Verktyg för antivirus eller filintegritetsövervakning (FIM) måste alltid köras. Ha en ansvarig åtgärdsplan och ett team som undersöker aviseringarna och vidtar åtgärder.

Viktigt

Vägledningen och den tillhörande implementeringen bygger på AKS-baslinjearkitekturen. Den arkitekturen baseras på en topologi av nav och ekrar. Det virtuella hubbnätverket innehåller brandväggen för att styra utgående trafik, gateway-trafik från lokala nätverk och ett tredje nätverk för underhåll. Det virtuella ekernätverket innehåller AKS-klustret som tillhandahåller korthållardatamiljön (CDE) och är värd för PCI DSS arbetsbelastningen.

GitHub logotypGitHub: Azure Kubernetes Service (AKS) Baslinjekluster för reglerade arbetsbelastningar visar en reglerad infrastruktur. Implementeringen illustrerar konfigurationen av säkerhetsverktyg i olika faser av arkitektur- och utvecklingslivscykeln. Det här inkluderar exempel på egna klustersäkerhetsagenter och Azure-tillhandahållna säkerhetsverktyg, till exempel Microsoft Defender för molnet.

Underhålla ett program för sårbarhetshantering

Krav 5– Skydda alla system mot skadlig kod och uppdatera antivirusprogram eller program regelbundet

Stöd för AKS-funktioner

AKS beter sig inte som en traditionell programvärd. Nodens virtuella datorer i ett AKS-kluster har begränsad exponering och är inte utformade för direkt åtkomst. Eftersom nod-VM:ar inte motsvarar traditionella virtuella datorer kan du inte använda vanliga verktyg för virtuella datorer. Rekommendationerna i det här avsnittet tillämpas därför via interna Kubernetes-konstruktioner. Om du tillämpar dessa krav direkt på VM-nivå kan det leda till att klustret inte har stöd.

Du måste distribuera valfri programvara mot skadlig programvara i DaemonSets som körs i en podd på varje nod.

Dina ansvarsområden

Kontrollera att programvaran är specialiserad på Kubernetes och containrar. Det finns flera programvarualternativ från tredje part. Populära alternativ är Prisma Cloud och Aquasec. Det finns också alternativ med öppen källkod, till exempel Falco. Det är ditt ansvar att se till att det finns processer på plats för att se till att programvaran från tredje part är uppdaterad. Det är också ditt ansvar att övervaka och varna för lösningarna.

Krav Ansvar
Krav 5.1 Distribuera antivirusprogram på alla system som ofta påverkas av skadlig programvara (särskilt persondatorer och servrar).
Krav 5.2 Se till att alla antivirusmekanismer upprätthålls på följande sätt:
Krav 5.3 Se till att antivirusmekanismer körs aktivt och inte kan inaktiveras eller ändras av användare, såvida det inte uttryckligen godkänns av ledningen från fall till fall under en begränsad tidsperiod.
Krav 5.4 Se till att säkerhetsprinciper och operativa procedurer för att skydda system mot skadlig kod dokumenteras, används och är kända för alla berörda parter.

Krav 6– Utveckla och underhålla säkra system och program

Stöd för AKS-funktioner

Precis som med andra Azure-tjänster följer AKS Microsoft SDL-processer (Security Development Lifecycle) för säkerhet under utvecklingsprocessens faser. Olika komponenter genomsöks i början av utvecklings- och säkerhetsluckorna så tidigt som möjligt.

AKS-avbildningar följer en FedRAMP SLA-metod som kräver att sårbarheter i bilder korrigeras inom 30 dagar. För att framtvinga detta saneras alla avbildningar via en DevSecOps-pipeline.

Varje vecka tillhandahåller AKS nya avbildningar för nodpoolerna. Det är ditt ansvar att tillämpa dem för att säkerställa korrigering och uppdatering av arbetsnoder i VM-skalningsuppsättningar. Mer information finns i Azure Kubernetes Service (AKS) node image upgrade.

För AKS-kontrollplanet installerar eller uppgraderar AKS säkerhetskorrigeringarna. De uppdateras var 24:e timme.

AKS-kontrollplanet och arbetsnoderna härdas mot Center for Internet Security (CIS). Mer specifikt, AKS CIS, Ubuntu CIS och Windows CIS

AKS är integrerat med Azure Container Registry (ACR). Använd ACR med funktioner för kontinuerlig genomsökning i Microsoft Defender for Cloud för att identifiera sårbara avbildningar och program på olika risknivåer. Information om avbildningsgenomsökning och riskkontroll finns i Containersäkerhet i Defender för molnet.

Dina ansvarsområden

Krav Ansvar
Krav 6.1 Upprätta en process för att identifiera säkerhetsproblem, använda välkända externa källor för information om säkerhetsrisker och tilldela en riskr rangordning (till exempel "hög", "medel" eller "låg") till nyligen identifierade säkerhetsproblem.
Krav 6.2 Se till att alla systemkomponenter och programvara skyddas från kända säkerhetsrisker genom att installera tillämpliga säkerhetskorrigeringar från leverantören. Installera kritiska säkerhetskorrigeringar inom en månad efter lanseringen.
Krav 6.3 Utveckla interna och externa program (inklusive webbaserad administrativ åtkomst till program) på ett säkert sätt.
Krav 6.4 Följ processer och procedurer för ändringskontroll för alla ändringar av systemkomponenter.
Krav 6.5 Åtgärda vanliga kodningssårbarheter i programutvecklingsprocesser.
Krav 6.6 För offentliga webbprogram bör nya hot och sårbarheter åtgärdas kontinuerligt och programmen skyddas mot kända attacker.
Krav 6.7 Se till att säkerhetsprinciper och operativa procedurer för utveckling och underhåll av säkra system och program dokumenteras, används och är kända för alla berörda parter.

Krav 5.1

Distribuera antivirusprogram på alla system som ofta påverkas av skadlig programvara (särskilt persondatorer och servrar).

Dina ansvarsområden

Det är ditt ansvar att skydda arbetsbelastningen, infrastrukturen och distributionspipelinen genom att välja en lämplig programvara mot skadlig programvara.

Eftersom åtkomsten till virtuella datorer med AKS-noden är begränsad ska du skydda systemet i lager som kan mata in skadlig kod till virtuella nod-datorer. Detta omfattar identifiering och skydd vid klusternoder, containeravbildningar och körningsinteraktioner med Kubernetes API-servern. Förutom klustret kan du skydda dessa komponenter som interagerar med klustret och som kan ha antivirusprogram installerade på ett traditionellt sätt:

  • Hopprutor
  • Byggaragenter

Justera dina genomsökningsaktiviteter med Security Development Lifecycle (SDL). Detta säkerställer att genomsökning av olika komponenter i arkitekturen startar i de tidiga utvecklings- och säkerhetsluckorna så tidigt som möjligt.

Krav 5.1.1

Se till att antivirusprogram kan identifiera, ta bort och skydda mot alla kända typer av skadlig programvara.

Dina ansvarsområden

Lär dig mer om funktionsuppsättningen för varje programvaruerbjudande och hur mycket genomsökning det kan göra. Programvaran bör blockera vanliga hot och övervaka nya hot. Kontrollera att programvaran regelbundet uppdateras, testas och ersätts om den inte är olämplig. Överväg programvara som utvecklats av välkända leverantörer.

  • Övervakningsverktyg som identifierar sårbarheter i kluster.

    I AKS kan du inte köra traditionella agentbaserade VM-lösningar direkt på nod-VM:ar. Du måste distribuera program mot skadlig programvara i DaemonSets som körs i en podd på varje nod.

    Välj programvara som är specialiserad på Kubernetes och containrar. Det finns flera programvarualternativ från tredje part. Populära alternativ är Prisma Cloud och Aquasec. Det finns också alternativ med öppen källkod, till exempel Falco.

    När de distribueras körs de som agenter i klustret som genomsöker alla användar- och systemnodpooler. Även om AKS använder systemnodpooler för sina binärfiler för körningssystem är den underliggande beräkningen fortfarande ditt ansvar.

    Syftet med att köra agenten är att identifiera ovanliga klusteraktiviteter. Försöker till exempel ett program anropa API-servern? Vissa lösningar genererar en logg med API-anrop mellan poddar, genererar rapporter och genererar aviseringar. Se till att du granskar loggarna och vidta nödvändiga åtgärder.

    Installera säkerhetsagenter omedelbart efter start av klustret. Detta minimerar oövervakade luckor mellan klustret och AKS-resursdistributionen.

    Säkerhetsagenter körs med hög behörighet. Det innebär att de genomsöker allt som körs i klustret och inte bara arbetsbelastningen. De får inte bli en data exfiltreringskälla. Dessutom är attacker i leveranskedjan vanliga för containrar. Använd djup defense-in-depth-strategier och se till att programvaran och alla beroenden är betrodda.

    Kör även antivirusprogram på externa tillgångar som deltar i klusteråtgärder. Några exempel är hopprutor, byggaragenter och containeravbildningar som interagerar med klustret.

    Vid genomsökning ska agenten inte blockera eller störa viktiga åtgärder i klustret, till exempel genom att låsa filer. Detta kan orsaka stabilitetsproblem och kan göra att klustret inte har stöd.

    Viktigt

    Referensimplementeringen tillhandahåller en platshållardistribution DaemonSet för att köra en agent mot skadlig programvara. Agenten körs på varje virtuell nod i klustret. Placera ditt val av program mot skadlig programvara i den här distributionen.

  • Upprätthålla containersäkerheten. Kör containergenomsökningsverktyg i pipelinen för att identifiera hot som kan komma via containeravbildningar. Alternativ från tredje part inkluderar Trivy och Ent. När du skapar bilder bör du alltid sträva efter distrolösa bilder. Dessa avbildningar innehåller bara de grundläggande binärfilerna i den grundläggande Linux-avbildningen och minskar ytan för attacker. Använd genomsökningslösningarna i containerregistret (och Microsoft Defender för containerregister) för pågående genomsökning av avbildningsdatabaser.

Krav 5.1.2

För system som anses inte påverkas ofta av skadlig programvara utför du periodiska utvärderingar för att identifiera och utvärdera hot mot skadlig kod som utvecklas för att bekräfta om sådana system fortsätter att kräva antivirusprogram.

Dina ansvarsområden

Vanliga säkerhetsrisker kan påverka komponenter utanför klustret. Håll koll på säkerhetsrisker genom att titta på CRE:er och andra säkerhetsaviseringar från Azure-plattformen. Sök efter Azure-uppdateringar för nya funktioner som kan identifiera sårbarheter och köra antiviruslösningar på Azure-värdbaserade tjänster.

Blob Storage bör till exempel ha en skadlig kod för att identifiera misstänkta uppladdningar. En ny funktion, Threat Protection för Azure Storage,innehåller en kontroll av skadlig kods rykte. Överväg också om en antiviruslösning krävs för en sådan tjänst. Ett populärt alternativ är Symantec Cloud Workload Protection för Storage.

Krav 5.2

Se till att alla antivirusmekanismer upprätthålls på följande sätt:

  • Hålls aktuella,
  • Utföra regelbundna genomsökningar
  • Generera granskningsloggar som behålls enligt PCI DSS krav 10.7.

Dina ansvarsområden

  • Kontrollera att klustret är skyddat mot nya attacker med hjälp av den senaste versionen av antivirusprogram. Det finns två typer av uppdateringar att tänka på:
    • Antivirusprogrammet måste hålla koll på de senaste funktionsuppdateringarna. Ett sätt är att schemalägga uppdateringar som en del av dina plattformsuppdateringar.
    • Uppdateringar av säkerhetsintelligens måste tillämpas så snart de är tillgängliga för att identifiera de senaste hoten. Välj automatiska uppdateringar.
  • Kontrollera att sårbarhetsgenomsökningarna körs enligt schema.
  • Behåll loggar som genereras vid genomsökning som indikerar felfria och felaktiga komponenter. Den rekommenderade kvarhållningsperioden anges i Krav 10.7, vilket är ett år.
  • Ha en process på plats som tar hand om och åtgärdar de identifierade problemen.

Information om hur microsoft Defender antivirusuppdateringar tillämpas finns i Hantera Microsoft Defender antivirusuppdateringar och tillämpa baslinjer.

Krav 5.3

Se till att antivirusmekanismer körs aktivt och inte kan inaktiveras eller ändras av användare, såvida det inte uttryckligen godkänns av ledningen från fall till fall under en begränsad tidsperiod.

Dina ansvarsområden

Du ansvarar för att konfigurera övervakning och aviseringar för säkerhetsagenten. Skapa kritiska aviseringar för både arbetsbelastningen och kärnsystemprocesserna. Agenten måste alltid köras. Svara på de aviseringar som utlöses av program mot skadlig programvara.

  • Håll en logglogg för genomsökningsaktiviteter. Kontrollera att genomsökningen inte loggar några korthållardata som har klippts från disk eller minne.
  • Ange aviseringar för aktiviteter som kan orsaka en oväntad efterlevnadsförseing. Aviseringarna bör inte stängas av av misstag.
  • Begränsa behörigheterna för att ändra distributionen av agenten (och andra viktiga säkerhetsverktyg). Håll dessa behörigheter åtskilda från arbetsbelastningens distributionsbehörigheter.
  • Distribuera inte arbetsbelastningar om säkerhetsagenterna inte körs som förväntat.

Krav 5.4

Se till att säkerhetsprinciper och operativa procedurer för att skydda system mot skadlig kod dokumenteras, används och är kända för alla berörda parter

Dina ansvarsområden

Det är viktigt att du underhåller omfattande dokumentation om processen och principerna, särskilt information om antiviruslösningen som används för att skydda systemet. Inkludera information som var i produktcykeln uppdateringarna av säkerhetsinformation upprätthålls, genomsökningarnas frekvens och information om funktioner för genomsökning i realtid.

Ha kvarhållningsprinciper för att lagra loggar. Du kanske vill ha långsiktig lagring i efterlevnadssyfte.

Underhålla dokumentation om standardprocedurer för att hantera och åtgärda problem. Personer som driver reglerade miljöer måste utbildas, informeras och ges incitament för att stödja säkerhetsgarantin. Detta är särskilt viktigt för personer som ingår i godkännandeprocessen ur ett principperspektiv.

Krav 6.1

Upprätta en process för att identifiera säkerhetsproblem, använda välkända externa källor för information om säkerhetsrisker och tilldela en riskr rangordning (till exempel "hög", "medel" eller "låg") till nyligen identifierade säkerhetsproblem.

Dina ansvarsområden

Ha processer som kontrollerar de identifierade säkerhetsriskerna och rangordnas på lämpligt sätt. Microsoft Defender för moln visar rekommendationer och aviseringar, baserat på resurstyp och allvarlighetsgrad, miljö. De flesta aviseringar har MITRE ATT CK® taktiker som kan hjälpa dig att förstå avsikten med händelsekedjan. Kontrollera att du har en åtgärdsplan för att undersöka och åtgärda problemet.

I AKS kan du använda Azure Container Registry i kombination med kontinuerlig genomsökning för att identifiera sårbara bilder och program på olika risknivåer. Du kan visa resultaten i Microsoft Defender för molnet.

Mer information finns i Container Registry.

Krav 6.2

Se till att alla systemkomponenter och programvara skyddas från kända säkerhetsrisker genom att installera tillämpliga säkerhetskorrigeringar från leverantören. Installera kritiska säkerhetskorrigeringar inom en månad efter lanseringen.

Dina ansvarsområden

  • Se till att alla beroenden är betrodda för att förhindra attacker i leveranskedjan från tredjepartsleverantörer. Det är viktigt att du väljer en leverantör som är betrodd.

  • Varje vecka tillhandahåller AKS nya avbildningar för nodpoolerna. Dessa avbildningar tillämpas inte automatiskt. Tillämpa dem så snart de är tillgängliga. Du kan uppdatera manuellt eller automatiskt via Node Image Update. Mer information finns i Azure Kubernetes Service (AKS)-nodavbildningsuppgradering

    För AKS-kontrollplanet installerar eller uppgraderar AKS säkerhetskorrigeringarna.

  • Var 24:e timme laddar AKS-noder automatiskt ned och installerar operativsystem och säkerhetskorrigeringar individuellt. Brandväggen får inte blockera den här trafiken om du vill ta emot dessa uppdateringar.

    Överväg att aktivera rapporteringsfunktioner på säkerhetsagenten för att få information om de tillämpade uppdateringarna. Vissa säkerhetsuppdateringar kräver en omstart. Se till att granska aviseringarna och vidta åtgärder för att säkerställa lägsta eller noll programavbrott med dessa omstarter. Ett alternativ med öppen källkod för att utföra omstarter på ett kontrollerat sätt är Dendelade (Kubernetes reboot daemon).

  • Utöka uppdateringsprocessen till resurser utanför klustret som du etablerar, till exempel jumpboxar och bygga agenter.

  • Håll dig aktuell med de AKS-versioner som stöds. Om din design använder en version som har nått slutet av livscykeln uppgraderar du till en aktuell version. Mer information finns i AKS-versioner som stöds.

Krav 6.3

Utveckla interna och externa program (inklusive webbaserad administrativ åtkomst till program) på ett säkert sätt, enligt följande:

  • I enlighet med PCI DSS (till exempel säker autentisering och loggning)
  • Baserat på branschstandarder och/eller bästa praxis.
  • Införliva informationssäkerhet under livscykeln för programvaruutveckling Obs! Detta gäller för all programvara som utvecklats internt samt bespoke eller anpassad programvara som utvecklats av en tredje part.

Dina ansvarsområden

Integrera och prioritera säkerhetsval som en del av arbetsbelastningens livscykel och åtgärder.

Flera branschramverk mappar till livscykeln, till exempel NIST-ramverket. NIST-funktioner – Identifiera, Skydda, Identifiera, Svara och Återställ – tillhandahåller strategier för förebyggande kontroller i varje fas.

Microsoft SDL (Security Development Lifecycle) tillhandahåller metodtips, verktyg och processer för säkerhet under utvecklingsprocessens faser. Microsoft SDL-metoder följs för alla Azure-tjänster, inklusive AKS. Vi följer även OSA-ramverket (Operational Security Assurance) för att driva molntjänster. Se till att du har en liknande process. Dessa metoder publiceras för att hjälpa dig att skydda dina program.

Krav 6.3.1

Ta bort utvecklings-, test- och/eller anpassade programkonton, användar-ID:er och lösenord innan program blir aktiva eller släpps till kunder.

Dina ansvarsområden

Som en del av att skapa kluster skapas flera lokala Kubernetes-användare som standard. Dessa användare kan inte granskas eftersom de inte representerar en unik identitet. Vissa av dem har hög behörighet. Inaktivera dessa användare med hjälp av funktionen Inaktivera lokala konton i AKS.

Andra överväganden finns i vägledningen i den officiella PCI-DSS 3.2.1-standarden.

Krav 6.3.2

Granska anpassad kod innan den släpps till produktion eller kunder för att identifiera eventuella säkerhetsrisk för kodning (med hjälp av antingen manuella eller automatiserade processer) för att inkludera minst följande:

  • Kodändringar granskas av andra personer än den ursprungliga kodförfattaren och av personer som har kunskap om kodgranskningstekniker och säkra kodningsmetoder.
  • Kodgranskningar säkerställer att koden utvecklas enligt riktlinjer för säker kodning
  • Lämpliga korrigeringar implementeras innan de släpps.
  • Kodgranskningsresultat granskas och godkänns av ledningen innan de släpps.
Dina ansvarsområden

All programvara som är installerad i klustret kommer från containerregistret. På liknande sätt som med programkoden kan processer och personer granska Azure och avbildningar från tredje part (DockerFile och OCI). Du kan också:

  • Börja genomskanna containeravbildningar från de första stegen när klustret skapas. Gör genomsökningen till en del av dina pipelines för kontinuerlig integrering/kontinuerlig distribution.

    Se till att dina distributionspipelines är grindade på ett sådant sätt att både kluster bootstrapping-avbildningar och din arbetsbelastning har passerat en gransknings- och/eller karantänport. Behåll historiken om hur och vilka processer som användes innan de togs till klustret.

  • Minska bildstorleken. Vanligtvis innehåller bilder fler binärfiler än vad som krävs. Att minska bildstorleken har inte bara prestandafördelar utan begränsar även angreppsytan. Om du till exempel använder distroless minimeras Linux-basavbildningarna.

  • Använd statiska analysverktyg som verifierar dockerfilens och manifestens integritet. Bland alternativen från tredje part finns Dockle och Trivy.

  • Använd endast signerade avbildningar.

  • Förstå (och acceptera) basavbildningen som tillhandahålls av Azure och hur den uppfyller CIS Benchmarks. Mer information finns i Benchmarks för Center for Internet Security (CIS).

Azure Container Registry med kontinuerlig genomsökning i Microsoft Defender for Cloud hjälper dig att identifiera sårbara bilder och olika risker som det kan innebära för arbetsbelastningen. Mer information om avbildningsgenomsökning och riskkontroll finns i Containersäkerhet.

Krav 6.4

Följ processer och procedurer för ändringskontroll för alla ändringar av systemkomponenter. Processerna måste innehålla följande:

Dina ansvarsområden

Se till att dokumentera processer för ändringskontroll och utforma distributionspipelines enligt dessa processer. Ha ytterligare processer för att identifiera situationer där processerna och faktiska pipelines inte justeras.

Krav 6.4.1, 6.4.2

  • Separera utvecklings-/testmiljöer från produktionsmiljöer och framtvinga separationen med åtkomstkontroller.
  • Uppdelning av uppgifter mellan utvecklings-/test- och produktionsmiljöer.
Dina ansvarsområden

Underhåll separata produktions- och förproduktionsmiljöer och roller som fungerar i dessa miljöer.

  • Använd inte ditt produktionskluster för utveckling/testning. Installera till exempel inte "bridge to Kubernetes" i dina produktionskluster. Använd dedikerade kluster för icke-produktionsarbetsbelastningar.

  • Se till att dina produktionsmiljöer inte tillåter nätverksåtkomst till förproduktionsmiljöer och vice versa.

  • Återanvänd inte systemidentiteter i förproduktions- och produktionsmiljöer.

    Använd Azure AD-grupper för grupper som klusteradministratörer eller pipelinehuvudnamn. Använd inte generaliserade eller vanliga grupper som åtkomstkontroller. Återanvänd inte dessa grupper mellan förproduktions- och produktionskluster. Ett sätt är att använda klusternamnet (eller en annan täckande identifierare) i gruppnamnet för att vara explicit för medlemskap.

    Använd roller för rollbaserad åtkomstkontroll (RBAC) i Azure på lämpligt sätt mellan miljöer. Normalt tilldelas fler roller och rättigheter förproduktionsmiljöer.

    Identiteter i förproduktion (beviljas endast pipelines eller programvaruteam) ska inte beviljas åtkomst i produktion. Omvänt bör alla produktionsbaserade identiteter (till exempel pipelines) inte beviljas åtkomst i förproduktionskluster.

    Använd inte samma användar hanterade identitet för någon resurs i förproduktion och i produktion. Den här rekommendationen gäller för alla resurser som stöder användar hanterad identitet, inte bara den resurs som distribueras i klustret. Som regel bör Azure-resurser som kräver identiteter ha sin egen distinkta identitet i stället för att dela den med andra resurser.

  • Använd JIT-åtkomst (just-in-time) för åtkomst med hög behörighet, inklusive i förproduktionskluster om det är möjligt. Använd principer för villkorlig åtkomst på både förproduktions- och produktionskluster.

Krav 6.4.3

Produktionsdata (live-PAN) används inte för testning eller utveckling.

Dina ansvarsområden

Kontrollera att CHD-data inte flödar till utvecklings-/testmiljön. Ha tydlig dokumentation som innehåller proceduren för att flytta data från produktion till utveckling/testning. Borttagning av verkliga data måste inkluderas i den proceduren och godkännas av ansvariga parter.

Krav 6.4.4

Borttagning av testdata och konton från systemkomponenter innan systemet blir aktivt/går in i produktion.

Dina ansvarsområden

Ta bort standardkonfigurationsdata, exempeldata och välkända testdata i systemet innan du distribuerar till produktion. Använd inte korthållardata i testsyfte.

Krav 6.4.5

Ändringskontrollprocedurer för implementering av säkerhetskorrigeringar och programvaruändringar måste innehålla följande:

  • 6.4.5.1 Påverkansdokumentation.
  • 6.4.5.2 Dokumenterat ändringsgodkännande av behöriga parter.
  • 6.4.5.3 Funktionstestning för att verifiera att ändringen inte påverkar systemets säkerhet negativt.
  • 6.4.5.4 Back-out-procedurer.
Dina ansvarsområden

Dessa riktlinjer mappar till föregående krav:

  • Dokumentera de infrastrukturändringar som förväntas till följd av säkerhetskorrigeringar och programvaruändringar. Den processen är enklare med IaC-metoden (infrastruktur som kod). Med en mall Azure Resource Manager (ARM-mall) för distribution kan du till exempel förhandsgranska ändringarna med en vad om-åtgärd. Mer information finns i What-if-åtgärden för arm-malldistribution för ändringar i infrastrukturen.

  • Implementera portar i dina distributionspipelines som validerar godkännande av ändringar för vanliga distributioner. Dokumentera motiveringen för nöddistributioner där grindar kan ha kringgåtts.

    Definiera nivåer och djup för ändringar. Se till att teamet är överens om definitionen av betydande ändringar i stället för mindre ändringar. Om det är praktiskt automatiserar du identifieringen av vissa av dessa ändringar. Granskare för arbetsbelastning, infrastruktur och pipeline måste ha en tydlig förståelse för nivåerna och validera mot dessa kriterier.

  • Testa säkerhetsriskerna. Kontrollera att syntetiska transaktioner testar säkerhetsriskerna (både tillåt och neka). Kontrollera också att de syntetiska testerna körs i förproduktionsmiljöer.

  • Ha en back-out-process om en säkerhetskorrigering har oväntade resultat. En vanlig strategi är att distribuera ett tidigare tillstånd med hjälp av blågröna distributioner. För arbetsbelastningar, inklusive databaser, har du en strategi som fungerar för din specifika topologi och som är begränsad till dina distributionsenheter.

Krav 6.5

Åtgärda vanliga kodningssårbarheter i programutvecklingsprocesser på följande sätt:

  • Utbilda utvecklare minst en gång per år i uppdaterade tekniker för säker kodning, inklusive hur du undviker vanliga säkerhetsrisker i kodning.
  • Utveckla program baserat på riktlinjer för säker kodning.

Dina ansvarsområden

Vi rekommenderar att du använder infrastruktur som skyddar kortinnehavarens data och underhåller segmentering på en plattform för flera innehavare. Teknikalternativen omfattar privata AKS-kluster, Azure Dedicated Host. Vi rekommenderar starkt att du använder konfidentiella containrar i din CDE här när du hanterar korthållardata i klartexten. Detta förbättrar sekretessen och isoleringen.

Det är viktigt att programteam och driftteam utbildas, informeras och incentiveras för att stödja genomsökningsaktiviteter för arbetsbelastningen och infrastrukturen. Här är några resurser:

Krav 6.6

För offentliga webbprogram ska du kontinuerligt åtgärda nya hot och sårbarheter och se till att dessa program skyddas mot kända attacker med någon av följande metoder:

  • Granska offentliga webbprogram via manuella eller automatiserade verktyg eller metoder för sårbarhetsbedömning av program, minst varje år och efter ändringar Obs! Den här utvärderingen är inte samma som sårbarhetsgenomsökningarna som utförs för krav 11.2.
  • Installera en automatiserad teknisk lösning som identifierar och förhindrar webbaserade attacker (till exempel en brandvägg för webbaserade program) framför offentliga webbprogram för att kontinuerligt kontrollera all trafik.

Dina ansvarsområden

Ha kontroller på plats för att identifiera trafik som kommer från det offentliga Internet med hjälp av en brandvägg för webbaserade program (WAF). I den här arkitekturen Azure Application Gateway all inkommande trafik med hjälp av dess integrerade WAF. WAF baseras på Core Rule Set (CRS) från Open Web Application Security Project (OWASP). Om tekniska kontroller inte finns på plats, har kompenserande kontroller. Ett sätt är genom manuell kodgranskning.

Kontrollera att du använder de senaste versionerna av regeluppsättningen och tillämpa regler som är relevanta för din arbetsbelastning. Reglerna ska köras i skyddsläge. Du kan tillämpa det kravet genom att lägga till Azure Policy instans som kontrollerar om WAF är aktiverad och fungerar i det läget.

Behåll loggar som genereras av Application Gateway WAF för att få information om de hot som har identifierats. Finjustera reglerna efter behov.

Genomför intrångstester som fokuserar på programkoden. På så sätt hittar utövare som inte ingår i programteamet säkerhetsluckor (till exempel SQL-ktion och katalog-traversering) genom att samla in information, analysera sårbarheter och rapportera. I den här övningen kan de som använder data behöva åtkomst till känsliga data. För att säkerställa att avsikten inte missbrukas följer du riktlinjerna i Intrångstestningsregler för engagemang.

Krav 6.7

Se till att säkerhetsprinciper och operativa procedurer för utveckling och underhåll av säkra system och program dokumenteras, används och är kända för alla berörda parter.

Dina ansvarsområden

Det är viktigt att du underhåller omfattande dokumentation om processer och principer. Dina team bör tränas för att prioritera säkerhetsval som en del av arbetsbelastningens livscykel och drift.

Microsoft SDL tillhandahåller metodtips, verktyg och processer för säkerhet under faserna i utvecklingsprocessen. Microsoft SDL-metoder följs strikt internt i hur vi skapar programvara hos Microsoft. Vi följer även OSA-ramverket (Operational Security Assurance) för att driva molntjänster. Dessa metoder publiceras för att hjälpa dig att skydda dina program.

Behåll omfattande dokumentation för intrångstestning som beskriver omfånget för testet, trediga processer och åtgärdsstrategi för de identifierade problemen. Om en incident inträffar införlivar du utvärderingen av krav 6 som en del av rotorsaksanalysen. Om luckor identifieras (till exempel om en OWASP-regelöverträdelse identifieras) stänger du dessa luckor.

I dokumentationen får du tydliga riktlinjer om förväntad WAF-skyddsstatus.

Personer som arbetar med reglerade miljöer måste utbildas, informeras och ges incitament för att stödja säkerhetsgarantin. Detta är särskilt viktigt för personer som ingår i godkännandeprocessen ur ett principperspektiv.

Nästa

Begränsa åtkomsten till korthållardata efter företags behov att känna till. Identifiera och autentisera åtkomst till systemkomponenter. Begränsa fysisk åtkomst till korthållardata.