Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
DevSecOps, även kallat Secure DevOps, bygger vidare på DevOps praxis genom att integrera säkerhet i olika skeden av en traditionell DevOps-livscykel. Skapa säkerhet i DevOps-metoder för att:
Gör dina program och system säkrare, ge insyn i säkerhetshot och förhindra att sårbarheter når distribuerade miljöer.
Öka säkerhetsmedvetenheten bland dina utvecklings- och driftteam.
Införliva automatiserade säkerhetsprocesser i din programvaruutvecklingslivscykel (SDLC).
Minska reparationskostnaderna genom att hitta säkerhetsproblem tidigt i utvecklings- och designfaserna.
När du tillämpar DevSecOps på Azure Kubernetes Service (AKS) har varje organisationsroll specifika säkerhetsöverväganden:
Utvecklare skapar säkra program som körs på AKS.
Molntekniker skapar en säker AKS-infrastruktur.
Driftteam kan styra kluster eller övervaka säkerhetsproblem.
Den här artikeln organiserar vägledningen efter DevOps livscykelstadier och ger rekommendationer för säkerhetskontroller och bästa praxis. Den omfattar vanliga processer och verktyg för ci/CD-pipelines (kontinuerlig integrering och kontinuerlig leverans), med fokus på inbyggda verktyg.
Processflöde
Ladda ned en Visio-fil av den här arkitekturen.
Note
Den här artikeln refererar till AKS och GitHub, men du kan tillämpa dessa rekommendationer på alla containerorkestrering eller CI/CD-plattformar. Implementeringsinformationen kan variera, men de flesta begrepp och metoder för varje steg gäller fortfarande.
Microsoft Entra ID har konfigurerats som identitetsprovider för GitHub. Konfigurera multifaktorautentisering (MFA) för att ge extra autentiseringssäkerhet.
Utvecklare använder Visual Studio Code eller Visual Studio med säkerhetstillägg aktiverade för att proaktivt analysera sin kod för säkerhetsrisker.
Utvecklare committerar applikationskod till ett företagsägt och styrt GitHub Enterprise-repository.
GitHub Enterprise integrerar automatisk genomsökning av säkerhet och beroenden via GitHub Advanced Security.
Pull-begäranden utlöser kontinuerlig integrering (CI) och automatiserad testning via GitHub Actions.
CI-byggarbetsflödet via GitHub Actions genererar en Docker-containeravbildning och lagrar den i Azure Container Registry.
Du kan lägga till manuella godkännanden för distributioner till specifika miljöer, till exempel produktion, som en del av arbetsflödet för kontinuerlig leverans (CD) i GitHub Actions.
GitHub Actions aktiverar CD till AKS. Använd GitHub Advanced Security för att identifiera hemligheter, autentiseringsuppgifter och annan känslig information i programkällan och konfigurationsfilerna.
Microsoft Defender söker igenom Container Registry, AKS-klustret och Azure Key Vault efter säkerhetsrisker.
Microsoft Defender för containrar söker igenom containeravbildningen efter kända säkerhetsrisker när GitHub Actions laddar upp den till Container Registry.
Defender for Containers kan också genomsöka DIN AKS-miljö och tillhandahålla skydd mot körningshot för dina AKS-kluster.
Microsoft Defender för Key Vault identifierar ovanliga och misstänkta försök att komma åt key vault-konton.
Du kan tillämpa Azure Policy på Container Registry och AKS för att tillämpa principefterlevnad. Azure Policy innehåller inbyggda säkerhetsprinciper för både Container Registry och AKS.
Key Vault matar säkert in hemligheter och autentiseringsuppgifter i ett program vid körning utan att exponera dem för utvecklare.
AKS-nätverksprincipmotorn är konfigurerad för att skydda trafiken mellan programpoddar med hjälp av Kubernetes-nätverksprinciper. Vi rekommenderar Azure CNI Powered by Cilium som nätverksprincipmotor. Det ger utökad Berkeley Packet Filter (eBPF)-baserad tillämpning, layer-7-princip och fullständigt kvalificerad domännamnsfiltrering (FQDN).
Du kan konfigurera kontinuerlig övervakning av AKS-klustret med hjälp av Azure Monitor för att samla in Prometheus-mått, containerloggar och Kubernetes-händelser. Använd Azure Managed Grafana-instrumentpaneler för visualisering och Log Analytics för frågebaserad avisering.
Azure Monitor samlar in prestandamått via Managed Prometheus och program- och klusterloggar via containerlogginsamling.
En Log Analytics-arbetsyta lagrar diagnostik- och programloggarna för att köra loggfrågor.
Använd Microsoft Sentinel som centraliserad säkerhetsinformation och händelsehantering (SIEM) för att korrelera AKS-telemetri med signaler från Microsoft Defender för molnet, Microsoft Entra-ID och nätverksresurser. Microsoft Sentinel tillhandahåller identifiering, undersökning och automatiserade svar på säkerhetsincidenter i hela AKS-miljön.
Verktyg med öppen källkod, till exempel Zed Attack Proxy (ZAP) kan utföra intrångstester för webbprogram och tjänster.
Defender for DevOps, en tjänst som är tillgänglig i Defender för molnet, ger säkerhetsteamen möjlighet att hantera DevOps-säkerhet i miljöer med flera ledningar, inklusive GitHub och Azure DevOps.
Översikt och ansvarsområden för teammedlemmar
Överväg att hantera DevSecOps-komplexiteten i Kubernetes-baserade lösningsdistributioner genom att dela upp ansvar mellan team. I det här avsnittet beskrivs roller och ansvarsområden för utvecklare, programoperatörer som platstillförlitlighetstekniker, klusteroperatörer och säkerhetsteam.
Utvecklare
Utvecklare skriver programkoden och commit-ar den till det avsedda arkivet. De skapar och kör skript för automatiserad testning för att säkerställa att deras kod fungerar som avsett och integreras med resten av programmet. Utvecklare definierar och skriptar också skapandet av containeravbildningar som en del av automatiseringspipelinen.
Programoperatörer (platstillförlitlighetstekniker)
Att skapa program med hjälp av containrar och Kubernetes kan förenkla programutveckling, distribution och skalbarhet. Men dessa utvecklingsmetoder skapar också alltmer distribuerade miljöer som komplicerar administration.
Tekniker för platstillförlitlighet skapar lösningar som automatiserar hur team övervakar stora programvarusystem. De fungerar som en brygga mellan utvecklings- och klusteroperatorteam. De hjälper till att upprätta och övervaka servicenivåmål (SLO) och felbudgetar. Tekniker för platstillförlitlighet hjälper också till att hantera programdistributioner och skriva YAML-filer (Kubernetes Manifest).
Klusteroperatorer
Klusteroperatorer konfigurerar och hanterar klusterinfrastrukturen. De använder ofta metodtips och ramverk för infrastruktur som kod (IaC) som GitOps för att etablera och underhålla sina kluster. De använder övervakningsverktyg som Azure Monitor-hanterad tjänst för Prometheus och Azure Managed Grafana för att övervaka övergripande klusterhälsa. De ansvarar för korrigering, klusteruppgraderingar, behörigheter och rollbaserad åtkomstkontroll (RBAC) i klustret. I DevSecOps-team samarbetar klusteroperatörer med säkerhetsteam för att upprätta säkerhetsstandarder och se till att kluster uppfyller dessa krav.
Säkerhetsteamet
Säkerhetsteamet utvecklar och tillämpar säkerhetsstandarder. Vissa team kan skapa och välja Azure Policy-definitioner som du tillämpar i prenumerationer och resursgrupper som innehåller klustren. Säkerhetsteam övervakar säkerhetsproblem och samarbetar med andra team för att prioritera säkerheten i hela DevSecOps-processen.
Utvecklingsfaser för DevSecOps-livscykel
Varje fas i SDLC implementerar säkerhetskontroller. Dessa säkerhetskontroller är centrala för DevSecOps- och shift-left-praktiker.
Ladda ned en Visio-fil av den här arkitekturen.
Planeringsfas
Planfasen har vanligtvis minst automatisering, men den har viktiga säkerhetskonsekvenser som påverkar de senare DevOps livscykelstadierna. Den här fasen omfattar samarbete mellan säkerhets-, utvecklings- och driftteam. Ta med säkerhetsintressenter i den här fasen för att säkerställa att du tar hänsyn till eller minskar säkerhetskraven och säkerhetsproblemen.
Bästa praxis: Utforma en säker programplattform
För att bygga en säker arbetsbelastning som körs på AKS måste du införliva säkerheten i systemet på varje nivå, börjar med själva plattformen. Plattformen kan innehålla komponenter som är interna för klustret, såsom säkerhets- och policyagenter, samt komponenter utanför AKS, som exempelvis nätverksbrandväggar och containerregister.
Bästa praxis: Skapa hotmodellering i din process
Hotmodellering är vanligtvis en manuell process som involverar säkerhets- och utvecklingsteam. Du kan modellera och hitta hot i ett system för att åtgärda säkerhetsrisker innan du utvecklar kod eller gör ändringar. Team utför hotmodellering som svar på betydande programvaruändringar, ändringar i lösningens arkitektur eller säkerhetsincidenter.
Vi rekommenderar STRIDE-hotmodellen. Den här metoden börjar med ett dataflödesdiagram och kategoriserar hot med hjälp av STRIDE-akronymen: Falskning, Manipulation, Förnekande, Informationsavslöjande, Tjänsteavbrott och Behörighetshöjning. Teamen använder de här kategorierna för att identifiera, minimera och verifiera risker. Ett modelleringsverktyg hjälper till att notera och visualisera systemkomponenter, dataflöden och säkerhetsgränser.
Att skapa hotmodellering i ditt SDLC medför processkostnader och kräver att du underhåller uppdaterade hotmodeller. Den hanterar dock säkerheten tidigt i utvecklingen, vilket minskar kostnaden för att åtgärda problem som upptäcks senare.
Bästa praxis: Tillämpa Azure Well-Architected Framework
Tillämpa metodtips för säkerhet som ger vägledning för identitetshantering, programsäkerhet, infrastrukturskydd, datasäkerhet och DevOps när det gäller molnbaserade miljöer.
Tillämpa metodtips för operational excellence när det gäller DevSecOps och övervakning av dina produktionsmiljöer.
Utvecklingsfasen
Att flytta åt vänster är en viktig grundsats i DevSecOps-tänkesättet. Den här processen börjar innan du checkar in kod på en lagringsplats och distribuerar den via en pipeline. För att åtgärda säkerhetsproblem tidigare under utvecklingslivscykeln använder du metodtips för säker kodning och använder IDE-verktyg (Integrated Development Environment) och plugin-program för kodanalys under utvecklingsfasen.
Bästa praxis: Framtvinga säkra kodningsstandarder
Använd etablerade metodtips och checklistor för säker kodning för att skydda koden mot vanliga sårbarheter som inmatning och osäker design. Stiftelsen Open Worldwide Application Security Project (OWASP) publicerar branschstandardrekommendationer för säker kodning som du bör anta när du skriver kod. Dessa riktlinjer är särskilt viktiga när du utvecklar offentliga webbprogram eller tjänster.
Granska säkra kodningsmetoder för dina specifika programmeringsspråkkörningar, till exempel Java och .NET.
Tillämpa loggningsstandarder för att skydda känslig information från att läcka in i programloggar. De mest populära loggningsramverken, som Apache Log4j och Apache log4net, tillhandahåller filter och plugin-program för att maskera känslig information, till exempel kontonummer eller personliga data.
Bästa praxis: Använd IDE-verktyg och plugin-program för att automatisera säkerhetskontroller
De flesta populära IDE:er, som Visual Studio, VS Code, IntelliJ IDEA och Eclipse, stöder tillägg som du kan använda för att få omedelbar feedback och rekommendationer för potentiella säkerhetsproblem som du introducerar när du skriver programkod.
SonarQube för IDE är ett IDE-plugin-program för de mest populära språken och utvecklarmiljöerna. SonarQube för IDE ger feedback och söker automatiskt igenom koden efter vanliga programmeringsfel och potentiella säkerhetsproblem.
Andra kostnadsfria och kommersiella plugin-program fokuserar på säkerhetsspecifika objekt, till exempel OWASP:s 10 vanligaste sårbarheter. Snyk-plugin-programmet söker också igenom programkällan och externa beroenden och varnar dig om det hittar säkerhetsrisker.
Med plugin-programmet SARIF (Static Analysis Results Interchange Format) för Visual Studio och VS Code kan du enkelt visa sårbarheter från populära SAST-verktyg (Static Application Security Testing) jämfört med att tolka resultat från råa JSON-utdatafiler.
Bästa praxis: Upprätta kontroller på dina lagringsplatser för källkod
Upprätta en greningsmetodik för konsekvens i hela företaget. Metoder som Versionsflöde och GitHub-flöde har strukturerade riktlinjer för hur du använder grenar för att stödja team- och parallell utveckling. Dessa metoder kan hjälpa teamen att upprätta standarder och kontroller för kodincheckningar och sammanslagningar i ditt CI/CD-arbetsflöde.
Vissa grenar, till exempel main, är långvariga grenar som bevarar integriteten i programmets källkod. Upprätta slagningsprinciper för dessa brancher innan du commitar eller slår samman ändringar. Till exempel kan du:
Förhindra att andra utvecklare lämnar in kod direkt i huvudmasteren.
Etablera en peer-granskningsprocess och inför ett minsta antal godkännanden innan ändringar sammanfogas i en huvudgren. Konfigurera och framtvinga dessa kontroller med hjälp av GitHub. Använd GitHub för att utse grupper av auktoriserade godkännare om det behövs för gated environments.
Använd precommit-hooks för att söka efter känslig information i applikationens källkod och blockera kommittar när de upptäcker säkerhetsproblem.
- Använd de inbyggda precommit-krokarna som tillhandahålls av GitHub. Konfigurera dem enkelt för specifika projekt. Till exempel skannar vissa fördefinierade hooks efter hemligheter, privata nycklar och autentiseringsuppgifter och blockerar ett åtagande om de hittar dessa problem.
Upprätta RBAC i versionskontrollsystemet.
Skapa väldefinierade roller med hjälp av principen om minsta behörighet. En CI/CD-pipeline fungerar som leveranskedja för produktionsdistributioner.
Tillämpa etablerade användar- eller grupproller i din organisation. Om du vill gruppera individer baserat på deras specifika roll och funktion i dina CI/CD-arbetsflöden skapar du roller som Administratör, Utvecklare, Säkerhetsadministratör och Operatör.
Aktivera granskning av dina arbetsflöden för att lägga till transparens och spårbarhet för konfiguration och andra ändringar i DINA CI/CD-pipelines.
Bästa praxis: Skydda dina containeravbildningar
Använd lätta bilder som har ett minimalt OS-fotavtryck för att minska den övergripande attackytan. Överväg minimala avbildningar som Alpine eller distroless-avbildningar som bara innehåller ditt program och dess nödvändiga runtime-miljö.
Använd endast betrodda basavbildningar när du skapar dina containrar. Hämta dessa basavbildningar från ett privat register som du ofta söker efter sårbarheter i.
Använd utvecklarverktyg för att utvärdera sårbarheter i avbildningar lokalt. Trivy är ett verktyg med öppen källkod som analyserar säkerhetsrisker i dina containeravbildningar.
Förhindra rotanvändaråtkomst eller kontext för en bild. Som standard körs containrar med root-behörigheter.
För containrar som behöver förbättrad säkerhet bör du överväga att använda en AppArmor - eller seccomp-profil i ditt Kubernetes-kluster för att ytterligare bidra till att upprätthålla säkerheten för dina containrar som körs.
Byggfas
Under byggfasen arbetar utvecklare med platstillförlitlighetstekniker och säkerhetsteam för att integrera automatiserade genomsökningar av programkällan i sina CI-byggpipelines. Teams konfigurerar pipelines för att aktivera säkerhetsrutiner med hjälp av CI/CD-plattformens säkerhetsverktyg och tillägg. Dessa metoder omfattar SAST, analys av programvarusammansättning (SCA) och genomsökning av hemligheter.
Bästa praxis: Utför SAST för att hitta potentiella sårbarheter i programmets källkod
Använd GitHub avancerade säkerhetsgenomsökningsfunktioner för kodgenomsökning och CodeQL.
Kodgenomsökning är en funktion som analyserar kod på en GitHub-lagringsplats för att hitta säkerhetsrisker och kodfel. Den visar problemen i GitHub Enterprise Cloud.
Om kodgenomsökningen hittar en potentiell säkerhetsrisk eller ett fel i koden visar GitHub en avisering på lagringsplatsen.
Du kan konfigurera grenregler för nödvändiga statuskontroller. Du kan till exempel kräva att funktionsgrenar är uppdaterade med basgrenen innan du sammanfogar ny kod. Det här kravet säkerställer att du testar din gren med den senaste koden.
Aktivera Copilot Autofix för att ta emot AI-genererade korrigeringsförslag för kodgenomsökningsaviseringar. Copilot Autofix föreslår åtgärder direkt i pull-förfrågningar, vilket hjälper utvecklare att snabbt lösa säkerhetsproblem.
Använd verktyg som kube-score för att analysera dina Kubernetes-distributionsobjekt. Det här verktyget utför statisk kodanalys av kubernetes-objektdefinitioner. Den visar en lista med rekommendationer för att göra ditt program säkrare och mer motståndskraftigt.
Bästa praxis: Använd hemlig genomsökning för att identifiera hemligheter som begåtts av misstag
När du aktiverar hemlig genomsökning efter en lagringsplats genomsöker GitHub koden efter mönster som matchar hemligheter som många tjänsteleverantörer använder.
GitHub kör regelbundet en fullständig git-historiksökning av befintligt innehåll på lagringsplatser och skickar aviseringsmeddelanden.
För Azure DevOps använder Defender för molnet hemlig genomsökning för att identifiera autentiseringsuppgifter, hemligheter, certifikat och annat känsligt innehåll i källkoden och kompileringsutdata.
Du kan köra hemlig genomsökning som en del av Tillägget Microsoft Security DevOps for Azure DevOps.
Bästa praxis: Använd SCA-verktyg för att spåra komponenter med öppen källkod i kodbasen och identifiera sårbarheter i beroenden
Med beroendegranskning kan du fånga osäkra beroenden innan du introducerar dem i din miljö. Den innehåller också information om licens, beroenden och beroendens ålder. Den visar beroendeändringar via ett omfattande diff på fliken Filer som ändrats i en pull-begäran.
Dependabot utför en genomsökning för att identifiera osäkra beroenden och skickar Dependabot-aviseringar när en ny rådgivning läggs till i GitHub Advisory Database eller när beroendediagrammet för en lagringsplats ändras.
Bästa praxis: Generera en SBOM för dina containeravbildningar
En programvarufaktura (SBOM) innehåller en fullständig inventering av de komponenter, bibliotek och beroenden som utgör dina containeravbildningar. Använd SBOM-generationsverktyg som Microsoft sbom-tool eller Syft under CI-versionen för att skapa ett SPDX- eller CycloneDX-manifest.
Koppla en SBOM till dina containeravbildningar som lagras i Container Registry för att aktivera nedströms säkerhetsgenomsökning och spårning av licensefterlevnad i leveranskedjan.
Bästa praxis: Skanna IaC-mallar för att identifiera felkonfigurationer före distribution
Övervaka molnresurskonfigurationer proaktivt under hela utvecklingslivscykeln.
Microsoft Defender för DevOps stöder både GitHub- och Azure DevOps-lagringsplatser och kan genomsöka IaC-mallar för att identifiera IaC-säkerhetsrisker.
Bästa praxis: Genomsök dina arbetsbelastningsavbildningar i containerregister för att identifiera kända sårbarheter
Defender for Containers söker igenom containrarna i Container Registry och Amazon Elastic Container Registry (ECR) för att meddela dig om kända säkerhetsrisker i dina avbildningar.
Du kan aktivera Azure Policy för att göra en sårbarhetsbedömning av avbildningar som lagras i Container Registry och ge detaljerad information om varje sökning.
Bästa praxis: Skapa nya avbildningar på basavbildningsuppdateringar automatiskt
- Container Registry Tasks identifierar dynamiskt basavbildningsberoenden när en containeravbildning skapas. När den identifierar en uppdatering av en programavbildnings basavbildning kan du konfigurera en bygguppgift för att automatiskt återskapa programavbildningar som refererar till basavbildningen.
Bästa praxis: Använd Container Registry, Key Vault och notation för att signera dina containeravbildningar digitalt och konfigurera AKS-klustret så att endast verifierade avbildningar tillåts
Key Vault lagrar signeringsnycklar som notationsverktyget använder. Pluginen notation Key Vault (azure-kv) använder dessa nycklar för att signera och verifiera containerbilder och andra artefakter. Du kan koppla dessa signaturer till Container Registry-avbildningar med hjälp av Azure CLI-kommandona.
Signerade containrar ser till att distributioner kommer från en betrodd källa och att artefakter inte manipuleras när de har skapats. Den signerade artefakten säkerställer integritet och äkthet innan användaren hämtar en artefakt till någon miljö, vilket hjälper till att undvika attacker.
- Ratify verifierar artefaktsäkerhetsmetadata och tillämpar antagningsprinciper före distribution till Kubernetes-kluster. AKS Image Integrity använder Ratify som en inbyggd verifierare för att kontrollera avbildningssignaturer och SBOM-intyg innan poddar släpps in i klustret.
Implementeringsfas
Under distributionsfasen arbetar utvecklare, programoperatörer och klusteroperatorteam tillsammans för att upprätta rätt säkerhetskontroller för CD-pipelines. Dessa kontroller hjälper till att distribuera kod till en produktionsmiljö på ett säkert och automatiserat sätt.
Bästa praxis: Kontrollera åtkomsten och arbetsflödet för distributionspipelinen
Du kan skydda viktiga grenar genom att ange regler för grenskydd. De här reglerna definierar om medarbetare kan ta bort eller tvinga fram push-överföring till grenen. De ställer också in krav för push-överföring till grenen, till exempel att skicka statuskontroller eller en linjär incheckningshistorik.
Använd miljöer för distribution för att konfigurera skyddsregler och hemligheter.
Använd funktionen godkännanden och grindar för att styra arbetsflödet för distributionspipelinen. Du kan till exempel kräva manuella godkännanden från ett säkerhets- eller driftteam innan du distribuerar till en produktionsmiljö.
Bästa praxis: Säkra autentiseringsuppgifter för distribution
Med OpenID Connect (OIDC) kan dina GitHub Action-arbetsflöden komma åt resurser i Azure utan att behöva lagra Azure-autentiseringsuppgifterna som långvariga GitHub-hemligheter.
Använd en pull-baserad metod för CI/CD med GitOps för att flytta säkerhetsautentiseringsuppgifter till ditt Kubernetes-kluster. Den här metoden minskar säkerhets- och riskytan genom att ta bort autentiseringsuppgifter från dina externa CI-verktyg. Du kan också minska tillåtna inkommande anslutningar och begränsa åtkomsten på administratörsnivå till dina Kubernetes-kluster.
Bästa praxis: Kör DAST för att hitta sårbarheter i ditt program som körs
Använd GitHub Actions i distributionsarbetsflöden för att köra DAST-tester (Dynamic Application Security Testing).
Använd verktyg med öppen källkod, till exempel ZAP , för att utföra intrångstester för vanliga sårbarheter i webbprogram.
Bästa praxis: Distribuera endast containeravbildningar från betrodda register
Använd Defender för containrar för att aktivera tillägget Azure Policy för Kubernetes.
Konfigurera Azure Policy for Kubernetes för att begränsa distributioner av containeravbildningar till betrodda register.
Driftsfas
Under den här fasen utför du åtgärder för övervakning och säkerhetsövervakning för att proaktivt övervaka, analysera och varna om potentiella säkerhetsincidenter. Använd produktionsobservabilitetsverktyg som Azure Monitor och Microsoft Sentinel för att övervaka och säkerställa efterlevnad av företagets säkerhetsstandarder.
Bästa praxis: Använd Defender för molnet för att automatiskt genomsöka och övervaka dina produktionskonfigurationer
Kör kontinuerlig genomsökning för att identifiera avvikelse i programmets sårbarhetstillstånd och implementera en process för att korrigera och ersätta de sårbara bilderna.
Implementera automatiserad konfigurationsövervakning för operativsystem.
Använd containerrekommendationerna i Defender för molnet (under Beräkning och appar) för att utföra baslinjegenomsökningar för dina AKS-kluster. Defender för Molnet visar eventuella konfigurationsproblem eller säkerhetsrisker på instrumentpanelen.
Använd Defender för molnet och följ dess nätverksskyddsrekommendationer för att skydda AKS-klustrets nätverksresurser.
Utför en sårbarhetsbedömning för avbildningar som lagras i Container Registry.
- Implementera kontinuerliga genomsökningar för att köra avbildningar i Container Registry genom att aktivera Defender for Containers.
Bästa praxis: Håll dina Kubernetes-kluster uppdaterade
Kubernetes släpper ofta nya versioner. Upprätthåll en strategi för livscykelhantering för att hålla klustren stödda och uppdaterade. AKS innehåller verktyg för att hantera klusteruppgraderingar. Använd funktionerna för planerat underhåll i AKS för att styra när underhållsperioder och uppgraderingar sker.
Uppgradera AKS-arbetsnoder ofta. Azure släpper veckovisa OS- och runtime-uppdateringar. Använd dessa uppdateringar automatiskt i obevakat läge eller manuellt via Azure CLI för mer kontroll.
Bästa praxis: Använd Azure Policy för att skydda och styra dina AKS-kluster
När du har installerat Azure Policy-tillägget för AKS kan du tillämpa enskilda principdefinitioner eller grupper av principdefinitioner, så kallade initiativ eller principuppsättningar, på klustret.
Använd inbyggda Azure-principer för vanliga scenarier som att förhindra privilegierade containrar från att köra eller begränsa externa IP-adresser till en lista över tillåtna. Du kan också skapa anpassade principer för specifika användningsfall.
Tillämpa principdefinitioner på klustret och kontrollera att Azure Policy tillämpar dessa tilldelningar.
Använd Gatekeeper för att konfigurera en antagningskontrollant som tillåter eller nekar distributioner baserat på angivna regler. Azure Policy utökar Gatekeeper.
Skydda trafiken mellan arbetsbelastningspoddar med hjälp av nätverksprinciper i AKS.
- Använd Azure CNI Powered by Cilium som nätverkspolicy-motor. Cilium använder ett eBPF-baserat dataplan och stöder Kubernetes-interna principer, layer-7-princip och FQDN-filtrering.
Bästa praxis: Använda Azure Monitor för kontinuerlig övervakning och aviseringar
Använd Azure Monitor för att samla in loggar och mått från AKS. Samla in Prometheus-mått via Azure Monitor-hanterad tjänst för Prometheus, fråga container- och plattformsloggar i Log Analytics och visualisera klusterhälsa via Azure Managed Grafana-instrumentpaneler .
Azure Monitor utökar kontinuerlig övervakning till utgivningspipelines. Använd övervakningsdata för att godkänna eller återställa versioner. Azure Monitor matar också in säkerhetsloggar och aviseringar om misstänkt aktivitet.
Anslut dina AKS-instanser till Azure Monitor och konfigurera diagnostikinställningar för ditt kluster.
Mer information finns i Azures säkerhetsbaslinje för AKS.
Bästa praxis: Använd Defender för molnet för aktiv hotövervakning
Defender for Cloud tillhandahåller aktiv hotövervakning för AKS på nodnivå (VM-hot) och klusterarbetsbelastningar.
Använd Defender för DevOps för att få omfattande insyn i alla CI/CD-pipelines. Det ger säkerhets- och operatörsteam en centraliserad instrumentpanel. Du drar särskilt nytta av den här centraliserade synligheten när du använder plattformar med flera pipelines som Azure DevOps och GitHub eller kör pipelines i offentliga moln.
Defender för Key Vault identifierar ovanliga och misstänkta försök att komma åt Key Vault-konton och kan skicka aviseringar till administratörer baserat på konfiguration.
Defender for Containers kan avisera om säkerhetsrisker som finns i dina containeravbildningar som lagras i Container Registry.
Bästa praxis: Aktivera centraliserad loggövervakning och använda SIEM-produkter för att övervaka säkerhetshot i realtid
- Anslut AKS-diagnostikloggar till Microsoft Sentinel för centraliserad säkerhetsövervakning baserat på mönster och regler. Microsoft Sentinel aktiverar den här åtkomsten via dataanslutningar.
Bästa praxis: Aktivera granskningsloggning för att övervaka aktivitet i dina produktionskluster
Använd aktivitetsloggar för att övervaka åtgärder på AKS-resurser för att visa all aktivitet och deras status. Ta reda på vem som utförde vilka åtgärder som utfördes på resurserna.
Aktivera DNS-frågeloggning (Domain Name System) genom att tillämpa dokumenterad konfiguration i din anpassade CoreDNS-konfigurationskarta.
Övervaka försök att komma åt inaktiverade autentiseringsuppgifter.
Integrera användarautentisering för AKS med Microsoft Entra ID. Skapa diagnostikinställningar för Microsoft Entra-ID och skicka gransknings- och inloggningsloggarna till en Log Analytics-arbetsyta. På Log Analytics-arbetsytan konfigurerar du aviseringar för säkerhetshändelser, till exempel inloggningsförsök från inaktiverade konton.
Bästa praxis: Aktivera diagnostik på dina Azure-resurser
- Aktivera Azure-diagnostik för alla dina arbetsbelastningsresurser för att få åtkomst till plattformsloggar som ger detaljerad information om diagnostik och granskning. Du kan mata in loggarna i Log Analytics eller en SIEM-lösning som Microsoft Sentinel för säkerhetsövervakning och aviseringar.
Deltagare
Microsoft ansvarar för den här artikeln. Följande bidragsgivare skrev den här artikeln.
Huvudförfattare:
- Adnan Khan | Sr. Molnlösningsarkitekt
Övriga medarbetare:
- Ayobami Ayodeji | Programchef 2
- Ahmed Bham | Sr. Molnlösningsarkitekt
- Chad Kittel | Principal Software Engineer – Azure Patterns &Practices
- John Poole | Sr. Molnlösningsarkitekt
- Bahram Rushenas | Sr. Lösningsarkitekt
- Abed Sau | Sr. Molnlösningsarkitekt
Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.