En penetrationstestare fick root-åtkomst till vårt Kubernetes-kluster på 15 minuter. Här är vad de utnyttjade. Attackkedjan: - Hittade exponerad Kubernetes-instrumentpanel (vår dåliga) - Instrumentpanelen hade ett skrivskyddat tjänstkonto (vi trodde att detta var säkert) - Tjänstkontot kan lista hemligheter i alla namnrymder - Hittade AWS-autentiseringsuppgifter i en hemlighet - Använde AWS-autentiseringsuppgifter för att komma åt EC2-instansprofilen - Instansprofilen hade fullständig Kubernetes-admin via IAM - Använde kubectl för att skapa privilegierad podd - Flydde till nod - Root-åtkomst till hela klustret Vad vi tyckte att vi gjorde rätt: - Instrumentpanelen var skrivskyddad - Hemligheter krypterades i vila - Nätverkspolicyer var på plats - Regelbundna säkerhetsuppdateringar Vad vi missade: - Instrumentpanelen ska inte exponeras alls - Tjänstkonton behöver principen om lägsta behörighet - Hemligheter får inte innehålla AWS-autentiseringsuppgifter (använd IRSA i stället) - Säkerhetsprinciper för poddar tillämpades inte - Nodåtkomsten var inte härdad Korrigeringen tog 2 veckor: - Tog bort Kubernetes-instrumentpanelen helt och hållet - Implementerade IRSA för all pod AWS-åtkomst - Tillämpade strikta säkerhetsstandarder för PSP:er/poddar...