Een penetratietester kreeg binnen 15 minuten roottoegang tot onze Kubernetes-cluster. Dit is wat ze hebben geëxploiteerd. De aanvalsketen: - Gevonden blootgestelde Kubernetes-dashboard (onze fout) - Dashboard had een alleen-lezen serviceaccount (we dachten dat dit veilig was) - Serviceaccount kon geheimen in alle namespaces opvragen - Gevonden AWS-gegevens in een geheim - Gebruikte AWS-gegevens om toegang te krijgen tot EC2-instanceprofiel - Instanceprofiel had volledige Kubernetes-admin via IAM - Gebruikte kubectl om een geprivilegieerde pod te maken - Ontsnapte naar node - Roottoegang tot de hele cluster Wat we dachten dat we goed deden: - Dashboard was alleen-lezen - Geheimen waren versleuteld in rust - Netwerkbeleid was ingesteld - Regelmatige beveiligingsupdates Wat we misten: - Dashboard mag helemaal niet blootgesteld worden - Serviceaccounts moeten het principe van de minste privilege volgen - Geheimen mogen geen AWS-gegevens bevatten (gebruik in plaats daarvan IRSA) - Pod Security Policies werden niet afgedwongen - Toegang tot nodes was niet verhard De oplossing duurde 2 weken: - Verwijderde het Kubernetes-dashboard volledig - Implementeerde IRSA voor alle pod AWS-toegang - Toegepaste strikte PSPs/Pod Security Standards...