Cloud Services

Kümmere dich um deine AWS-Zugangsschlüssel

Identitäts- und Zugriffsmanagement (IAM) ist ein wichtiger Bereich innerhalb des Sicherheitskapitels des Amazon Web Services (AWS) Well-Architected Framework. Bei Swisscom teilen wir diese Meinung. Um das Bewusstsein zu schärfen und uns mit den AWS-Technologien auseinanderzusetzen, haben wir einen einfachen Test gestartet. Wir wollten herausfinden, was passiert, wenn gültige AWS Access Keys auf GitHub veröffentlicht werden. Dieser Blogpost beschreibt das Vorgehen und die Auswirkungen.

"Programmatic Access" versus "Management Console Access"

Zunächst muss der Unterschied zwischen "programmatischem Zugriff" und "Managementkonsolenzugriff" kurz erklärt werden. Programmatischer Zugriff wird verwendet, wenn ein Nutzer oder eine Maschine Zugriff auf die AWS-Befehlszeilenschnittstelle (CLI), die AWS SDKs oder direkte HTTPS-Aufrufe zu den APIs für einzelne AWS-Services benötigt. Tools wie Ansible oder Terraform sind typische Beispiele für diese Zugriffsart.

Dann gibt es noch den Zugriff auf die Management-Konsole. Normalerweise meldet sich ein Mensch über einen Webbrowser bei der Verwaltungskonsole an. Der Benutzer authentifiziert sich mit Benutzername und Passwort (und hoffentlich einem zweiten Faktor), um Zugang zur GUI für die Verwaltung der Ressourcen zu erhalten.

Von nun an wird sich dieser Artikel nur noch auf den programmatischen Zugang konzentrieren. Die Zugangsdaten für den programmatischen Zugang werden Access Keys genannt. Zugangsschlüssel bestehen aus zwei Komponenten: einer Zugangsschlüssel-ID und einem geheimen Zugangsschlüssel. Sie könnten wie folgt aussehen:

  • Access Key ID: AKIAJ[……..]VVSUIS
  • Secret Access Key: 9sDXP9aLws[……..]GxCPurPzCKo2stXPIB

Veröffentlichung der Zugangsschlüssel

Um zu testen, was genau passiert, wenn Anmeldedaten veröffentlicht werden, wurden verschiedene Sicherheitsmaßnahmen implementiert. Unter anderem wurde ein Benutzer ohne jegliche Berechtigungen verwendet und die Multifaktor-Authentifizierung (MFA) für alle Benutzer dieses Kontos aktiviert. Das Konto wurde außerdem sehr genau überwacht, damit verdächtige Vorfälle sofort erkannt werden konnten.

Wir haben die Sicherheitsmaßnahmen mehrmals getestet, um sicherzustellen, dass sie wie erwartet funktionieren. Wir mussten sicher sein, dass mit den veröffentlichten Zugriffsschlüsseln keine Aktionen ausgeführt werden konnten und Protokolleinträge wie erwartet geschrieben wurden.

Schließlich haben wir die Access Keys auf GitHub veröffentlicht. Es wurde ein einfaches Playbook für Ansible mit folgendem Inhalt verwendet:

Die Reaktion auf die Veröffentlichung der Mandatsdaten war für uns absolut überwältigend. Innerhalb von weniger als einer Minute versuchten ausländische Parteien, die durchgesickerten Zugangsdaten auszunutzen. Innerhalb der 6 Minuten, in denen die Zugangsdaten gültig waren, erhielten wir Verbindungen von verschiedenen Anonymisierungsnetzwerken und aus China.

AWS hat das Problem ebenso schnell bemerkt und uns sofort benachrichtigt. Gleich nach dem Leck kam eine E-Mail in unserem Posteingang an, die uns über das Problem informierte. Uns wurde mitgeteilt, dass die Zugangsschlüssel weiterhin gültig sind. Um das Konto zu schützen, schränkte AWS vorübergehend die Möglichkeit ein, AWS-Ressourcen zu erstellen.

Achte auf deine Access Keys

Böswillige Akteure überwachen aktiv den auf GitHub (und anderen Quellcode-Repos) veröffentlichten Code. Mit der API, die GitHub anbietet, ist das leicht möglich. Wenn ein Schlüssel versehentlich veröffentlicht wird, wird jemand sofort versuchen, daraus Kapital zu schlagen. Es gibt automatisierte Tools, die innerhalb von Sekunden aus den durchgesickerten Zugangsdaten einen Vorteil ziehen. AWS hat vorbildlich reagiert und sofort Schutzmaßnahmen für das kompromittierte Konto ergriffen.

Mit diesem Test wollten wir das Bewusstsein schärfen. Access Keys(öffnet ein neues Fenster) sind kritische Komponenten, die besonders geschützt werden müssen. Auf der Website von AWS wird detailliert beschrieben, wie Access Keys gehandhabt werden und wie man sie entsprechend schützt. Auch Swisscom ist gerne bereit, spezielle Sicherheitsfragen zu IAM oder Amazon Web Services im Allgemeinen zu beantworten.

Willst du mehr über Swisscoms Portfolio und Dienstleistungen auf Amazon Web Services (AWS) erfahren?Nimm Kontakt mit unseren Experten auf! Coc.aws@swisscom.com oder besuche swisscom.ch/aws

Christoph Ernst

Christoph Ernst

Cloud Solution Engineer

Mehr getIT-Beiträge

Bereit für Swisscom

Finde deinen Job oder die Karrierewelt, die zu dir passt. In der du mitgestalten und dich weiterentwickeln willst.

Was du draus machst, ist was uns ausmacht.

Zu den Karrierewelten

Zu den offenen Security Stellen