En penetrasjonstester fikk root-tilgang til Kubernetes-klyngen vår på 15 minutter. Her er hva de utnyttet. Angrepskjeden: - Fant eksponert Kubernetes-dashbord (vår dårlige) - Dashbordet hadde skrivebeskyttet tjenestekonto (vi trodde dette var trygt) - Tjenestekontoen kan vise hemmeligheter på tvers av alle navneområder - Fant AWS-legitimasjon i en hemmelighet - Brukte AWS-legitimasjon for å få tilgang til EC2-forekomstprofilen - Forekomstprofilen hadde full Kubernetes-administrasjon via IAM - Brukt kubectl for å lage privilegert pod - Rømt til node - Root-tilgang til hele klyngen Hva vi trodde vi gjorde riktig: - Dashbordet var skrivebeskyttet - Hemmeligheter ble kryptert i hvile - Nettverkspolicyer var på plass - Regelmessige sikkerhetsoppdateringer Hva vi gikk glipp av: - Dashbordet skal ikke eksponeres i det hele tatt - Tjenestekontoer trenger prinsippet om minste privilegium - Hemmeligheter bør ikke inneholde AWS-legitimasjon (bruk IRSA i stedet) - Retningslinjer for pod-sikkerhet ble ikke håndhevet - Nodetilgang ble ikke herdet Løsningen tok 2 uker: - Fjernet Kubernetes-dashbordet helt - Implementert IRSA for all pod AWS-tilgang - Brukte strenge sikkerhetsstandarder for PSP-er/Pod-er...