Konfigurationshistorie von AWS Ressourcen richtig nachvollziehen

Um Änderungen an der Konfiguration von Ressourcen sinnvoll und vollständig nachvollziehen zu können, bietet die AWS-Cloud geeignete Werkzeuge an. Mit dem Dienst AWS Config werden Modifikationen der Einstellungen sichtbar. Hier kann die komplette Konfigurationshistorie abgefragt werden. Mittels der AWS CloudFormation StackSets ist dies für verschiedene Nutzerkonten und Regionen möglich. Dabei dienen die gesammelten Informationen, Dienste zu überwachen und zu optimieren. Dies hilft Administratoren, Probleme zu beheben und geltende IT-Richtlinien einzuhalten.

Grafik: AWS

Um Ihre Ressourcen lückenlos zu verfolgen, wählen Sie beim Aufsetzen von AWS Config die Option “All resources” aus. Dadurch werden alle nach der Einrichtung des Tools neu hinzukommenden Ressourcen eines Typs automatisch in die Beobachtung aufgenommen. AWS Config unterstützt mehr als 60 verschiedene Ressourcentypen. Sie können entweder den Konfigurationsstatus periodisch abfragen oder jede Änderung der Einstellungen automatisch dokumentieren lassen. Für Dienste, die AWS Config noch nicht unterstützt, richten Sie über eine Custom Rule eine periodische Abfrage ein.

Um die Konfigurationshistorie zu sichern, legen Sie fest, dass ein Amazon S3 Bucket die Informationen und Snapshot-Daten erhält. Ein Snapshot sollte täglich vorgenommen werden. Um ein unbefugtes Verändern dieser Sicherung zu verhindern, aktivieren Sie unter “AWS Config Rules” die Regeln “s3-bucket-public-write-prohibited” und “s3-bucket-public-read-prohibited”.

AWS Config leitet nach der Einrichtung alle Veränderungen an ein Ereginisziel unter Amazon Simple Notification Service (SNS) und zusätzlich an den Dienst Amazon CloudWatch Events weiter. Mittels nativer Filterfunktionen in CloudWatch Events können Sie einstellen, dass Benachrichtigungen an andere Ziele, etwa eine E-Mail-Adresse, externe IT-Service-Management-Lösungen oder Tools für die Verwaltung von Konfigurationsdatenbanken gesendet werden.

In der AWS Config Konsole suchen Sie mit der “AWS CloudTrail Lookup”- API nach Änderungen. Ein Beispiel einer Abfrage-Syntax im JSON-Format finden Sie hier:

{

  “EndTime“: number,

  “EventCategory“: “string“,

  “LookupAttributes“: [

   {

     “AttributeKey“: “string“,

     “AttributeValue“: “string

   }

  ],

  “MaxResults“: number,

  “NextToken“: “string“,

  “StartTime“: number

}

Mit den Suchparametern “EndTime” und “StartTime” grenzen Sie ein, aus welchem Zeitraum Daten abgefragt werden sollen. “LookupAttributes” ermöglicht das Filtern der Ergebnisse nach Kriterien wie Name und Typ der Ressource oder Anwendername. Über “MaxResults” geben Sie an, wie viele Ereignisse maximal angezeigt werden sollen. “NextToken” ist ein Token, um zur nächsten Seite der Ergebnisse zu gelangen. Wird dieses nicht angezeigt, liegen keine weiteren Ergebnisse vor. Wenn im ursprünglichen Call der “Attribute Key” „Username“ den Wert „Root“ hatte, muss NextToken auch denselben Wert haben.

Die entsprechende Response Syntax lautet:

{

  “Events“: [

   {

     “AccessKeyId“: “string“,

     “CloudTrailEvent“: “string“,

     “EventId“: “string“,

     “EventName“: “string“,

     “EventSource“: “string“,

     “EventTime“: number,

     “ReadOnly“: “string“,

     “Resources“: [

      {

        “ResourceName“: “string“,

        “ResourceType“: “string

      }

     ],

     “Username“: “string

   }

  ],

  “NextToken“: “string

}

Die Ergebnisse werden als HTTP-Antwort zurückgesendet.