Cyber Security Academy · Lektion

Pod-säkerhet och nätverkspolicyer

Isolera arbetslaster.

Lektion 3 av 413 steg

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: true ger nästan fullständig åtkomst till värden.
  • hostPID, hostNetwork, hostIPC bryter isoleringen mellan namnrymder.
  • hostPath-volymer monterar kataloger från noden.
  • Tillägg av capabilities som SYS_ADMIN mö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=restricted

En 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.yaml

Bortom 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.yaml

Nä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:5432

Grunderna 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.yaml

Utgå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.254 frå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.yaml

Testa 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.

Gratis att börja

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

  1. Kubernetes-hotmodell
  2. RBAC och tjänstekonton
  3. Pod-säkerhet och nätverkspolicyer
  4. Skydda leveranskedjan och hemligheter
← Tillbaka till Cyber Security Academy