De 4 C:na i molnbaserad säkerhet, Code, Container, Cluster, Cloud, beskriver de lager som behöver hanteras. Kubernetes klustersäkerhet är bara ett lager. Ett säkert kluster som kör osäker applikationskod eller felkonfigurerade containrar ger inte ett säkert system. Varje lager måste hanteras.
Det primära säkerhetsmålet i Kubernetes är att minska explosionsradien. Om en container komprometteras, hur långt kan angriparen nå? Utan kontroller är svaret 'mycket långt'. De kan nå andra arbetslaster i alla namnrymder och anropa Kubernetes API med containerns service account-behörigheter. Med kontroller, nätverkspolicyer, avgränsade service accounts, säkerhetskontexter och admissionspolicyer, blir svaret 'inte särskilt långt.'
Namnrymder är en organisationsgräns, inte en säkerhetsgräns i sig. Två Pods i olika namnrymder kan kommunicera fritt om inte NetworkPolicies förhindrar det. Faktisk säkerhetsisolering mellan hyresgäster kräver nätverkspolicyer, namnrymdsavgränsat RBAC och potentiellt separata kluster.
Den operativa vana som spelar mest roll är att behandla säkerhetskonfiguration som kod. RBAC-policyer, NetworkPolicies, admissionsregler och säkerhetskontexter ska alla finnas i versionskontroll, granskas som applikationsändringar och tillämpas via en kontrollerad driftsättningsprocess.