Standaard ingeschakeld, en dat zou ook zo moeten zijn
IMDSv2-handhaving
Waarom instance metadata service v2 wordt afgedwongen op BYOC-runners en wat er kapot gaat als dit niet het geval is.
De instance-metadataservice deelt tijdelijke IAM-referenties uit aan alles wat er bij kan komen. Op IMDSv1 is dat een enkele niet-geverifieerde HTTP GET - triviaal bereikbaar via een gecompromitteerde buildstap of een vervalsing van een verzoek aan de serverzijde in een testopstelling.
IMDSv2 vereist een sessietoken verkregen met een PUT, die de gebruikelijke aanvalsvormen verslaat. Het wordt standaard afgedwongen op BYOC-hardlopers en we willen het niet meer uitschakelen.
bash
# IMDSv2: token first, then the requestTOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" \ -H "X-aws-ec2-metadata-token-ttl-seconds: 60")curl -H "X-aws-ec2-metadata-token: $TOKEN" \ http://169.254.169.254/latest/meta-data/iam/security-credentials/Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.