Pod-säkerhet och nätverkspolicyer
Isolera arbetslaster.
Pod-säkerhet och nätverkspolicyer är en gratis lektion i Cyber Security Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Cyber Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Isolera arbetsbelastningar
Två kontroller begränsar vad en komprometterad pod kan göra: Pod Security begränsar en pods privilegier, och nätverkspolicyer begränsar vilka pods som får kommunicera med varandra. Tillsammans begränsar de skadeomfånget.
- Pod Security förhindrar att attacker tar sig ut till noden.
- Nätverkspolicyer förhindrar lateral förflyttning mellan pods.
Farliga pod-inställningar
Flera fält i pod-specifikationen ökar risknivån kraftigt om de tillåts.
privileged: trueger nästan fullständig åtkomst till värden.hostPID,hostNetwork,hostIPCbryter isoleringen mellan namnrymder.hostPath-volymer monterar kataloger från noden.- Tillägg av capabilities som
SYS_ADMINmöjliggör utbrytning. - Körning som root (
runAsUser: 0).
Pod Security Admission
Pod Security Admission (PSA) har ersatt PodSecurityPolicy. Den tillämpar tre inbyggda standarder per namnrymd.
- Privileged: obegränsad (undvik för arbetsbelastningar).
- Baseline: blockerar kända privilegieeskaleringar.
- Restricted: härdad rekommenderad praxis (icke-root, inga privilegier, borttagna capabilities).
# Enforce the restricted standard on a namespace
kubectl label namespace prod \
pod-security.kubernetes.io/enforce=restrictedEn härdad securityContext
Definiera minsta privilegium på pod- och containernivå med en securityContext.
- Kör som en icke-root-användare och använd ett skrivskyddat rotfilsystem.
- Ta bort alla Linux-capabilities och lägg sedan bara till det som behövs.
- Förbjud privilegieeskalering.
# securityContext fields (YAML)
# runAsNonRoot: true
# readOnlyRootFilesystem: true
# allowPrivilegeEscalation: false
# capabilities: drop: [ALL]
kubectl apply -f hardened-deploy.yamlBortom standarderna: policy-motorer
För mer omfattande regler än PSA tillämpar admission controllers anpassade policyer.
- OPA Gatekeeper utvärderar Rego-constraints.
- Kyverno använder YAML-policyer och kan både mutera och validera.
Dessa kan förbjuda hostPath, kräva signerade avbildningar eller tillämpa etiketter i hela klustret.
# Apply a Kyverno policy that disallows privileged pods
kubectl apply -f disallow-privileged.yamlNätverk öppna som standard
Som standard kan alla pods nå alla andra pods i alla namnrymder. Ingen segmentering finns förrän ni lägger till nätverkspolicyer. Det här platta nätverket är orsaken till att en enda komprometterad pod kan skanna och angripa hela klustret.
# From a pod, the flat network lets you reach any service
curl http://internal-db.prod.svc.cluster.local:5432Grunderna i nätverkspolicyer
Nätverkspolicyer är regler som gäller för en namnrymd, väljer ut pods och tillåter specifik inkommande eller utgående trafik. De är additiva: när ni tillämpar en policy på en pod övergår den till default-deny för den berörda trafikriktningen.
- Selektorer matchar pods utifrån etiketter.
- Regler tillåter trafik från eller till specifika pods, namnrymder eller CIDR-intervall.
- En CNI som stöder policyer (Calico, Cilium) krävs.
Default-deny, sedan tillåt
Det rekommenderade mönstret är en default-deny-baslinje per namnrymd, följd av uttryckliga tillåtelseregler för nödvändiga trafikflöden.
# Default-deny all ingress in a namespace (YAML)
# kind: NetworkPolicy spec: podSelector: {} policyTypes: [Ingress]
kubectl apply -f default-deny.yaml
# Then allow only frontend -> backend
kubectl apply -f allow-frontend.yamlUtgående trafik och blockering av metadata
Policyer för utgående trafik är lika viktiga som policyer för inkommande trafik.
- Begränsa vilka externa slutpunkter pods får nå (begränsar dataexfiltrering och C2).
- Blockera molnets metadata-IP
169.254.169.254från pods för att förhindra stöld av nodens autentiseringsuppgifter. - Begränsa DNS och intern east-west-trafik.
Skydd vid körning
Statiska policyer kompletteras med detektering vid körning.
- Falco larmar vid misstänkta systemanrop (shell i en container, känsliga monteringar).
- seccomp-profiler begränsar vilka systemanrop en container får göra.
- AppArmor/SELinux lägger till obligatorisk åtkomstkontroll på noden.
# Apply the runtime/default seccomp profile (securityContext)
# seccompProfile: type: RuntimeDefault
kubectl apply -f seccomp-deploy.yamlTesta isoleringen
Vid validering av inneslutningen försöker ni upprätta anslutningar mellan pods och använda utbrytningsmekanismer från en testpod, och bekräftar att policyerna blockerar dem. Gör detta i en kontrollerad namnrymd och ta sedan bort testpoddarna.
Rapportera varje pod som körs i privileged-läge och varje namnrymd som saknar default-deny, tillsammans med den exakta manifeständringen som åtgärdar problemet.
Snabb kontroll
Bekräfta era kunskaper om isolering.
Sammanfattning
Ni har lärt er att isolera arbetsbelastningar.
- Pod Security Admission (restricted) och securityContext förhindrar utbrytningar.
- Gatekeeper/Kyverno tillämpar anpassade admission-policyer.
- Nätverk är öppna som standard; tillämpa default-deny och lägg sedan till uttryckliga tillåtelser.
- Regler för utgående trafik, blockering av metadata och Falco ger ytterligare skydd.
Nästa steg: säkra leveranskedjan och hemligheterna.
Lär dig Cyber Security Academy med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 76
- Lektioner
- 303
Vanliga frågor
Är lektionen ”Pod-säkerhet och nätverkspolicyer” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Cyber Security Academy, inklusive ”Pod-säkerhet och nätverkspolicyer”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Cyber Security Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Pod-säkerhet och nätverkspolicyer”?
Isolera arbetslaster. Ni övar på Cyber Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cyber Security Academy?
Du behöver inga förkunskaper. Utbildningen i Cyber Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Pod-säkerhet och nätverkspolicyer”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cyber Security Academy-lektionen?
Ja. Varje Cyber Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Kubernetes-hotmodell
- RBAC och tjänstekonton
- Pod-säkerhet och nätverkspolicyer
- Skydda leveranskedjan och hemligheter