Die letzte Zugriffsprüfung in deinem AWS-Konto war wahrscheinlich nur ein formaler Akt. Die meisten Teams bestätigen in einer Überprüfung, dass bestimmte Berechtigungen entfernt werden sollten – doch diese Entscheidung bleibt oft nur auf dem Papier. Die tatsächlichen Zugriffe bleiben bestehen, und das System markiert die Prüfung als abgeschlossen.
Genau dieses Problem hat mich über Jahre beschäftigt. Die Lösung? Ein neues Tool namens VIGIL, das ich entwickelt und auf GitHub veröffentlicht habe. Es verbindet die Entscheidungsfindung direkt mit der Umsetzung – und stellt sicher, dass Änderungen auch wirklich wirksam werden.
Warum herkömmliche Zugriffsprüfungen oft scheitern
Eine klassische Zugriffsprüfung beantwortet eine einfache Frage: Sollte diese Berechtigung noch existieren? Der Besitzer entscheidet mit Ja oder Nein, vielleicht wird ein Ticket erstellt – doch zwischen Entscheidung und Umsetzung vergeht oft Zeit. In dieser Lücke bleibt das Risiko bestehen.
VIGIL geht einen anderen Weg: Es macht die Entscheidung und die Umsetzung zu einem einzigen Schritt. Dafür führt das Tool vier zentrale Aufgaben aus:
- Erkennung von Ressourcen: VIGIL durchsucht AWS-Ressourcen, die mit einem
owner-Tag versehen sind, und identifiziert, wer darauf Zugriff hat. - Entscheidung einholen: Der verantwortliche Besitzer wird gefragt, ob die Berechtigung behalten, eingeschränkt oder entfernt werden soll.
- Umsetzung in Echtzeit: Die Entscheidung wird direkt auf der Ressource angewendet – ohne manuelle Nacharbeit.
- Nachweisführung: Jede Änderung wird dokumentiert, sodass der Prozess später überprüft werden kann.
Präzise Änderungen ohne Nebenwirkungen
Ein häufiger Fehler bei der Zugriffsverwaltung ist die pauschale Entfernung von Berechtigungen. Wird etwa einem Nutzer der Zugriff auf einen S3-Bucket entzogen, indem seine IAM-Richtlinie gelöscht wird, verliert er gleichzeitig alle anderen Zugriffe – was schnell zu ungewollten Ausfällen führt.
VIGIL vermeidet diesen Fehler durch skalierbare und gezielte Änderungen:
- Bucket-Richtlinien: Wenn der Zugriff über eine Bucket-Richtlinie erfolgt, wird nur der betroffene Nutzer oder die spezifische Aktion entfernt. Beispiel: Statt alle
s3:PutObject-Berechtigungen zu streichen, wird nur die für einen bestimmten Nutzer gelöscht. - IAM-Richtlinien: Bei Nutzer-spezifischen Richtlinien fügt VIGIL stattdessen eine explizite Ablehnung (
Deny) für die fragliche Ressource hinzu. So bleiben alle anderen Berechtigungen des Nutzers intakt. - Sicherheitsnetz: Falls eine Änderung nicht sicher umgesetzt werden kann, wird stattdessen ein Ticket erstellt. Lieber keine Änderung als eine zu breite – das ist die Philosophie hinter VIGIL.
Zuverlässigkeit durch asynchrone Verarbeitung
Eine weitere Herausforderung bei der automatisierten Zugriffsverwaltung ist die Zuverlässigkeit. Viele Systeme scheitern, weil sie Änderungen synchron im API-Aufruf durchführen – bei Netzwerkproblemen oder Zeitüberschreitungen bleibt die Umsetzung unvollständig.
VIGIL löst dieses Problem durch eine asynchrone Architektur:
- Die API validiert die Entscheidung, speichert sie in einer Datenbank und übergibt sie an eine SQS-Warteschlange.
- Ein separater Worker-Prozess holt die Aufgabe ab, führt sie idempotent aus und wiederholt fehlgeschlagene Versuche automatisch.
- Nicht umsetzbare Änderungen werden in eine Dead-Letter-Queue verschoben, um sie später zu analysieren.
Dieser Ansatz stellt sicher, dass das System schnell bleibt und keine Änderungen verloren gehen.
Nachweise für Auditoren – manipulationssicher und vollständig
Ein zentraler Vorteil von VIGIL ist die lückenlose Dokumentation. Jede Entscheidung und jede Änderung wird in einer append-only-Tabelle gespeichert, bei der jeder neue Eintrag mit einem Hash des vorherigen Eintrags verknüpft ist. So lässt sich später nachweisen, dass die Daten nicht manipuliert wurden.
Optional kann der Nachweis zusätzlich in einem S3-Bucket mit Object-Lock (WORM) gespeichert werden, der Änderungen für eine festgelegte Aufbewahrungsfrist verhindert. Zudem erstellt VIGIL Snapshots des ursprünglichen Zustands, sodass jede Änderung im Nachhinein rückgängig gemacht werden kann.
Für Auditoren bedeutet das: Statt auf eine Excel-Tabelle angewiesen zu sein, die jemand unterschrieben hat, können sie konkrete Beweise vorlegen – inklusive der Historie aller Änderungen und deren Auswirkungen.
Erweiterbarkeit für weitere AWS-Dienste
VIGIL ist nicht auf S3 oder IAM beschränkt. Die aktuelle Version unterstützt bereits:
- S3-Buckets
- IAM-Nutzer
- IAM-Rollen
- EC2-Instanzen
Die Architektur ist jedoch so konzipiert, dass neue Dienste mit minimalem Aufwand integriert werden können. Ein Connector besteht aus nur vier Methoden:
snapshot() # Erstellt einen Schnappschuss des aktuellen Zustands
revoke() # Entfernt Berechtigungen
modify() # Passt Berechtigungen an
rollback() # Setzt Änderungen zurückBeispielsweise könnte ein Connector für RDS, SNS oder Secrets Manager in wenigen Tagen entwickelt werden – ohne dass der Kern von VIGIL angepasst werden muss.
Serverlos und flexibel einsetzbar
VIGIL läuft vollständig serverlos auf AWS:
- Lambda-Funktionen für die Logik
- SQS für die Warteschlangen
- DynamoDB für die Speicherung der Entscheidungen
- Cognito für die Authentifizierung
- API Gateway für die Schnittstelle
- SES für Benachrichtigungen
Die REST-API ist dokumentiert, sodass Teams ihre eigene Benutzeroberfläche entwickeln oder das Tool in bestehende Workflows integrieren können.
Erste Schritte und Community-Einbindung
Das Projekt ist für den Produktionseinsatz konzipiert und erfüllt hohe Anforderungen:
- Idempotente Ausführung mit Dead-Letter-Queue
- Geringste Berechtigungen für alle Komponenten
- Hash-verkettete Nachweise mit optionaler WORM-Speicherung
- Rollback-Funktionalität
- Umfassende Testabdeckung
Die Dokumentation umfasst:
- Eine AWS SAM-Vorlage für die einfache Bereitstellung
- Eine Quick-Start-Anleitung für den Einstieg
- Einen Entwicklerleitfaden für die Erweiterung
- Anleitungen zum Schreiben eigener Connectoren
Wer VIGIL ausprobieren möchte, kann es direkt aus dem Repository klonen und auf die eigenen, mit owner-Tags versehenen Ressourcen anwenden. Wie bei jedem Sicherheitstool gilt jedoch: Vor dem Einsatz in der Produktion sollte es gegen die eigenen Standards geprüft werden. Feedback und Erweiterungsvorschläge sind willkommen – das Projekt lebt von der Community.
In einer Zeit, in der Zugriffsmanagement immer komplexer wird, bietet VIGIL eine klare Lösung: Entscheidungen werden nicht nur getroffen, sondern auch umgehend und präzise umgesetzt. Das reduziert nicht nur das Sicherheitsrisiko, sondern schafft auch Vertrauen – bei Nutzern, Administratoren und Auditoren gleichermaßen.
KI-Zusammenfassung
AWS erişim incelemeleri genelde etkisiz kalır. VIGIL, karar ve uygulamanın aynı adımda gerçekleşmesini sağlayarak erişim güvenliğini otomatikleştiriyor ve denetçilere kanıt sunuyor.