Überwachen Sie die Aktivität von IAM Root-Benutzern - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überwachen Sie die Aktivität von IAM Root-Benutzern

Erstellt von Mostefa Brougui () AWS

Quellcode-Repository: -activity-monitor aws-iam-root-user

Umgebung: PoC oder Pilot

Technologien: Sicherheit, Identität, Compliance; Management und Unternehmensführung

Arbeitslast: Alle anderen Workloads

AWSDienste: Amazon EventBridge; AWS Lambda; AmazonSNS; AWS Identity and Access Management

Übersicht

Jedes Amazon Web Services (AWS) -Konto hat einen Root-Benutzer. Als bewährte Sicherheitsmethode für AWS Identity and Access Management (IAM) empfehlen wir, dass Sie den Root-Benutzer verwenden, um die Aufgaben auszuführen, die nur der Root-Benutzer ausführen kann. Die vollständige Liste finden Sie im Referenzhandbuch zur AWS Kontoverwaltung unter Aufgaben, für die Root-Benutzeranmeldedaten erforderlich sind. Da der Root-Benutzer vollen Zugriff auf all Ihre AWS Ressourcen und Rechnungsinformationen hat, empfehlen wir Ihnen, dieses Konto nicht zu verwenden und es auf Aktivitäten zu überwachen, die darauf hindeuten könnten, dass die Root-Benutzeranmeldedaten kompromittiert wurden.

Mithilfe dieses Musters richten Sie eine ereignisgesteuerte Architektur ein, die den IAM Root-Benutzer überwacht. Mit diesem Muster wird eine hub-and-spoke Lösung eingerichtet, die mehrere AWS Konten, die Spoke-Konten, überwacht und die Verwaltung und Berichterstattung in einem einzigen Konto, dem Hub-Konto, zentralisiert.

Wenn die IAM Root-Benutzeranmeldedaten verwendet werden, AWS CloudTrail zeichnen Amazon CloudWatch und Amazon die Aktivität im Protokoll bzw. im Trail auf. Im Spoke-Konto sendet eine EventBridge Amazon-Regel das Ereignis an den zentralen Event-Bus im Hub-Konto. Im Hub-Konto sendet eine EventBridge Regel das Ereignis an eine AWS Lambda-Funktion. Die Funktion verwendet ein Amazon Simple Notification Service (AmazonSNS) -Thema, das Sie über die Root-Benutzeraktivität informiert.

In diesem Muster verwenden Sie eine AWS CloudFormation Vorlage, um die Überwachungs- und Ereignisbehandlungsdienste in den Spoke-Konten bereitzustellen. Sie verwenden eine HashiCorp Terraform-Vorlage, um die Ereignisverwaltungs- und Benachrichtigungsdienste im Hub-Konto bereitzustellen.

Voraussetzungen und Einschränkungen

Voraussetzungen

  1. Berechtigungen zum Bereitstellen von AWS Ressourcen in Ihrer Umgebung. AWS

  2. Berechtigungen zur Bereitstellung von CloudFormation Stack-Sets. Weitere Informationen finden Sie unter Voraussetzungen für Stack-Set-Operationen (CloudFormation Dokumentation).

  3. Terraform ist installiert und einsatzbereit. Weitere Informationen finden Sie unter Erste Schritte — AWS (Terraform-Dokumentation).

  4. Ein vorhandener Trail in jedem Spoke-Konto. Weitere Informationen finden Sie unter Erste Schritte mit AWS CloudTrail (CloudTrail Dokumentation).

  5. Der Trail ist so konfiguriert, dass Ereignisse an CloudWatch Logs gesendet werden. Weitere Informationen finden Sie unter Ereignisse an CloudWatch Protokolle senden (CloudTrail Dokumentation).

  6. Ihre Hub & Spoke-Konten müssen von AWS Organizations verwaltet werden.

Architektur

Das folgende Diagramm veranschaulicht die Bausteine der Implementierung.

Ein Ereignis in einem Spoke-Konto, das eine E-Mail-Benachrichtigung in einem Hub-Konto erstellt
  1. Wenn die IAM Root-Benutzeranmeldedaten verwendet werden CloudWatch und die Aktivität im Protokoll bzw. im Trail CloudTrail aufgezeichnet wird.

  2. Im Spoke-Konto sendet eine EventBridge Regel das Ereignis an den zentralen Event-Bus im Hub-Konto.

  3. Im Hub-Konto sendet eine EventBridge Regel das Ereignis an eine Lambda-Funktion.

  4. Die Lambda-Funktion verwendet ein SNS Amazon-Thema, das Sie über die Root-Benutzeraktivität informiert.

Tools

AWSDienste

  • AWS CloudFormationhilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über AWS Konten und Regionen hinweg zu verwalten.

  • AWS CloudTrailhilft Ihnen bei der Prüfung der Unternehmensführung, der Einhaltung von Vorschriften und des Betriebsrisikos Ihres AWS Kontos.

  • Amazon CloudWatch Logs hilft Ihnen dabei, die Protokolle all Ihrer Systeme, Anwendungen und AWS Dienste zu zentralisieren, sodass Sie sie überwachen und sicher archivieren können.

  • Amazon EventBridge ist ein serverloser Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Echtzeitdaten aus einer Vielzahl von Quellen verbinden können. Zum Beispiel AWS Lambda-Funktionen, HTTP Aufruf-Endpunkte, die API Ziele verwenden, oder Event-Busse in anderen Konten. AWS

  • AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWSLambda ist ein Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

  • Amazon Simple Notification Service (AmazonSNS) unterstützt Sie bei der Koordination und Verwaltung des Nachrichtenaustauschs zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen.

Andere Tools und Dienste

  • Terraform ist eine CLI Anwendung zur Bereitstellung und Verwaltung von Cloud-Infrastrukturen und -Ressourcen mithilfe von Code in Form von Konfigurationsdateien.

Code-Repository

Der Quellcode und die Vorlagen für dieses Muster sind in einem GitHub Repository verfügbar. Dieses Muster bietet zwei Vorlagen:

  • Eine Terraform-Vorlage, die die Ressourcen enthält, die Sie im Hub-Konto bereitstellen

  • Eine CloudFormation Vorlage, die Sie als Stackset-Instanz in den Spoke-Konten bereitstellen

Das Repository hat die folgende Gesamtstruktur.

.  |__README.md  |__spoke-stackset.yaml  |__hub.tf  |__root-activity-monitor-module      |__main.tf  # contains Terraform code to deploy resources in the Hub account      |__iam      # contains IAM policies JSON files          |__ lambda-assume-policy.json          # contains trust policy of the IAM role used by the Lambda function          |__ lambda-policy.json                 # contains the IAM policy attached to the IAM role used by the Lambda function      |__outputs  # contains Lambda function zip code

Der Abschnitt Epics enthält step-by-step Anweisungen zum Bereitstellen der Vorlagen.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Beispielcode-Repository.

  1. Öffnen Sie das AWSIAMRoot-Repository für den Benutzeraktivitätsmonitor.

  2. Wählen Sie auf der Registerkarte Code über der Dateiliste die Option Code aus, und kopieren Sie dann den HTTPSURL.

  3. Ändern Sie in einer Befehlszeilenschnittstelle Ihr Arbeitsverzeichnis in das Verzeichnis, in dem Sie die Beispieldateien speichern möchten.

  4. Geben Sie den folgenden Befehl ein:

    git clone <repoURL>
Allgemein AWS

Aktualisieren Sie die Terraform-Vorlage.

  1. Rufen Sie Ihre Organisations-ID ab. Anweisungen finden Sie unter Informationen zu einer Organisation über das Verwaltungskonto anzeigen (Dokumentation zu AWS Organizations).

  2. Öffnen hub.tf Sie im geklonten Repository.

  3. Aktualisieren Sie Folgendes mit den entsprechenden Werten für Ihre Umgebung:

    • OrganizationId— Fügen Sie Ihre Organisations-ID hinzu.

    • SNSTopicName— Füge einen Namen für das SNS Amazon-Thema hinzu.

    • SNSSubscriptions— Fügen Sie die E-Mail hinzu, an die SNS Amazon-Benachrichtigungen gesendet werden sollen.

    • Region— Fügen Sie den AWS Regionalcode hinzu, in dem Sie die Ressourcen einsetzen. Beispiel, eu-west-1.

    • Tags— Fügen Sie Ihre Tags hinzu. Weitere Informationen finden Sie unter AWSRessourcen mit Tags versehen (AWSAllgemeine Referenz).

  4. Speichern und schließen Sie die Datei hub.tf.

Allgemein AWS

Stellen Sie die Ressourcen für das AWS Hub-Konto bereit.

  1. Navigieren Sie in der Terraform-Befehlszeilenschnittstelle zum Stammordner des geklonten Repositorys und geben Sie dann den folgenden Befehl ein.

    terraform init && terraform plan
  2. Überprüfen Sie die Ausgabe und bestätigen Sie, dass Sie die beschriebenen Ressourcen erstellen möchten.

  3. Geben Sie den folgenden Befehl ein.

    terraform apply
  4. Wenn Sie dazu aufgefordert werden, bestätigen Sie die Bereitstellung, indem Sie Folgendes eingebenyes.

Allgemein AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Stellen Sie die CloudFormation Vorlage bereit.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die CloudFormation Konsole.

  2. StackSets.

  3. Wählen Sie oben auf der StackSetsSeite Create aus StackSet.

  4. Wählen Sie unter Berechtigungen die Option Vom Dienst verwaltete Berechtigungen aus. CloudFormation konfiguriert automatisch die Berechtigungen, die für die Bereitstellung auf den von AWS Organizations verwalteten Zielkonten erforderlich sind.

  5. Wählen Sie unter Voraussetzung — Vorlage vorbereiten die Option Vorlage ist bereit aus.

  6. Wählen Sie unter Vorlage angeben die Option Vorlagendatei hochladen aus.

  7. Wählen Sie Datei auswählen und wählen Sie dann im geklonten Repository die Option ausspoke-stackset.yaml.

  8. Wählen Sie Weiter.

  9. Geben Sie auf der Seite „ StackSet Details angeben“ einen Namen für das Stack-Set ein.

  10. Geben Sie unter Parameter die Konto-ID des Hub-Kontos ein und wählen Sie dann Weiter aus.

  11. Fügen Sie auf der Seite StackSet Optionen konfigurieren unter Tags Ihre Tags hinzu.

  12. Wählen Sie unter Ausführungskonfiguration die Option Inaktiv und dann Weiter aus.

  13. Geben Sie auf der Seite Bereitstellungsoptionen festlegen die Organisationseinheiten und Regionen an, in denen Sie das Stack-Set bereitstellen möchten, und wählen Sie dann Weiter aus.

  14. Wählen Sie auf der Seite Überprüfen die Option Ich bestätige, dass AWS CloudFormation möglicherweise IAM Ressourcen erstellt werden, und klicken Sie dann auf Absenden. CloudFormation beginnt mit der Bereitstellung Ihres Stack-Sets.

Weitere Informationen und Anweisungen finden Sie unter Erstellen eines Stack-Sets (CloudFormation Dokumentation).

Allgemein AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Verwenden Sie die Root-Benutzeranmeldedaten.

  1. Melden Sie sich mit den Root-Benutzeranmeldedaten bei einem Spoke-Konto oder dem Hub-Konto an.

  2. Vergewissern Sie sich, dass das von Ihnen angegebene E-Mail-Konto die SNS Amazon-Benachrichtigung erhält.

Allgemein AWS

Zugehörige Ressourcen

Zusätzliche Informationen

Amazon GuardDuty ist ein Dienst zur kontinuierlichen Sicherheitsüberwachung, der Protokolle analysiert und verarbeitet, um unerwartete und potenziell nicht autorisierte Aktivitäten in Ihrer AWS Umgebung zu identifizieren. Als Alternative zu dieser Lösung können Sie, sofern Sie sie aktiviert haben GuardDuty, eine Benachrichtigung erhalten, wenn die Root-Benutzeranmeldedaten verwendet wurden. Das GuardDuty Ergebnis istPolicy:IAMUser/RootCredentialUsage, und der Standardschweregrad ist Niedrig. Weitere Informationen finden Sie unter GuardDuty Amazon-Ergebnisse verwalten.