Är ditt Kubernetes-kluster säkert eller körs det bara?Standard Kubernetes-konfigurationer prioriterar användarvänlighet framför säkerhet. Utan avsiktlig härdning är kluster sårbara för utrymningar av behållare, privilegieskalering, rörelse i sidled och datastöld. Den här checklistan täcker alla säkerhetskontroller du behöver implementera för produktionsmiljöer Kubernetes.
Nyckel takeaways
- Standard Kubernetes är inte säker:Out-of-the-box-konfigurationer tillåter privilegierade behållare, obegränsad nätverksåtkomst och breda API-serverbehörigheter.
- RBAC är ditt första försvar:Begränsa serveråtkomsten API till det minimum som krävs för varje tjänstkonto och användare.
- Nätverkspolicyer förhindrar rörelse i sidled:Utan nätverkspolicyer kan varje pod kommunicera med varannan pod – ett platt nätverk i ditt kluster.
- Pod-säkerhetsstandarder ersätter PSP:Pod Security Admission (PSA) upprätthåller säkerhetsbegränsningar på alla pods.
- Säkerhet i leveranskedjan:Verifiera bildens ursprung, skanna efter sårbarheter och upprätthåll bildpolicyer genom tillträdeskontroll.
Kubernetes Säkerhetschecklista
API Serversäkerhet
- Aktivera RBAC och inaktivera anonym autentisering
- Använd stark autentisering (OIDC, certifikatbaserad) – inte grundläggande autentisering eller statiska tokens
- Begränsa API serveråtkomst till kända IP-intervall (hanterade Kubernetes: använd auktoriserade nätverk)
- Aktivera granskningsloggning för alla API-serverförfrågningar
- Inaktivera alfa/beta-funktioner i produktionskluster
- Konfigurera tillträdeskontroller: PodSecurity, ResourceQuota, LimitRange
RBAC bästa praxis
- Följ minsta privilegium: inga ClusterAdmin-bindningar för tjänstkonton
- Använd namnavgränsade roller istället för ClusterRoles där det är möjligt
- Granska RBAC regelbundet med verktyg som kubectl-who-can och rbac-lookup
- Ge aldrig jokerteckenbehörigheter (verb: ["*"], resurser: ["*"])
- Begränsa tillgången till hemligheter — ge bara get/list on secrets till pods som behöver dem
- Använd separata tjänstkonton per applikation (inte standardtjänstkontot)
Nätverkssäkerhet
- Implementera default-deny NetworkPolicies i alla namnområden
- Tillåt endast obligatorisk in- och utgående trafik per applikation
- Använd en CNI som stöder NetworkPolicies (Calico, Cilium, Antrea)
- Kryptera inter-pod-kommunikation med servicemesh mTLS (Istio, Linkerd)
- Begränsa egress till kända externa ändpunkter (förhindra dataexfiltrering)
- Isolera känsliga arbetsbelastningar i dedikerade namnområden med strikta policyer
Pod Security
- Aktivera Pod Security Admission på namnområdesnivå (tillämpa "begränsad" profil)
- Kör behållare som icke-root (runAsNonRoot: true)
- Använd skrivskyddat rotfilsystem (readOnlyRootFilesystem: true)
- Släpp alla funktioner, lägg bara till det som behövs (släpp: ["ALLA")
- Inaktivera behörighetseskalering (allowPrivilegeEscalation: false)
- Ställ in resursgränser (CPU, minne) på alla behållare för att förhindra resursmissbruk
- Montera inte tjänstkontotoken om det inte behövs (automountServiceAccountToken: false)
Bildsäkerhet
- Skanna alla bilder efter sårbarheter före distribution (Trivy, Snyk)
- Använd minimala basbilder (distroless, Alpine) för att minska attackytan
- Signera behållarbilder och verifiera signaturer vid tillträde (cosign, Notation)
- Tillåt endast bilder från betrodda register (upprätthålla genom tillträdeskontroll)
- Använd aldrig :senaste taggen — fäst till specifika bildsammandrag för reproducerbarhet
- Bygg om och uppdatera basavbildningar regelbundet för att införliva säkerhetskorrigeringar
Secrets Management
- Lagra inte hemligheter i miljövariabler eller ConfigMaps
- Använd extern hemlighetshantering (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault)
- Om du använder Kubernetes Secrets, aktivera kryptering i vila (EncryptionConfiguration)
- Rotera hemligheter regelbundet med automatiserad rotation genom externa hemlighetsoperatörer
- Begränsa RBAC-åtkomst till hemligheter — de flesta pods bör inte kunna lista alla hemligheter
Övervakning och upptäckt
- Aktivera Kubernetes granskningsloggning och vidarebefordra till SIEM
- Distribuera körtidssäkerhetsövervakning (Falco, Sysdig)
- Övervaka för: oväntad processexekvering, nätverksanslutningar, filändringar, privilegieskalering
- Varning om: skapande av ny ClusterRoleBinding, hemlig åtkomst av oväntade pods, container exec-kommandon
- Implementera överträdelser av Pod-säkerhetspolicyn som SIEM-varningar
CIS Kubernetes Benchmark
Center for Internet Security (CIS) publicerar detaljerade säkerhetsriktmärken för Kubernetes. Använd kube-bench för att automatiskt utvärdera ditt kluster mot CIS-riktmärken. Ta itu med alla kritiska och höga resultat innan produktionsinstallation. Hanterade Kubernetes-tjänster (EKS, AKS, GKE) hanterar vissa benchmarkobjekt automatiskt, men kundansvariga artiklar kräver fortfarande konfiguration.
Hur Opsio säkrar Kubernetes
- Klustersäkerhetsbedömning:Vi utvärderar dina Kubernetes-kluster mot CIS-riktmärken och bästa metoder för molnleverantörer.
- Härdningsimplementering:Vi implementerar alla checklistpunkter inklusive RBAC, nätverkspolicyer, podsäkerhet och övervakning.
- Körtidsövervakning:Vår SOC övervakar Kubernetes-kluster för säkerhetshändelser och onormalt beteende.
- Policytillämpning:Vi distribuerar OPA/Gatekeeper eller Kyverno för att upprätthålla säkerhetspolicyer automatiskt.
- Pågående förvaltning:Regelbundna säkerhetsgranskningar, omvärdering av CIS-riktmärken och uppdateringar av säkerhetskonfigurationer.
Vanliga frågor
Vilken är den viktigaste Kubernetes säkerhetskontrollen?
Nätverkspolicyer med standard-neka. Utan nätverkspolicyer kan varje pod kommunicera med varannan pod — en komprometterad webbapplikationspod kan direkt komma åt databaspodden, övervakningsstacken och Kubernetes API-servern. Standard-förneka nätverkspolicyer minskar omedelbart sprängradien för eventuella containerkompromisser.
Ska jag använda ett servicenät för säkerhet?
Service mesh (Istio, Linkerd) lägger till mTLS mellan tjänster, vilket ger kryptering och autentisering för all kommunikation mellan pods. Om du hanterar känsliga data eller behöver uppfylla kraven för efterlevnad av kryptering under överföring är servicenätet värdefullt. För enklare miljöer kan enbart nätverkspolicyer vara tillräckliga.
Hur hanterar jag hemligheter i Kubernetes säkert?
Använd en extern hemlighetshanterare (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) med en Kubernetes hemlighetsoperatör (External Secrets Operator, Vault Secrets Operator). Detta håller hemligheter borta från Git, tillhandahåller revisionsloggning, möjliggör rotation och centraliserar hemlig hantering över Kubernetes och icke-Kubernetes arbetsbelastningar.
Editorial standards: This article was written by a certified practitioner and peer-reviewed by our engineering team. We update content quarterly to ensure technical accuracy. Opsio maintains editorial independence — we recommend solutions based on technical merit, not commercial relationships.