AWS - Config Enum

Support HackTricks

AWS Config

AWS Config erfasst Änderungen an Ressourcen, 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 bekannt als Konfigurationselement, einem CI, gespeichert sind. Dieser Dienst ist regionsspezifisch.

Ein Konfigurationselement oder CI, wie es bekannt ist, ist ein Schlüsselkomponente von AWS Config. Es besteht aus einer JSON-Datei, die die Konfigurationsinformationen, Beziehungsinformationen und andere Metadaten als Momentaufnahme eines unterstützten Ressourcenstatus enthält. Alle Informationen, die AWS Config für eine Ressource aufzeichnen kann, sind im CI enthalten. Ein CI wird jedes Mal erstellt, wenn eine unterstützte Ressource in irgendeiner Weise eine Änderung an ihrer Konfiguration erfährt. Neben der 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 ebenfalls nicht betroffen hat.

  • Metadaten: Enthält Details über das Konfigurationselement selbst. Eine Versions-ID und eine Konfigurations-ID, die das CI eindeutig identifiziert. Weitere Informationen können einen MD5Hash umfassen, der es Ihnen ermöglicht, andere bereits aufgezeichnete CIs gegen dieselbe 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 mit der Ressource verbunden sind. Der Ressourcentyp wird ebenfalls aufgeführt. Wenn dies beispielsweise ein CI für eine EC2-Instanz war, könnten die aufgeführten Ressourcentypen das Netzwerkinterface oder die elastische IP-Adresse für diese EC2-Instanz sein.

  • Beziehungen: Dies enthält Informationen zu jeder verbundenen Beziehung, die die Ressource haben kann. In diesem Abschnitt würde 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 die gleichen Informationen an, die generiert würden, wenn Sie einen Describe- oder List-API-Aufruf mit der AWS CLI durchführen würden. AWS Config verwendet die gleichen API-Aufrufe, um die gleichen Informationen zu erhalten.

  • Verwandte Ereignisse: Dies bezieht sich auf AWS CloudTrail. Dies zeigt die AWS CloudTrail-Ereignis-ID an, die mit der Änderung verbunden ist, die die Erstellung dieses CI ausgelöst hat. Für jede Änderung, die an einer Ressource vorgenommen wird, 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.

Konfigurationsschnappschüsse: Konfigurationselemente werden verwendet, um eine Momentaufnahme aller unterstützten Ressourcen zu erstellen.

S3 wird verwendet, um die Konfigurationshistorie-Dateien und alle Konfigurationsschnappschüsse Ihrer Daten innerhalb eines einzelnen Buckets zu speichern, der im Konfigurationsrekorder definiert ist. Wenn Sie mehrere AWS-Konten haben, möchten Sie möglicherweise Ihre Konfigurationshistorie-Dateien in denselben S3-Bucket für Ihr primäres Konto aggregieren. Sie müssen jedoch diesem Dienstprinzip, config.amazonaws.com, und Ihren sekundären Konten Schreibzugriff auf den S3-Bucket in Ihrem primären Konto gewähren.

Funktionsweise

  • Wenn Änderungen vorgenommen werden, z. B. an der Sicherheitsgruppe oder der Zugriffssteuerungsliste für Buckets —> wird als ein Ereignis ausgelöst, das von AWS Config erfasst wird

  • Speichert alles in einem S3-Bucket

  • Je nach Einrichtung könnte es, sobald sich etwas ändert, eine Lambda-Funktion auslösen ODER eine geplante Lambda-Funktion, die regelmäßig die AWS Config-Einstellungen überprüft

  • Lambda gibt Feedback an Config

  • Wenn eine Regel verletzt wurde, wird Config ein SNS auslösen

Config-Regeln

Config-Regeln sind eine großartige Möglichkeit, um spezifische Compliance-Prüfungen und Kontrollen über Ihre Ressourcen durchzusetzen und ermöglichen es Ihnen, eine ideale Bereitstellungsspezifikation für jeden Ihrer Ressourcentypen zu übernehmen. Jede Regel ist im Wesentlichen eine Lambda-Funktion, die, wenn sie aufgerufen wird, die Ressource bewertet und eine einfache Logik anwendet, 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 implementiert haben. AWS hat eine Reihe von vordefinierten Regeln, die unter dem Sicherheitsbereich fallen und bereit zur Verwendung sind. Zum Beispiel, Rds-storage-encrypted. Dies überprüft, ob die Speicherverschlüsselung von Ihren RDS-Datenbankinstanzen aktiviert ist. Encrypted-volumes. Dies überprüft, ob EBS-Volumes, die einen angehängten Zustand haben, verschlüsselt sind.

  • AWS-verwaltete Regeln: Eine Reihe von vordefinierten Regeln, die viele Best Practices abdecken, daher ist es immer sinnvoll, 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.

Support HackTricks

Last updated