AWS - Federation Abuse
Last updated
Last updated
Vir inligting oor SAML, kyk asseblief:
Om 'n Identiteitsfederasie deur SAML te konfigureer, hoef jy net 'n naam en die metadata XML te voorsien wat al die SAML-konfigurasie bevat (eindpunte, sertifikaat met openbare sleutel)
Om 'n github-aksie as Identiteitsverskaffer by te voeg:
Vir Verskafferstipe, kies OpenID Connect.
Vir Verskaffer-URL, voer https://token.actions.githubusercontent.com
in.
Klik op Kry duimafdruk om die duimafdruk van die verskaffer te kry.
Vir Gehoor, voer sts.amazonaws.com
in.
Skep 'n nuwe rol met die regte wat die github-aksie nodig het en 'n vertrouensbeleid wat die verskaffer vertrou, soos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:sub": [ "repo:ORG_OR_USER_NAME/REPOSITORY:pull_request", "repo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/main" ], "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" } } } ] }
OpenID Connect (OIDC) is een identiteitslaag bovenop het OAuth 2.0-protocol. Het wordt vaak gebruikt voor authenticatie en autorisatie in cloudomgevingen, waaronder Amazon Elastic Kubernetes Service (EKS). EKS maakt gebruik van OIDC om externe identiteitsproviders te integreren voor het beheren van toegang tot Kubernetes-clusters.
Een veelvoorkomende fout is het verkeerd configureren van OIDC in EKS. Dit kan leiden tot onbedoelde toegang tot het Kubernetes-cluster. Een aanvaller kan profiteren van deze fout door zich voor te doen als een externe identiteitsprovider en toegang te krijgen tot het cluster.
EKS maakt gebruik van IAM-rollen (Identity and Access Management) om toegang te beheren. Als de IAM-rollen onjuist zijn toegewezen, kan een aanvaller mogelijk toegang krijgen tot gevoelige bronnen in het cluster. Dit kan leiden tot gegevensdiefstal, gegevenswijziging of zelfs het overnemen van het cluster.
Het toegangscontrolebeleid in EKS bepaalt welke acties een gebruiker kan uitvoeren in het cluster. Als het beleid onjuist is geconfigureerd, kan een aanvaller mogelijk ongeautoriseerde acties uitvoeren, zoals het maken van nieuwe pods, het wijzigen van configuraties of het verwijderen van bronnen.
Om misbruik van OIDC in EKS te voorkomen, worden de volgende aanbevelingen gedaan:
Zorg ervoor dat OIDC correct is geconfigureerd volgens de documentatie van EKS.
Controleer regelmatig de toewijzing van IAM-rollen en zorg ervoor dat alleen de juiste rollen zijn toegewezen aan gebruikers en services.
Beperk de rechten van IAM-rollen tot wat strikt noodzakelijk is voor de uitvoering van taken.
Implementeer een strikt toegangscontrolebeleid en controleer regelmatig op ongeautoriseerde acties.
Houd de EKS-documentatie en beveiligingsupdates bij om op de hoogte te blijven van eventuele nieuwe beveiligingsrisico's en aanbevolen maatregelen.
Door deze aanbevelingen op te volgen, kunt u de beveiliging van uw EKS-cluster verbeteren en het risico op misbruik van OIDC verminderen.
Dit is moontlik om OIDC-verskaffers in 'n EKS-kluster te genereer deur eenvoudigweg die OIDC-URL van die kluster as 'n nuwe Open ID Identity-verskaffer in te stel. Dit is 'n algemene verstekbeleid:
Hierdie beleid dui korrek aan dat slegs die EKS-kluster met die id 20C159CDF6F2349B68846BEC03BE031B
die rol kan aanneem. Dit dui egter nie aan watter diensrekening dit kan aanneem nie, wat beteken dat ENIGE diensrekening met 'n web-identiteits-token die rol kan aanneem.
Om spesifiek aan te dui watter diensrekening die rol kan aanneem, moet 'n voorwaarde gespesifiseer word waar die diensrekeningnaam gespesifiseer word, soos: