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.
Zentralisierte Protokollierung und Sicherheitsleitplanken für mehrere Konten
Erstellt von Ankush Verma (AWS) und Tracy (Pierce) Hickey (AWS)
Umgebung: Produktion | Technologien: Sicherheit, Identität, Compliance; Management und Governance | AWS-Services: AWS CloudFormation; AWS Config ; Amazon CloudWatch; AWS CodePipeline; Amazon GuardDuty; AWS Lambda ; Amazon Macie ; AWS Security Hub; Amazon S3 |
Übersicht
Der in diesem Muster behandelte Ansatz eignet sich für Kunden, die über mehrere Amazon Web Services (AWS)-Konten bei AWS Organizations verfügen und jetzt auf Herausforderungen stoßen, wenn sie AWS Control Tower, eine Landing Zone oder Services für -Kontenverkaufsautomaten verwenden, um Basisleitplanken in ihren Konten einzurichten.
Dieses Muster zeigt die Verwendung einer optimierten Architektur mit mehreren Konten, um eine zentrale Protokollierung und standardisierte Sicherheitskontrollen auf gut strukturierte Weise einzurichten. Mithilfe von AWS- CloudFormation Vorlagen, AWS CodePipelineund Automatisierungsskripten wird diese Einrichtung in allen Konten bereitgestellt, die zu einer Organisation gehören.
Die Architektur mit mehreren Konten umfasst die folgenden Konten:
Zentralisiertes Protokollierungskonto – Das Konto, in dem alle Virtual Private Cloud (VPC)-Flow-Protokolle, AWS- CloudTrail Protokolle, das AWS Config-Protokoll und alle Protokolle von Amazon CloudWatch Logs (mit Abonnements) aus allen anderen Konten gespeichert werden.
Übergeordnetes Sicherheitskonto – Das Konto, das als übergeordnetes Konto für die folgenden Sicherheitsservices dient, die über mehrere Konten hinweg verwaltet werden.
Amazon GuardDuty
AWS Security Hub
Amazon Macie
Amazon Detective
Untergeordnete Konten – Die anderen Konten in der Organisation. Diese Konten speichern alle nützlichen Protokolle im zentralen Protokollierungskonto. Die untergeordneten Konten treten dem übergeordneten Sicherheitskonto als Mitglieder der Sicherheitsservices bei.
Nachdem Sie die CloudFormation Vorlage (angefügt) gestartet haben, stellt sie drei Amazon Simple Storage Service (Amazon S3)-Buckets im zentralen Protokollierungskonto bereit. Ein Bucket wird verwendet, um alle AWS-bezogenen Protokolle (z. B. Protokolle aus VPC-Flow-Protokollen CloudTrailund AWS Config ) aus allen Konten zu speichern. Der zweite Bucket dient zum Speichern der CloudFormation Vorlagen aus allen Konten. Der dritte Bucket dient zum Speichern von Amazon S3-Zugriffsprotokollen.
Eine separate CloudFormation Vorlage erstellt die Pipeline, die AWS verwendet CodeCommit. Nachdem der aktualisierte Code in das CodeCommit Repository übertragen wurde, kümmert er sich um das Starten von Ressourcen und das Einrichten von Sicherheitsservices in allen Konten. Weitere Informationen zur Dateistruktur der Dateien, die in das CodeCommit Repository hochgeladen werden, finden Sie in der Datei README.md (angefügt).
Voraussetzungen und Einschränkungen
Voraussetzungen
Eine AWS Organizations-Organisations-ID, wobei alle Konten derselben Organisation zugeordnet sind.
Eine aktive E-Mail-Adresse für den Empfang von Amazon Simple Notification Service (Amazon SNS)-Benachrichtigungen.
Bestätigte Kontingente für Amazon Simple Storage Service (Amazon S3)-Buckets in jedem Ihrer Konten. Standardmäßig hat jedes Konto 100 S3-Buckets. Wenn Sie zusätzliche Buckets benötigen, fordern Sie eine Kontingenterhöhung an, bevor Sie diese Lösung bereitstellen.
Einschränkungen
Alle Konten sollten Teil derselben Organisation sein. Wenn Sie AWS Organizations nicht verwenden, müssen Sie bestimmte Richtlinien ändern, z. B. die S3-Bucket-Richtlinie, um den Zugriff von den AWS Identity and Access Management (IAM)-Rollen für jedes Konto zu erlauben.
Hinweis: Während die Lösung bereitgestellt wird, müssen Sie das Amazon SNS-Abonnement bestätigen. Die Bestätigungsnachricht wird an die E-Mail-Adresse gesendet, die Sie während des Bereitstellungsprozesses angeben. Dadurch werden einige E-Mail-Warnmeldungen an diese E-Mail-Adresse ausgelöst, da diese Alarme jedes Mal ausgelöst werden, wenn IAM-Rollenrichtlinien im Konto erstellt oder geändert werden. Während des Bereitstellungsprozesses können Sie diese Warnmeldungen ignorieren.
Architektur
Zieltechnologie-Stack
Amazon- CloudWatch Alarme und -Protokolle
AWS- CodeCommit Repository
AWS CodePipeline
AWS Config
Amazon Detective
Amazon GuardDuty
IAM-Rollen und -Berechtigungen
Amazon Macie
S3-Buckets
AWS Security Hub
Amazon SNS
Zielarchitektur
Andere Konten, die als untergeordnete Konten des übergeordneten Sicherheitskontos für die Sicherheitsservices registriert sind
Sicherheitserkenntnisse von allen untergeordneten Konten, einschließlich des übergeordneten Kontos
Ressourcen
Die folgenden Ressourcen werden automatisch bereitgestellt, wenn der aktualisierte Code in jedes Konto und jede AWS-Region in das CodeCommit Repository übertragen wird.
CloudFormation Stack 1 – Protokollieren des übergeordneten Stacks
– Verschachtelter Stack 1 – Standard-IAM-Rollen und -Richtlinien
– Verschachtelter Stack 2 – AWS Config-Einrichtung im Konto
– Verschachtelter Stack 3 – CloudWatch Alarme
- SecurityGroupChangesAlarm
- UnauthorizedAttemptAlarm
- RootActivityAlarm
- NetworkAclChangesAlarm
– IAMUserManagementAlarm
– IAMPolicyChangesAlarm
- CloudTrailChangeAlarm
– IAMCreateAccessKeyAlarm
– Metrikfilter zum Erstellen von Metriken aus CloudTrail Protokollen und deren Verwendung für Alarme
– SNS-Thema
CloudFormation Stack 2 – übergeordneter Integritätsschutz-Stack
– Verschachtelter Stack 1 – AWS Lambda-Funktion zum Einrichten der Kontopasswortrichtlinie
– Verschachtelter Stack 2 – Grundlegende AWS Config-Regeln
– CIS-SecurityGroupsMustRestrictSshTraffic
- OpenSecurityGroupRuleCheck zusammen mit der Lambda-Funktion für die Auswertung von Sicherheitsgruppenregeln
– check-ec2-for-required-tag
- check-for-unrestricted-ports
CloudFormation Stack 3 – CloudWatch Protokollexport
– Exportieren von CloudWatch Protokollen von Protokollgruppen nach Amazon S3 mithilfe eines Amazon Kinesis-Abonnements
Tools
AWS CloudFormation – AWS CloudFormation verwendet -Vorlagen, um alle Ressourcen, die für Ihre Anwendungen in allen AWS-Regionen und -Konten benötigt werden, automatisiert und sicher zu modellieren und bereitzustellen.
Amazon CloudWatch – Amazon CloudWatch überwacht Ihre AWS-Ressourcen und die Anwendungen, die Sie auf AWS ausführen, in Echtzeit. Sie können verwenden, CloudWatch um Metriken zu erfassen und zu verfolgen. Dabei handelt es sich um Variablen, die Sie für Ihre Ressourcen und Anwendungen messen können.
AWS CodeCommit – AWS CodeCommit ist ein von AWS gehosteter Service zur Versionskontrolle. Sie können verwenden CodeCommit , um Komponenten (wie Dokumente, Quellcode und Binärdateien) privat in der Cloud zu speichern und zu verwalten.
AWS CodePipeline – AWS CodePipeline ist ein kontinuierlicher Bereitstellungsservice, mit dem Sie die Schritte zur Veröffentlichung Ihrer Software modellieren, visualisieren und automatisieren können.
AWS Config – AWS Config bietet eine detaillierte Ansicht der Konfiguration der AWS-Ressourcen in Ihrem AWS-Konto. Dazu gehört auch, wie die Ressourcen jeweils zueinander in Beziehung stehen und wie sie in der Vergangenheit konfiguriert wurden, damit Sie sehen können, wie sich die Konfigurationen und Beziehungen im Laufe der Zeit verändern.
Amazon Detective – Amazon Detective wird verwendet, um die Ursache von Sicherheitserkenntnissen oder verdächtigen Aktivitäten zu analysieren, zu untersuchen und schnell zu identifizieren. Detective sammelt automatisch Protokolldaten von Ihren AWS-Ressourcen. Anschließend werden Machine Learning, statistische Analysen und Diagrammtheorie verwendet, um Ihnen zu helfen, schnellere und effizientere Sicherheitsuntersuchungen zu visualisieren und durchzuführen.
Amazon GuardDuty – Amazon GuardDuty ist ein Service zur kontinuierlichen Sicherheitsüberwachung, der Flow-Protokolle, CloudTrail Verwaltungsereignisprotokolle, CloudTrail Datenereignisprotokolle und DNS-Protokolle (Domain Name System) analysiert und verarbeitet. Er verwendet Bedrohungsdaten, z. B. Listen bösartiger IP-Adressen und Domänen, ebenso wie maschinelles Lernen, um unerwartete und potenziell nicht autorisierte bösartige Aktivitäten in Ihrer AWS-Umgebung zu identifizieren.
AWS Identity and Access Management – AWS Identity and Access Management (IAM) ist ein Webservice, mit dem Sie den Zugriff auf AWS-Ressourcen sicher steuern können. Sie verwenden IAM, um zu steuern, wer authentifiziert (angemeldet) und autorisiert (Berechtigungen besitzt) ist, Ressourcen zu nutzen.
Amazon Macie – Amazon Macie automatisiert die Erkennung sensibler Daten wie persönlich identifizierbarer Informationen (PII) und Finanzdaten, um Ihnen ein besseres Verständnis der Daten zu bieten, die Ihre Organisation in Amazon S3 speichert.
Amazon S3 – Amazon Simple Storage Service (Amazon S3) ist ein hoch skalierbarer Objektspeicherservice, der für eine Vielzahl von Speicherlösungen verwendet werden kann, darunter Websites, mobile Anwendungen, Backups und Data Lakes.
AWS Security Hub – AWS Security Hub bietet Ihnen einen umfassenden Überblick über Ihren Sicherheitsstatus in AWS und hilft Ihnen dabei, Ihre Umgebung anhand von Sicherheitsstandards und bewährten Methoden zu überprüfen.
Amazon SNS – Amazon Simple Notification Service (Amazon SNS ) ist ein verwalteter Service, der die Nachrichtenzustellung von Publishern an Abonnenten (auch bekannt als Produzenten und Verbraucher) bereitstellt.
Polen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Starten Sie die CloudFormation Vorlage Childaccount_IAM_role_All_Accounts.yaml, um die IAM-Rolle in der Region us-east-1 zu erstellen. | Um die erforderlichen IAM-Rollen und -Berechtigungen zu erstellen, müssen Sie diese Vorlage manuell in jedem Konto starten, nacheinander (zentralisiertes Protokollierungskonto, übergeordnetes Sicherheitskonto und alle anderen AWS-Konten in der Organisation) in der Region us-east-1. Die | Cloud-Architekt |
Geben Sie in den Vorlagenparametern den Namen der IAM-Rolle an. | Geben Sie die IAM-Rolle an CodeBuild, die im übergeordneten Sicherheitskonto in allen anderen untergeordneten Konten übernehmen kann. Der Standardrollenname ist | Cloud-Architekt |
Geben Sie in den Parametern die Konto-ID für das übergeordnete Sicherheitskonto an. | Das übergeordnete Sicherheitskonto ist das Konto, in dem CodeBuild ausgeführt wird. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Starten Sie im zentralen Protokollierungskonto in us-east-1 die CloudFormation Vorlage S3Buckets-Centralized -LoggingAccount.yaml. | Um die S3-Buckets im zentralen Protokollierungskonto zu erstellen, starten Sie die | Cloud-Architekt |
Geben Sie in den Vorlagenparametern den Namen des S3-Buckets für den AWS-Protokollspeicher an. | Geben Sie einen Namen für den | Cloud-Architekt |
Geben Sie den Namen des S3-Buckets zum Speichern von Zugriffsprotokollen an. | Geben Sie einen S3-Bucket-Namen für den | Cloud-Architekt |
Geben Sie den Namen des S3-Buckets zum Speichern von Vorlagen an. | Geben Sie einen S3-Bucket-Namen in den | Cloud-Architekt |
Geben Sie die Organisations-ID an. | Um Zugriff auf S3-Buckets innerhalb der Organisation zu gewähren, geben Sie die ID für die Organisation im | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Starten Sie die CloudFormation Vorlage security-guard-rails-codepipeline-Centralized-SecurityAccount.yml. | Um die CI/CD-Pipeline bereitzustellen, starten Sie die | Cloud-Architekt |
Geben Sie einen Namen für den S3-Bucket an, der Vorlagen im zentralen Protokollierungskonto speichert. | Geben Sie den Namen des S3-Buckets ein, den Sie für den | Cloud-Architekt |
Geben Sie den Namen der IAM-Rolle an, die in den untergeordneten Konten verwendet werden soll. | Geben Sie den Namen ein, den Sie für den | Cloud-Architekt |
Geben Sie eine aktive E-Mail-Adresse für den Empfang von CodePipeline Fehlerbenachrichtigungen an. | Geben Sie die E-Mail-Adresse ein, die Sie für den Empfang von CodePipeline Fehlerbenachrichtigungen und anderen CloudWatch Alarmbenachrichtigungen verwenden möchten. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ändern Sie Accountlist.json. | Fügen Sie der | Cloud-Architekt |
Ändern von accounts.csv | Fügen Sie in der - | Cloud-Architekt |
Ändern Sie parameters.config. | Aktualisieren Sie in der
Für die anderen Parameter können Sie die Standardwerte beibehalten. Ein Beispiel finden Sie in der - | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Greifen Sie auf das CodeCommit Repo zu, das Sie in Schritt 3 erstellt haben. | Notieren Sie sich im Abschnitt Outputs des CI/CD Infrastructure CloudFormation Stacks (Start in Schritt 3) den Namen der CodeCommit Repository-URL. Erstellen Sie Zugriff auf das Repository, damit die Dateien dorthin übertragen werden können, damit die Infrastruktur in allen Zielkonten bereitgestellt werden kann. Weitere Informationen finden Sie unter Einrichten von für AWS CodeCommit. | Cloud-Architekt |
Übertragen Sie die Dateien in das CodeCommit Repository. | Installieren Sie Git auf Ihrem Computer. Führen Sie dann die Git-Befehle aus, um das leere Repository zu klonen, die Dateien von Ihrem Laptop in den Repository-Ordner zu kopieren und die Artefakte in das Repository zu verschieben. Suchen Sie nach den Git-Beispielbefehlen in der - | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bestätigen Sie den Status von CodePipeline und CodeBuild. | Nachdem Sie die Artefakte in das CodeCommit Repo übertragen haben, bestätigen Sie, dass die CodePipeline Pipeline, die Sie in Schritt 3 erstellt haben, initiiert wurde. Überprüfen Sie dann die CodeBuild Protokolle, um den Status oder die Fehler zu bestätigen. | Cloud-Architekt |
Zugehörige Ressourcen
Anlagen
Um auf zusätzliche Inhalte zuzugreifen, die diesem Dokument zugeordnet sind, entpacken Sie die folgende Datei: attachment.zip