vectorfusionart - Fotolia

Per Rotation der AWS Access Keys die Sicherheit verbessern

Zur Absicherung von Instanzen unter Amazon EC2 hat AWS mehrere Möglichkeiten vorgesehen: IAM-Rollen sowie AWS Access Keys, die sich aus Sicherheitsgründen auch rotieren lassen.

Access Keys ermöglichen einen direkten Zugriff auf bei AWS (Amazon Web Services) verwaltete Ressourcen. Die Art, in der Unternehmen diese Zugangsschlüssel verwalten, hat deshalb einen erheblichen Einfluss auf die Sicherheit ihrer Cloud-Instanzen.

AWS Access Keys bestehen aus einer ID und einem geheimen Zugangsschlüssel. Jeder in AWS Identity and Access Management (IAM) angelegte Nutzer kann zwei aktive Access Keys haben, um ein Wechseln der Schlüssel zu ermöglichen. Es empfiehlt sich, automatische und periodische Wechsel der Zugangsschlüssel zu nutzen, um den Schaden durch einen möglicherweise in falsche Hände geratenen Schlüssel zu minimieren. Diese Schutzmaßnahme kann ohne Unterbrechung der bei AWS laufenden Cloud-Umgebung eines Unternehmens eingerichtet werden.

Wenn eine Anwendung direkt bei Amazon EC2 gehostet wird, sollten für ihre Sicherheit jedoch automatische IAM-Rollen statt in einer Instanz fest verankerte Schlüssel genutzt werden. IAM-Rollen ermöglichen vorübergehende Zugriffsrechte, die es einer Applikation erlauben, auf weitere Dienste zuzugreifen. So erhalten Anwendungen temporäre Nutzungsrechte, um etwa API-Anfragen zu signieren. Das Ganze basiert auf der EC2-Instanz, in der sie gerade laufen.

Um eine neue IAM-Rolle und ihre Nutzungsrechte einer EC2-Instanz zuzuweisen, muss zunächst ein neues Instanzenprofil angelegt werden, das alle nötigen Daten über die Rolle und ihre temporären Zugriffsrechte für eine bestimmte Anwendung enthält. EC2 speichert die vorübergehenden Zugriffsrechte dann in den Metadaten der Applikation. Informationen wie zum Beispiel die zugewiesenen Zugriffsrechte und das Ablaufdatum lassen sich in der Kategorie Metadaten unter iam/security-credentials/role-name einsehen. Diese temporären Nutzungsrechte sind jederzeit verfügbar. Zur Sicherheit wechselt AWS mehrmals am Tag zwischen ihnen. Unternehmen, die das AWS SDK (Software Development Kit) nutzen, um eigene Anwendungen zu entwickeln, müssen den Code allerdings leicht anpassen, um eine Rotation der Schlüssel zu ermöglichen.

Aktivieren der Rotation für AWS Access Keys

Wenn eine Anwendung nicht in einer EC2-Instanz gehostet wird, dann benötigt sie eigene AWS Access Keys. Auch von dritten innerhalb von EC2 gehostete Anwendungen benötigen eigene Schlüssel, weil sie nicht direkt mit IAM-Rollen zusammenarbeiten können. In beiden Fällen sollten betroffene Unternehmen eine Richtlinie für die Rotation der AWS Access Keys erstellen, die dann mit Hilfe der Kommandozeile von Amazon Web Services (AWS CLI, Command Line Interface), der AWS Management Konsole oder dem AWS SDK aktiviert werden kann.

Um AWS Access Keys zu rotieren, können folgende fünf Schritte genutzt werden:

  1. Erstellen Sie einen neuen Zugangsschlüssel, während der bisherige noch aktiv ist. AWS erlaubt die Nutzung von bis zu zwei gleichzeitigen Access Keys pro Anwender. Verwenden Sie dazu den Kommandozeilenbefehl aws iam create-access-key. Speichern Sie den neuen Zugangsschlüssel möglichst umgehend, so dass Sie ihn später jederzeit nutzen können, wenn Sie ihn benötigen.
  2. Verteilen Sie den AWS Access Key über alle Instanzen der Applikation. Überprüfen Sie dabei, ob die Anwendung mit dem neuen Schlüssel funktioniert. Testen Sie den zuletzt genutzten Access Key mit dem Befehl aws iam get-access-key-last-used.
  3. Entfernen Sie den alten Schlüssel. Deaktivieren, aber löschen Sie ihn dabei nicht. Verwenden Sie dazu das Kommando aws iam update-access-key. Um zu überprüfen, ob der bisher genutzte Schlüssel auch wirklich nicht mehr aktiv ist, nutzen Sie den Befehl aws iam list-access-keys.
  4. Testen Sie jetzt, ob die Anwendung auch wirklich mit dem neuen Access Key zusammenarbeitet. Wenn das nicht der Fall ist, reaktivieren Sie den alten Schlüssel wieder mit dem Befehl aws iam update-access-key.
  5. Löschen Sie nun den alten Access Key. Sobald er einmal gelöscht wurde, ist der Schlüssel nicht mehr verwendbar. Um die Löschung durchzuführen, geben Sie den Befehl aws iam delete-access-key

Administratoren können die fünf Schritte auch mit einem Skript automatisieren. Weil es aber nötig ist, in Schritt 4 zu testen, ob die Applikation auch wirklich problemlos mit dem neuen Schlüssel funktioniert, ist der jeweilige Ablauf immer etwas anders.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

AWS und Azure: Neue Cloud-Security-Funktionen

AWS: EC2-Instanzen und das Lebenszyklus-Management

Arbeiten mit AWS-EC2-Instanzen

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit