Überwachen Sie EC2 Instanzschlüsselpaare mit AWS Config - 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 EC2 Instanzschlüsselpaare mit AWS Config

Erstellt von Wassim Benhallam (AWS), Sergio Bilbao Lopez () und Vikrant Telkar () AWS AWS

Umwelt: Produktion

Technologien: Sicherheit, Identität, Compliance

AWSDienste: AmazonSNS; AWS Config; AWS Lambda

Übersicht

Beim Starten einer Amazon Elastic Compute Cloud (AmazonEC2) -Instance in der Amazon Web Services (AWS) Cloud empfiehlt es sich, ein vorhandenes key pair zu erstellen oder zu verwenden, um eine Verbindung mit der Instance herzustellen. Das key pair, das aus einem in der Instanz gespeicherten öffentlichen Schlüssel und einem privaten Schlüssel besteht, der dem Benutzer zur Verfügung gestellt wird, ermöglicht den sicheren Zugriff über Secure Shell (SSH) auf die Instanz und vermeidet die Verwendung von Passwörtern. Manchmal können Benutzer jedoch versehentlich Instances starten, ohne ein key pair anzuhängen. Da Schlüsselpaare nur beim Start einer Instance zugewiesen werden können, ist es wichtig, Instances, die ohne Schlüsselpaare gestartet wurden, schnell zu identifizieren und als nicht konform zu kennzeichnen. Dies ist besonders nützlich, wenn Sie in Konten oder Umgebungen arbeiten, die die Verwendung von Schlüsselpaaren für den Instanzzugriff vorschreiben.

Dieses Muster beschreibt, wie Sie in AWS Config eine benutzerdefinierte Regel zur Überwachung von EC2 Instanzschlüsselpaaren erstellen. Wenn Instances als nicht konform identifiziert werden, wird eine Warnung mithilfe von Amazon Simple Notification Service (AmazonSNS) -Benachrichtigungen gesendet, die durch ein EventBridge Amazon-Ereignis ausgelöst wurden.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives Konto AWS

  • AWSConfig aktiviert für die AWS Region, die Sie überwachen möchten, und konfiguriert, um alle AWS Ressourcen aufzuzeichnen

Einschränkungen

  • Diese Lösung ist regionsspezifisch. Alle Ressourcen sollten in derselben AWS Region erstellt werden.

Architektur

Zieltechnologie-Stack

  • AWSConfig

  • Amazon EventBridge

  • AWSLambda

  • Amazon SNS

Zielarchitektur

Diagram showing AWS-Services interaction: Config, Custom rule, Lambda, EventBridge, SNS, and Email notification.
  1. AWSConfig initiiert die Regel.

  2. Die Regel ruft die Lambda-Funktion auf, um die Konformität von EC2 Instanzen zu bewerten.

  3. Die Lambda-Funktion sendet den aktualisierten Konformitätsstatus an AWS Config.

  4. AWSConfig sendet ein Ereignis an EventBridge.

  5. EventBridge veröffentlicht Benachrichtigungen über Konformitätsänderungen zu einem SNS Thema.

  6. Amazon SNS sendet eine Warnung per E-Mail.

Automatisierung und Skalierung

Die Lösung kann eine beliebige Anzahl von EC2 Instanzen innerhalb einer Region überwachen.

Tools

Tools

  • AWSAWSConfig — Config ist ein Service, mit dem Sie die Konfigurationen Ihrer AWS Ressourcen bewerten, prüfen und bewerten können. AWSConfig überwacht und zeichnet Ihre AWS Ressourcenkonfigurationen kontinuierlich auf und ermöglicht es Ihnen, die Auswertung aufgezeichneter Konfigurationen anhand der gewünschten Konfigurationen zu automatisieren.

  • Amazon EventBridge — Amazon EventBridge ist ein serverloser Event-Bus-Service, der Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbindet.

  • AWSLambda — AWS Lambda ist ein serverloser Rechendienst, der die Ausführung von Code ohne Bereitstellung oder Verwaltung von Servern, die Erstellung einer Workload-Skalierungslogik für Cluster, die Verwaltung von Eventintegrationen oder die Verwaltung von Laufzeiten unterstützt.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) ist ein vollständig verwalteter Messaging-Dienst sowohl für application-to-application (A2A) als auch für application-to-person (A2P) Kommunikation.

Code

Der Code für die Lambda-Funktion ist angehängt. 

Epen

AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie eine AWS Identity and Access Management (IAM) -Rolle für Lambda.

Wählen Sie in der AWS Management Console die Rolle aus IAM, und erstellen Sie sie dann. Verwenden Sie Lambda als vertrauenswürdige Entität und fügen Sie die AWSConfigRulesExecutionRole Berechtigungen AmazonEventBridgeFullAccess und hinzu. Weitere Informationen finden Sie in der AWSDokumentation.

DevOps
Erstellen und implementieren Sie die Lambda-Funktion.
  1. Erstellen Sie auf der Lambda-Konsole mithilfe von Author von Grund auf eine Funktion mit Python 3.6 als Laufzeit und der zuvor erstellten IAM Rolle. Notieren Sie sich den Amazon-Ressourcennamen (ARN).

  2. Wählen Sie auf der Registerkarte Code den Code auslambda_function.py, der an dieses Muster angehängt ist, und fügen Sie ihn ein. 

  3. Um Ihre Änderungen zu speichern, wählen Sie Bereitstellen

DevOps
AufgabeBeschreibungErforderliche Fähigkeiten
Fügen Sie eine benutzerdefinierte AWS Konfigurationsregel hinzu.

Fügen Sie in der AWS Config-Konsole eine benutzerdefinierte Regel mit den folgenden Einstellungen hinzu:

  • ARN— Die ARN der zuvor erstellten Lambda-Funktion

  • Triggertyp — Konfigurationsänderungen

  • Umfang der Änderungen — Ressourcen

  • Ressourcentyp — EC2 Amazon-Instance

Weitere Informationen finden Sie in der AWSDokumentation.

DevOps
AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie das SNS Thema und das Abonnement.

Erstellen Sie auf der SNS Amazon-Konsole ein Thema mit dem Typ Standard und anschließend ein Abonnement mit E-Mail als Protokoll.

Wenn Sie die Bestätigungs-E-Mail erhalten, wählen Sie den Link zur Bestätigung des Abonnements.

Weitere Informationen finden Sie in der AWSDokumentation.

DevOps
Erstellen Sie eine EventBridge Regel, um SNS Amazon-Benachrichtigungen zu initiieren.

Erstellen Sie auf der EventBridge Konsole eine Regel mit den folgenden Einstellungen:

  • Dienstname — AWS Config

  • Ereignistyp — Änderung der Konformität der Konfigurationsregeln

  • Nachrichtentyp — Spezifische Nachrichtentypen, ComplianceChangeNotification

  • Spezifischer Regelname — Der Name Ihrer zuvor erstellten AWS Config-Regel

  • Ziel — SNS Thema, Ihr zuvor erstelltes Thema

Weitere Informationen finden Sie in der AWSDokumentation.

DevOps
AufgabeBeschreibungErforderliche Fähigkeiten
EC2Instanzen erstellen.

Erstellen Sie zwei EC2 Instanzen eines beliebigen Typs und hängen Sie ein key pair an, und erstellen Sie eine EC2 Instanz ohne key pair.

DevOps
Überprüfen Sie die Regel.
  1. Wählen Sie in der AWS Config-Konsole auf der Seite Regeln Ihre Regel aus.

  2. Um konforme und nicht konforme EC2 Instanzen zu sehen, ändern Sie Ressourcen im Geltungsbereich auf Alle. Stellen Sie sicher, dass zwei Instanzen als konform und eine Instanz als nicht konform aufgeführt sind. 

  3. Warten Sie, bis Sie SNS eine E-Mail-Benachrichtigung von Amazon über den Compliance-Status der EC2 Instances erhalten. 

DevOps

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip