Moet mijn AWS-account-ID geheim worden gehouden? Kan er überhaupt iets worden gedaan met alleen de AWS-account-ID?
Uit de AWS-documentatie :
De AWS-account-ID is een 12-cijferig nummer, zoals 123456789012, dat u gebruikt om Amazon Resource Names (ARNs) samen te stellen. Wanneer u verwijst naar bronnen, zoals een IAM-gebruiker of een Amazon Glacier-kluis, onderscheidt de account-ID uw bronnen van bronnen in andere AWS-accounts.
Answer
Een AWS-account-ID kan worden gedeeld, indien nodig.
Zoals de documentatie zegt, is het belangrijkste dat iedereen uw AWS kan gebruiken Accountnummer voor is om ARNs samen te stellen. Als ik bijvoorbeeld een AWS-account had met een AWS Lambda-functie, en iemand op een ander account, aan wie ik expliciet toestemming had gegeven, het wilde manipuleren, dan zouden ze per account gebruiken nummer in het ARN.
arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords
Nogmaals, dit wordt volledig beperkt door de rechten die op uw account zijn toegepast. Zelfs als ik een volledige ARN had, tenzij u mijn AWS-accounttoegang, ik kan er niets mee doen.
API-sleutels zijn de dingen die controle op afstand mogelijk maken en zijn gevaarlijk.
Opmerkingen
- Dat klopt. Met AWS kun je nu openbaar beschikbare lambda-lagen delen, die worden gedeeld via ARNs die je account-ID bevatten. Hoewel het altijd beter is om niets te delen, tenzij het moet – iets dat u gewoon uw account-ID in de vorm van een ARN hoeft te delen.
Antwoord
Het kennen van een AWS-account-ID stelt u niet “bloot aan enige aanval op zich, maar het kan het voor een aanvaller gemakkelijker maken om andere compromitterende informatie te verkrijgen.
Rhino Security Labs demonstreren een mogelijke compromisvector via verkeerd geconfigureerde IAM-rollen in een blogpost hier :
AWS-account-IDs identificeren elk AWS-account op unieke wijze en zijn gevoeliger dan u misschien denkt. Hoewel het bekendmaken van de ID een account niet direct blootstelt aan compromittering, kan een aanvaller deze informatie gebruiken bij andere aanvallen. Er moet een redelijke inspanning worden geleverd om AWS account-IDs privé, maar in de praktijk worden ze vaak onbedoeld openbaar gemaakt.
[…]
Dit bericht – en het bijbehorende script dat we hebben vrijgegeven – richten zich op usi ng een AWS-account-ID om bestaande rollen te identificeren. Als uitbreiding van dit concept kunnen aanvallers een stap verder gaan en verkeerd geconfigureerde IAM-rollen aannemen om ongeautoriseerde toegang te krijgen.
Dit zal alleen effectief zijn in het geval waar een gebruiker rolaanname toestaat van * of van een te breed scala aan bronnen, maar in mijn ervaringen zijn IAM-machtigingen complex en redelijk moeilijk goed te controleren, en aanvallen zoals deze zijn moeilijk te detecteren:
Deze bruteforcing techniek en script zal een grote hoeveelheid “iam: AssumeRole” CloudTrail logs genereren in het account dat je gebruikt voor opsomming. Elk account dat u target, ziet niets in hun CloudTrail-logboeken totdat u met succes een verkeerd geconfigureerde rol aanneemt, dus dat betekent dat de opsomming volledig logvrij is voor het doelaccount.
Met andere woorden: het is niet intrinsiek een risico, maar het verkleint het aanvalsoppervlak van uw account op een zinvolle manier om de ID buiten het publieke oog te houden.
Opmerkingen
- Ik ' heb dat artikel ook gelezen, dat bericht verfraait de dingen een beetje, ze moesten een echt IAM-certificaat hebben + het AWS-acct. I ' d zeg dat als iemand een login heeft op het acct, het ' s al in het spel komt over het type situatie. Lekken van de AWS-acct-ID is nauwelijks wat de aanval veroorzaakte.