AWS - Config Enum
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 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 nicht ebenfalls 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 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. Zum Beispiel, wenn dies 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. Zum Beispiel, wenn das CI 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 du einen Describe- oder List-API-Aufruf mit der AWS CLI durchführen würdest. 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. Es wird für jede Änderung an einer Ressource 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.
Konfigurationsströme: 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 deiner Daten innerhalb eines einzelnen Buckets zu speichern, der im Konfigurationsrekorder definiert ist. Wenn du mehrere AWS-Konten hast, möchtest du möglicherweise deine Konfigurationshistorie-Dateien in denselben S3-Bucket für dein primäres Konto aggregieren. Du musst jedoch diesem Dienstprinzip, config.amazonaws.com, und deinen sekundären Konten Schreibzugriff auf den S3-Bucket in deinem primären Konto gewähren.
Wenn Änderungen vorgenommen werden, zum Beispiel 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 einrichten, 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 sind eine großartige Möglichkeit, um spezifische Compliance-Prüfungen und Kontrollen über deine Ressourcen durchzusetzen und ermöglichen es dir, eine ideale Bereitstellungsspezifikation für jeden deiner 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 deiner unterstützten Ressourcen vorgenommen wird, überprüft AWS Config die Compliance gegen alle Config-Regeln, die du implementiert hast. AWS hat eine Reihe von vordefinierten Regeln, die unter dem Sicherheitsaspekt fallen und bereit zur Verwendung sind. Zum Beispiel, Rds-storage-encrypted. Dies überprüft, ob die Speicherungverschlüsselung von deinen 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 du deine eigenen einrichtest, da die Chance besteht, dass die Regel bereits existiert.
Benutzerdefinierte Regeln: Du kannst deine eigenen Regeln erstellen, um spezifische benutzerdefinierte Konfigurationen zu überprüfen.
Limit von 50 Config-Regeln pro Region, bevor du AWS für eine Erhöhung kontaktieren musst. Nicht konforme Ergebnisse werden NICHT gelöscht.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)