Redigera

Dela via


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

Azure Kubernetes Service (AKS)
Azure Application Gateway
Microsoft Defender for Cloud

Den här artikeln beskriver övervägandena för ett AkS-kluster (Azure Kubernetes Service) 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 en PCI-arbetsbelastning föremål för nätverk, identiteter och datahot. Vanliga exempel på källor som drar nytta av arbetsbelastningar och systemsårbarheter är virus eller programuppdateringar som ger oönskade resultat. Identifiera hot tidigt och svara med åtgärder i tid. Skapa kritiska aviseringar för arbetsbelastningsaktiviteter och utöka aviseringarna till kärnsystemprocesser. Verktyg för övervakning av antivirus eller filintegritet (FIM) måste alltid köras. Ha en ansvarig svarsplan 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 med nav och eker. Det virtuella hubbnätverket innehåller brandväggen för att styra utgående trafik, gatewaytrafik 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 -baslinjekluster (AKS) för reglerade arbetsbelastningar visar en reglerad infrastruktur. Implementeringen illustrerar konfigurationen av säkerhetsverktyg i olika faser av arkitekturen och utvecklingslivscykeln. Detta omfattar exempel på bring-your-own säkerhetsagenter i klustret och säkerhetsverktyg som tillhandahålls av Azure, till exempel Microsoft Defender för molnet.

Underhålla ett hantering av säkerhetsrisker program

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

Stöd för AKS-funktioner

AKS fungerar inte som en traditionell programvärd. Virtuella Noddatorer i ett AKS-kluster har begränsad exponering och är utformade för att inte nås direkt. Eftersom virtuella noddatorer inte motsvarar traditionella virtuella datorer kan du inte använda vanliga vm-verktyg. Rekommendationerna i det här avsnittet tillämpas därför via inbyggda Kubernetes-konstruktioner. Om du tillämpar dessa krav direkt på vm-nivå kan klustret inte ha någon support.

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

Ditt ansvar

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. Dessutom är det ditt ansvar att övervaka och avisera lösningarna.

Krav Ansvar
Krav 5.1 Distribuera antivirusprogram på alla system som ofta påverkas av skadlig programvara (särskilt personliga datorer 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 aktivt körs och inte kan inaktiveras eller ändras av användare, såvida de inte uttryckligen har godkänts 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 andra Azure-tjänster följer AKS Microsoft SDL-processer (Security Development Lifecycle) för säkerhet under hela faserna i utvecklingsprocessen. Olika komponenter genomsöks från början av utvecklingen och säkerhetsbrister täcks så tidigt som möjligt.

AKS-avbildningar följer en FedRAMP SLA-metod, som kräver att säkerhetsrisker i bilder korrigeras inom 30 dagar. För att framtvinga detta krav rensas 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 för vm-skalningsuppsättningar. Mer information finns i Azure Kubernetes Service (AKS)-nodbilduppgradering.

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

AKS-kontrollplanet och arbetsnoderna härdas med hjälp av CIS-riktmärken (Center for Internet Security), särskilt AKS CIS, Ubuntu CIS och Windows CIS.

AKS integreras med Azure Container Registry. Använd Azure Container Registry med funktioner för kontinuerlig genomsökning i Microsoft Defender för molnet för att identifiera sårbara avbildningar och program på olika risknivåer. Information om avbildningsgenomsökning och riskkontroll finns i Microsoft Defender för containrar.

Ditt ansvar

Krav Ansvar
Krav 6.1 Upprätta en process för att identifiera säkerhetsrisker med hjälp av välrenommerade externa källor för säkerhetsriskinformation och tilldela en riskrankning (till exempel "hög", "medel" eller "låg") till nyligen identifierade säkerhetsrisker.
Krav 6.2 Se till att alla systemkomponenter och programvara skyddas från kända säkerhetsrisker genom att installera tillämpliga säkerhetskorrigeringar som tillhandahålls av leverantören. Installera viktiga 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 processerna och procedurerna för ändringskontroll för alla ändringar av systemkomponenter.
Krav 6.5 Åtgärda vanliga säkerhetsrisker för kodning i programutvecklingsprocesser.
Krav 6.6 För offentliga webbprogram kan du kontinuerligt hantera nya hot och sårbarheter och se till att dessa program skyddas mot kända attacker.
Krav 6.7 Se till att säkerhetsprinciper och operativa procedurer för att utveckla och underhålla 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 personliga datorer och servrar.

Ditt ansvar

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

Eftersom åtkomsten till virtuella AKS-noddatorer är begränsad skyddar du systemet på varje lager där skadlig kod kan matas in på virtuella noddatorer. Inkludera identifiering och förebyggande vid klusternoder, containeravbildningar och körningsinteraktioner med Kubernetes API-servern. Förutom klustret skyddar du dessa komponenter som interagerar med klustret och kan ha antivirusprogram installerade på ett traditionellt sätt:

  • Hopprutor
  • Skapa agenter

Justera genomsökningsaktiviteterna med SDL (Security Development Lifecycle). Genom att följa SDL ser du till att genomsökningen av olika komponenter i arkitekturen börjar i de tidiga utvecklings- och säkerhetsluckorna så tidigt som möjligt.

Krav 5.1.1

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

Ditt ansvar

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

  • Övervakningsverktyg som identifierar klustersårbarheter.

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

    Välj programvara som är specialiserad för Kubernetes och containerbaserade arbetsbelastningar. 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 ett program till exempel anropa API-servern? Vissa lösningar genererar en logg över API-anrop mellan poddar, genererar rapporter och genererar aviseringar. Kontrollera att du granskar loggarna och vidtar nödvändiga åtgärder.

    Installera säkerhetsagenter omedelbart efter start av klustret för att minimera oövervakade luckor mellan klustret och AKS-resursdistributionen.

    Säkerhetsagenter körs med hög behörighet och genomsöker allt som körs i klustret och inte bara arbetsbelastningen. De får inte bli en dataexfiltreringskälla. Dessutom är leveranskedjeattacker vanliga för containrar. Använd strategier för skydd på djupet 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, byggagenter och containeravbildningar som interagerar med klustret.

    När agenten genomsöker bör den inte blockera eller störa de kritiska åtgärderna i klustret, till exempel genom att låsa filer. Felkonfiguration kan orsaka stabilitetsproblem och kan göra att klustret inte stöds.

    Viktigt!

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

  • Upprätthålla containersäkerhet. Kör containergenomsökningsverktyg i pipelinen för att identifiera hot som kan uppstå via containeravbildningar, till exempel CI/CD-sårbarhetsgenomsökning i Microsoft Defender för containrar. Alternativ från tredje part är Trivy och Clair. När du skapar bilder måste du alltid sträva efter distrolösa bilder. Dessa bilder innehåller bara de viktigaste binärfilerna i linux-basavbildningen och minskar ytan för attacker. Använd en kontinuerlig genomsökningslösning som sårbarhetsbedömning i Microsoft Defender för containrar för kontinuerlig genomsökning av avbildningar som redan finns i dina lagringsplatser.

Krav 5.1.2

För system som inte ofta riktas mot eller påverkas av skadlig programvara utför du regelbundna utvärderingar för att identifiera och utvärdera nya hot mot skadlig kod för att bekräfta om de fortsätter att inte kräva antivirusprogram.

Ditt ansvar

Vanliga säkerhetsrisker kan påverka komponenter utanför klustret. Håll reda på säkerhetsrisker genom att titta på CVE: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 skadlig kod för att identifiera misstänkta uppladdningar. Microsoft Defender för Storage innehåller screening av skadlig kod. Tänk också på om en antiviruslösning krävs för en sådan tjänst.

Krav 5.2

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

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

Ditt ansvar

  • Kontrollera att klustret skyddas 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änga med i de senaste funktionsuppdateringarna. Ett sätt är att schemalägga uppdateringar som en del av dina plattformsuppdateringar.
    • Uppdateringar av säkerhetsinformation måste tillämpas så snart de är tillgängliga för att identifiera och identifiera de senaste hoten. Välj automatiska uppdateringar.
  • Kontrollera att sårbarhetsgenomsökningarna körs enligt schema.
  • Behåll alla loggar som genereras till följd av genomsökning, vilket indikerar felfria och felaktiga komponenter. Den rekommenderade kvarhållningsperioden anges i Krav 10.7, vilket är ett år.
  • Ha en process på plats som sorterar och åtgärdar de identifierade problemen.

Information om hur Microsoft Defender för Endpoint antivirusuppdateringar tillämpas finns i Säkerhetsinformation och produktuppdateringar för Microsoft Defender Antivirus.

Krav 5.3

Antivirusfunktioner bör köras aktivt och kan inte inaktiveras eller ändras av användare. Förutom när de har godkänts av ledningen från fall till fall under en begränsad tidsperiod.

Ditt ansvar

Du ansvarar för att konfigurera övervakning och aviseringar för säkerhetsagenten. Skapa kritiska aviseringar för inte bara arbetsbelastningen utan även för kärnsystemprocesserna. Agenten måste alltid köras. Svara på aviseringarna som genereras av programmet mot skadlig kod.

  • Behåll ett loggspår med genomsökningsaktiviteter. Kontrollera att genomsökningsprocessen inte loggar några korthållardata som skrapats från disk eller minne.
  • Ange aviseringar för aktiviteter som kan orsaka ett oväntat avbrott i efterlevnaden. Aviseringarna bör inte inaktiveras oavsiktligt.
  • Begränsa behörigheterna för att ändra distributionen av agenten och alla 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

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

Ditt ansvar

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

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

Underhåll dokumentation om standardrutiner för att utvärdera och åtgärda problem. Personer som driver reglerade miljöer måste utbildas, informeras och uppmuntras att stödja säkerhetsgarantierna. Detta är 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äkerhetsrisker med hjälp av välrenommerade externa källor för säkerhetsriskinformation och tilldela en riskrankning (till exempel hög, medel eller låg) till nyligen identifierade säkerhetsrisker.

Ditt ansvar

Ha processer som kontrollerar de identifierade säkerhetsriskerna och rangordnas på rätt sätt. Microsoft Defender för molnet visar rekommendationer och aviseringar baserat på resurstyp och dess allvarlighetsgrad och miljö. De flesta aviseringar har MITRE ATT&CK-taktik® som kan hjälpa dig att förstå avsikten med dödskedjan. Kontrollera att du har en reparationsplan 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 avbildningar och program på olika risknivåer. Du kan visa resultatet i Microsoft Defender för molnet.

Mer information finns i Containerskydd i Defender för molnet.

Krav 6.2

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

Ditt ansvar

  • Kontrollera att alla beroenden är betrodda för att förhindra leveranskedjeattacker från tredjepartsleverantörer. Det är viktigt att du väljer leverantörer som är välrenommerade och betrodda.

  • Varje vecka tillhandahåller AKS nya avbildningar för nodpoolerna. Dessa bilder 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 Avbildningsuppgradering av Azure Kubernetes Service (AKS)

    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 minsta eller noll programavbrott med dessa omstarter. Ett alternativ med öppen källkod för att utföra omstarter på ett kontrollerat sätt är Kured (Kubernetes-daemon för omstart).

  • Utöka korrigeringsprocessen till resurser utanför klustret som du etablerar, till exempel hopprutor och byggagenter.

  • Håll dig uppdaterad med de AKS-versioner som stöds. Om din design använder en version som har nått slutet av sin livslängd 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 hela livscykeln för programvaruutveckling som gäller för all programvara som utvecklats internt, inklusive skräddarsydd eller anpassad programvara som utvecklats av en tredje part.

Ditt ansvar

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älla – 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 hela faserna i utvecklingsprocessen. Microsoft SDL-metoder följs för alla Azure-tjänster, inklusive AKS. Vi följer även OSA-ramverket (Operational Security Assurance) för drift av 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.

Ditt ansvar

Som en del av klusterskapandet 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öga privilegier. Inaktivera dessa användare med hjälp av funktionen Inaktivera lokala konton i AKS.

Mer information finns i vägledningen i den officiella PCI-DSS 3.2.1-standarden.

Krav 6.3.2

Granska anpassad kod före lansering till produktion eller kunder för att identifiera eventuella säkerhetsrisker för kodning (med manuella eller automatiserade processer) för att inkludera följande:

  • Kodändringar granskas av andra personer än den ursprungliga kodförfattaren och av individer som är kunniga 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.
Ditt ansvar

All programvara som är installerad i klustret kommer från containerregistret. På samma sätt som programkoden har processer och personer som granskar Azure- och tredjepartsbilder (Dockerfile och OCI). Dessutom:

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

    Se till att dina distributionspipelines är gated på ett sådant sätt att både klustrets startavbildningar och din arbetsbelastning har passerat genom en gransknings- och/eller karantängrind. Behåll historik om hur och vilka processer som användes innan de hämtades till klustret.

  • Minska bildstorleken. Bilderna innehåller vanligtvis fler binärfiler än de behöver. Att minska bildstorleken har inte bara prestandafördelar utan begränsar även attackytan. Om du till exempel använder distrolösa avbildningar minimeras attackytan för linux-basavbildningar.

  • Använd statiska analysverktyg som verifierar integriteten för Dockerfile och manifesten. Alternativ från tredje part är Dockle och Trivy.

  • Använd endast signerade avbildningar.

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

Azure Container Registry med kontinuerlig genomsökning i Microsoft Defender för molnet hjälper dig att identifiera sårbara avbildningar och olika risker för arbetsbelastningen. Mer information om avbildningsgenomsökning och riskkontroll finns i Containersäkerhet.

Krav 6.4

Följ processerna och procedurerna för ändringskontroll för alla ändringar av systemkomponenter.

Ditt ansvar

Kontrollera att du dokumenterar processerna för ändringskontroll och utformar distributionspipelines enligt dessa processer. Inkludera andra processer för att identifiera situationer där processer 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.
  • Ansvarsfördelning mellan utvecklings-/test- och produktionsmiljöer.
Ditt ansvar

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

  • Använd inte ditt produktionskluster i utvecklings-/testsyfte. 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 Microsoft Entra-grupper för grupper som klusteradministratörer eller pipelineobjekt. 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 ogenomskinlig identifierare) i gruppnamnet för att vara explicit för medlemskap.

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

    Identiteter i förproduktion (beviljas endast för pipelines eller programvaruteknikteam) bör inte beviljas åtkomst i produktion. Däremot bör inga identiteter med endast produktion (till exempel pipelines) beviljas åtkomst i förproduktionskluster.

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

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

Krav 6.4.3

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

Ditt ansvar

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

Krav 6.4.4

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

Ditt ansvar

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

Procedurer för ändringskontroll för implementering av säkerhetskorrigeringar och programändringar måste innehålla följande:

  • 6.4.5.1 Dokumentation om påverkan.
  • 6.4.5.2 Dokumenterat ändringsgodkännande av auktoriserade parter.
  • 6.4.5.3 Funktionstestning för att kontrollera att ändringen inte påverkar systemets säkerhet negativt.
  • 6.4.5.4 Back-out procedurer.
Ditt ansvar

Dessa vägledningspunkter mappas till ovanstå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 (infrastructure-as-code). Med till exempel en Bicep-fil eller Azure Resource Manager-mall (ARM-mall) kan du förhandsgranska distributionens ändringar med hjälp av konsekvensåtgärden. Mer information finns i Bicep deployment what-if operation for your infrastructure changes (Bicep deployment what-if operation for your infrastructure changes).

  • Implementera portar i dina distributionspipelines som verifierar godkännande av ändringar för regelbundna distributioner. Dokumentera motiveringen för nöddistributioner där portar kan ha kringgåts.

    Definiera nivåerna och djupet på ändringarna. Se till att teamet samtycker till definitionen av betydande ändringar i stället för mindre ändringar. Om det är praktiskt kan du automatisera identifieringen av några 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äkerhetspriserna. Kontrollera att syntetiska transaktioner testar säkerhetsproblem (både tillåter och nekar). Kontrollera också att de syntetiska testerna körs i förproduktionsmiljöer.

  • Ha en säkerhetskopieringsprocess om en säkerhetskorrigering har oväntade resultat. En vanlig strategi är att distribuera samtidigt som det tidigare tillståndet bibehålls med hjälp av blågröna distributioner. För arbetsbelastningar, inklusive databaser, har en strategi som fungerar för din specifika topologi och som är begränsad till dina distributionsenheter.

Krav 6.5

Åtgärda vanliga säkerhetsrisker för kodning i programutvecklingsprocesser på följande sätt:

  • Utbilda utvecklare minst varje år i uppdaterade tekniker för säker kodning, inklusive hur du undviker vanliga kodningssårbarheter.
  • Utveckla program baserat på riktlinjer för säker kodning.

Ditt ansvar

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

Krav 6.6

För offentliga webbprogram kan du kontinuerligt hantera nya hot och sårbarheter. Kontrollera att dessa program skyddas mot kända attacker med någon av följande metoder:

  • Granska offentliga webbprogram med hjälp av manuella eller automatiserade verktyg eller metoder för sårbarhetssäkerhet för program. Utför en sårbarhetsbedömning minst varje år och efter eventuella ändringar.

    Kommentar

    Den här utvärderingen är inte densamma som de sårbarhetsgenomsökningar som utförs som en del av krav 11.2.

  • Installera en automatiserad lösning som identifierar och förhindrar webbaserade attacker. Till exempel en brandvägg för webbprogram. Distribuera framför offentliga webbprogram och utvärdera aktivt all trafik.

Ditt ansvar

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 webbprogram (WAF). I den här arkitekturen kontrollerar 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 har du 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 förebyggande läge. Du kan framtvinga det kravet genom att lägga till en Azure Policy-instans som kontrollerar om WAF är aktiverat och fungerar i det läget.

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

Utför intrångstestning med fokus på programkoden. På så sätt hittar utövare som inte ingår i programteamet säkerhetsluckor (till exempel SQL-inmatning och katalogbläddring) genom att samla in information, analysera sårbarheter och rapportering. I den här övningen kan utövare behöva åtkomst till känsliga data. För att se till att avsikten inte missbrukas följer du riktlinjerna i Intrångstestningsregler.

Krav 6.7

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

Ditt ansvar

Det är viktigt att du har omfattande dokumentation om processer och principer. Dina team bör utbildas för att prioritera säkerhetsval som en del av arbetsbelastningens livscykel och åtgärder.

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

Behåll noggrann dokumentation för intrångstestning som beskriver omfånget för test-, triage-processer och reparationsstrategi för de identifierade problemen. Om en incident inträffar bör du införliva utvärderingen av krav 6 som en del av rotorsaksanalysen. Om luckor identifieras (till exempel en OWASP-regelöverträdelse identifieras) stänger du dessa luckor.

I dokumentationen finns tydliga riktlinjer om den förväntade WAF-skyddsstatusen.

Personer som driver reglerade miljöer måste utbildas, informeras och uppmuntras att stödja säkerhetsgarantierna. Det är viktigt för personer som ingår i godkännandeprocessen ur ett politiskt perspektiv.

Nästa steg

Begränsa åtkomsten till korthållardata per företag behöver veta. Identifiera och autentisera åtkomst till systemkomponenter. Begränsa fysisk åtkomst till korthållardata.