AWS - Config Enum

Unterstütze HackTricks

AWS Config

AWS Config erfasst Ressourcenänderungen, sodass jede Änderung an einer von Config unterstützten Ressource aufgezeichnet werden kann, was aufzeichnet, was sich geändert hat, zusammen mit anderen nützlichen Metadaten, die alle in einer Datei namens Konfigurationselement (CI) gespeichert sind. Dieser Dienst ist regionsspezifisch.

Ein Konfigurationselement oder CI, wie es bekannt ist, ist ein Schlüsselelement von AWS Config. Es besteht aus einer JSON-Datei, die die Konfigurationsinformationen, Beziehungsinformationen und andere Metadaten als Momentaufnahme einer unterstützten Ressource enthält. Alle Informationen, die AWS Config für eine Ressource aufzeichnen kann, werden im CI erfasst. Ein CI wird jedes Mal erstellt, wenn eine unterstützte Ressource in irgendeiner Weise eine Änderung an ihrer Konfiguration erfährt. Zusätzlich zur Aufzeichnung der Details der betroffenen Ressource wird AWS Config auch CIs für alle direkt verwandten Ressourcen aufzeichnen, um sicherzustellen, dass die Änderung diese Ressourcen nicht ebenfalls beeinflusst hat.

  • Metadaten: Enthält Details über das Konfigurationselement selbst. Eine Versions-ID und eine Konfigurations-ID, die das CI eindeutig identifizieren. Weitere Informationen können einen MD5Hash enthalten, der es ermöglicht, andere bereits aufgezeichnete CIs mit derselben Ressource zu vergleichen.

  • Attribute: Dies enthält allgemeine Attributinformationen zur tatsächlichen Ressource. In diesem Abschnitt haben wir auch eine eindeutige Ressourcen-ID und alle Schlüsselwert-Tags, die der Ressource zugeordnet sind. Der Ressourcentyp wird ebenfalls aufgeführt. Wenn es sich beispielsweise um ein CI für eine EC2-Instanz handelt, könnten die aufgeführten Ressourcentypen die Netzwerkschnittstelle oder die elastische IP-Adresse für diese EC2-Instanz sein.

  • Beziehungen: Dies enthält Informationen zu jeder verbundenen Beziehung, die die Ressource haben könnte. In diesem Abschnitt würde also eine klare Beschreibung jeder Beziehung zu anderen Ressourcen angezeigt, die diese Ressource hatte. Wenn das CI beispielsweise für eine EC2-Instanz war, könnte der Beziehungsabschnitt die Verbindung zu einem VPC zusammen mit dem Subnetz anzeigen, in dem sich die EC2-Instanz befindet.

  • Aktuelle Konfiguration: Dies zeigt dieselben Informationen an, die generiert würden, wenn Sie einen Describe- oder List-API-Aufruf über die AWS CLI durchführen würden. AWS Config verwendet dieselben API-Aufrufe, um dieselben Informationen zu erhalten.

  • Verwandte Ereignisse: Dies bezieht sich auf AWS CloudTrail. Dies zeigt die AWS CloudTrail-Ereignis-ID an, die mit der Änderung zusammenhängt, die die Erstellung dieses CI ausgelöst hat. Für jede Änderung an einer Ressource wird ein neues CI erstellt. Infolgedessen werden unterschiedliche CloudTrail-Ereignis-IDs erstellt.

Konfigurationshistorie: Es ist möglich, die Konfigurationshistorie von Ressourcen dank der Konfigurationselemente zu erhalten. Eine Konfigurationshistorie wird alle 6 Stunden geliefert und enthält alle CIs für einen bestimmten Ressourcentyp.

Konfigurationsstreams: Konfigurationselemente werden an ein SNS-Thema gesendet, um die Analyse der Daten zu ermöglichen.

Konfigurations-Snapshots: Konfigurationselemente werden verwendet, um eine Momentaufnahme aller unterstützten Ressourcen zu erstellen.

S3 wird verwendet, um die Konfigurationshistorie-Dateien und alle Konfigurations-Snapshots Ihrer Daten in einem einzigen Bucket zu speichern, der im Konfigurationsrekorder definiert ist. Wenn Sie mehrere AWS-Konten haben, möchten Sie möglicherweise Ihre Konfigurationshistorie-Dateien in demselben S3-Bucket für Ihr primäres Konto zusammenführen. Sie müssen jedoch Schreibzugriff für dieses Dienstprinzipal, config.amazonaws.com, und Ihre sekundären Konten mit Schreibzugriff auf den S3-Bucket in Ihrem primären Konto gewähren.

Funktionsweise

  • Wenn Änderungen vorgenommen werden, z.B. an der Sicherheitsgruppe oder der Bucket-Zugriffskontrollliste —> wird als Ereignis ausgelöst, das von AWS Config erfasst wird

  • Speichert alles im S3-Bucket

  • Je nach Einrichtung könnte eine Lambda-Funktion ausgelöst werden, sobald sich etwas ändert, ODER eine Lambda-Funktion planen, die regelmäßig die AWS Config-Einstellungen durchsucht

  • Lambda gibt Feedback an Config

  • Wenn eine Regel gebrochen wurde, startet Config ein SNS

Config-Regeln

Config-Regeln sind eine großartige Möglichkeit, um spezifische Compliance-Prüfungen und Kontrollen über Ihre Ressourcen durchzusetzen und Ihnen zu ermöglichen, eine ideale Bereitstellungsspezifikation für jeden Ihrer Ressourcentypen zu übernehmen. Jede Regel ist im Wesentlichen eine Lambda-Funktion, die bei Aufruf die Ressource bewertet und eine einfache Logik ausführt, um das Compliance-Ergebnis mit der Regel zu bestimmen. Jedes Mal, wenn eine Änderung an einer Ihrer unterstützten Ressourcen vorgenommen wird, überprüft AWS Config die Compliance gegen alle Config-Regeln, die Sie eingerichtet haben. AWS hat eine Reihe von vordefinierten Regeln, die unter das Sicherheitsdach fallen und einsatzbereit sind. Zum Beispiel Rds-storage-encrypted. Dies überprüft, ob die Speicher-Verschlüsselung durch Ihre RDS-Datenbankinstanzen aktiviert ist. Encrypted-volumes. Dies überprüft, ob alle EBS-Volumes, die einen angehängten Zustand haben, verschlüsselt sind.

  • AWS Managed Rules: Satz vordefinierter Regeln, die viele Best Practices abdecken, daher lohnt es sich immer, diese Regeln zuerst zu durchsuchen, bevor Sie Ihre eigenen einrichten, da die Regel möglicherweise bereits existiert.

  • Benutzerdefinierte Regeln: Sie können Ihre eigenen Regeln erstellen, um spezifische benutzerdefinierte Konfigurationen zu überprüfen.

Limit von 50 Config-Regeln pro Region, bevor Sie AWS für eine Erhöhung kontaktieren müssen. Nicht konforme Ergebnisse werden NICHT gelöscht.

Unterstütze HackTricks

Last updated