AWS CodeBuild steuert - AWS Security Hub

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.

AWS CodeBuild steuert

Diese Kontrollen beziehen sich auf CodeBuild Ressourcen.

Diese Steuerelemente sind möglicherweise nicht in allen verfügbar AWS-Regionen. Weitere Informationen finden Sie unter Verfügbarkeit von Kontrollen nach Regionen.

[CodeBuild.1] Die URLs des CodeBuild Bitbucket-Quell-Repositorys sollten keine vertraulichen Anmeldeinformationen enthalten

Verwandte Anforderungen: PCI DSS v3.2.1/8.2.1, NIST.800-53.R5 SA-3

Kategorie: Schutz > Sichere Entwicklung

Schweregrad: Kritisch

Art der Ressource: AWS::CodeBuild::Project

AWS Config -Regel: codebuild-project-source-repo-url-check

Art des Zeitplans: Änderung wurde ausgelöst

Parameter: Keine

Dieses Steuerelement prüft, ob die URL AWS CodeBuild des Bitbucket-Quell-Repositorys eines Projekts persönliche Zugriffstoken oder einen Benutzernamen und ein Passwort enthält. Die Kontrolle schlägt fehl, wenn die URL des Bitbucket-Quell-Repositorys persönliche Zugriffstoken oder einen Benutzernamen und ein Passwort enthält.

Anmerkung

Dieses Steuerelement bewertet sowohl die Primärquelle als auch die Sekundärquellen eines CodeBuild Build-Projekts. Weitere Informationen zu Projektquellen finden Sie im AWS CodeBuild Benutzerhandbuch unter Beispiel für mehrere Eingabequellen und Ausgabeartefakte.

Anmeldeinformationen sollten nicht im Klartext gespeichert oder übertragen werden oder in der Quell-Repository-URL erscheinen. Statt persönlicher Zugriffstoken oder Anmeldedaten solltest du auf deinen Quellanbieter zugreifen und deine Quell-Repository-URL so ändern CodeBuild, dass sie nur den Pfad zum Bitbucket-Repository-Speicherort enthält. Die Verwendung persönlicher Zugriffstoken oder Anmeldedaten könnte zu unbeabsichtigter Offenlegung von Daten oder unberechtigtem Zugriff führen.

Abhilfe

Sie können Ihr CodeBuild Projekt so aktualisieren, dass es OAuth verwendet.

Um das persönliche Zugriffstoken für die Standardauthentifizierung/(GitHub) aus CodeBuild der Projektquelle zu entfernen
  1. Öffnen Sie die CodeBuild Konsole unter https://console.aws.amazon.com/codebuild/.

  2. Wählen Sie das Build-Projekt aus, das persönliche Zugriffstoken oder einen Benutzernamen und ein Passwort enthält.

  3. Wählen Sie unter Edit (Bearbeiten) die Option Source (Quelle) aus.

  4. Wähle Disconnect from GitHub //Bitbucket aus.

  5. Wähle Connect using OAuth und dann Connect to GitHub//Bitbucket.

  6. Wenn Sie dazu aufgefordert werden, wählen Sie Autorisieren entsprechend aus.

  7. Konfigurieren Sie Ihre Repository-URL und zusätzliche Konfigurationseinstellungen nach Bedarf neu.

  8. Wählen Sie Update source (Quelle aktualisieren) aus.

Weitere Informationen findest du in den CodeBuild Anwendungsbeispielen im Benutzerhandbuch.AWS CodeBuild

[CodeBuild.2] CodeBuild Projektumgebungsvariablen sollten keine Klartext-Anmeldeinformationen enthalten

Verwandte Anforderungen: PCI DSS v3.2.1/8.2.1, NIST.800-53.R5 IA-5 (7), NIST.800-53.R5 SA-3

Kategorie: Schutz > Sichere Entwicklung

Schweregrad: Kritisch

Art der Ressource: AWS::CodeBuild::Project

AWS Config -Regel: codebuild-project-envvar-awscred-check

Art des Zeitplans: Änderung wurde ausgelöst

Parameter: Keine

Dieses Steuerelement prüft, ob das Projekt die Umgebungsvariablen AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY enthält.

Die Anmeldeinformationen für die Authentifizierung AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY sollten niemals in Klartext gespeichert werden, da dies zu einer unbeabsichtigten Datenoffenlegung und unbefugtem Zugriff führen kann.

Abhilfe

Informationen zum Entfernen von Umgebungsvariablen aus einem CodeBuild Projekt finden Sie AWS CodeBuild im AWS CodeBuild Benutzerhandbuch unter Ändern der Einstellungen eines Build-Projekts. Stellen Sie sicher, dass nichts für Umgebungsvariablen ausgewählt ist.

Sie können Umgebungsvariablen mit sensiblen Werten im AWS Systems Manager Parameterspeicher speichern oder AWS Secrets Manager sie dann aus Ihrer Build-Spezifikation abrufen. Anweisungen finden Sie im AWS CodeBuild Benutzerhandbuch im Feld „Wichtig“ im Abschnitt „Umgebung“.

[CodeBuild.3] CodeBuild S3-Protokolle sollten verschlüsselt sein

Verwandte Anforderungen: NIST.800-53.R5 CA-9 (1), NIST.800-53.R5 CM-3 (6), NIST.800-53.R5 SC-13, NIST.800-53.R5 SC-28, NIST.800-53.R5 SC-28 (1), NIST.800-53.r5 SI-7 (6)

Kategorie: Schützen > Datenschutz > Verschlüsselung von data-at-rest

Schweregrad: Niedrig

Art der Ressource: AWS::CodeBuild::Project

AWS Config -Regel: codebuild-project-s3-logs-encrypted

Art des Zeitplans: Änderung wurde ausgelöst

Parameter: Keine

Diese Kontrolle prüft, ob Amazon S3 S3-Protokolle für ein AWS CodeBuild Projekt verschlüsselt sind. Die Kontrolle schlägt fehl, wenn die Verschlüsselung für S3-Protokolle für ein CodeBuild Projekt deaktiviert ist.

Die Verschlüsselung von Daten im Ruhezustand ist eine empfohlene bewährte Methode, um Ihre Daten um eine Ebene der Zugriffsverwaltung zu erweitern. Durch die Verschlüsselung der Protokolle im Ruhezustand AWS wird das Risiko verringert, dass ein Benutzer, der sich nicht authentifiziert hat, auf die auf der Festplatte gespeicherten Daten zugreift. Es fügt weitere Zugriffskontrollen hinzu, um den Zugriff nicht autorisierter Benutzer auf die Daten einzuschränken.

Abhilfe

Informationen zum Ändern der Verschlüsselungseinstellungen für CodeBuild Projekt-S3-Protokolle finden Sie AWS CodeBuild im AWS CodeBuild Benutzerhandbuch unter Ändern der Einstellungen eines Build-Projekts.

[CodeBuild1.4] CodeBuild Projektumgebungen sollten eine AWS Config Protokollierungsdauer haben

Verwandte Anforderungen: NIST.800-53.R5 AC-2 (12), NIST.800-53.R5 AC-2 (4), NIST.800-53.R5 AC-4 (26), NIST.800-53.R5 AC-6 (9), NIST.800-53.R5 AU-10, NIst.800-53.R5 AU-10, NIst.800-53.R5 AU-2, NIST.800-53.R5 AU-2 800-53.R5 AU-3, NIST.800-53.R5 AU-6 (3), NIST.800-53.R5 AU-6 (4), NIST.800-53.R5 AU-9 (7), NIST.800-53.R5 CA-7, NIst.800-53.R5 SC-7 (9), NIst.800-53.R5 SI-3 (8), NIst.800-53.R5 SI-4, NIST.800-53,R5 SI-4 (20), NIST.800-53,R5 SI-7 (8)

Kategorie: Identifizieren > Protokollierung

Schweregrad: Mittel

Art der Ressource: AWS::CodeBuild::Project

AWS Config -Regel: codebuild-project-logging-enabled

Art des Zeitplans: Änderung wurde ausgelöst

Parameter: Keine

Dieses Steuerelement prüft, ob eine CodeBuild Projektumgebung über mindestens eine Protokolloption verfügt, entweder für S3 oder ob CloudWatch Protokolle aktiviert sind. Dieses Steuerelement schlägt fehl, wenn in einer CodeBuild Projektumgebung nicht mindestens eine Protokolloption aktiviert ist.

Aus Sicherheitsgründen ist die Protokollierung eine wichtige Funktion, um future forensische Maßnahmen im Falle von Sicherheitsvorfällen zu ermöglichen. Die Korrelation von Anomalien in CodeBuild Projekten mit Bedrohungserkennungen kann das Vertrauen in die Genauigkeit dieser Bedrohungserkennungen erhöhen.

Abhilfe

Weitere Informationen zur Konfiguration der CodeBuild Projektprotokolleinstellungen finden Sie im Benutzerhandbuch unter Erstellen eines Build-Projekts (Konsole). CodeBuild

[CodeBuild.5] In CodeBuild Projektumgebungen sollte der privilegierte Modus nicht aktiviert sein

Wichtig

Security Hub hat diese Kontrolle im April 2024 eingestellt. Weitere Informationen finden Sie unter Änderungsprotokoll für Security Hub-Steuerelemente.

Verwandte Anforderungen: NIST.800-53.R5 AC-2 (1), NIST.800-53.R5 AC-3, NIST.800-53.R5 AC-3 (15), NIST.800-53.R5 AC-3 (7), NIst.800-53.R5 AC-5, NIST.800-53.R5 AC-6, NIst.800-53.R5 AC-6 (10), NIst.800-53,5r5 AC-6 (2)

Kategorie: Schützen > Sicheres Zugriffsmanagement

Schweregrad: Hoch

Art der Ressource: AWS::CodeBuild::Project

AWS Config -Regel: codebuild-project-environment-privileged-check

Art des Zeitplans: Änderung wurde ausgelöst

Parameter: Keine

Dieses Steuerelement prüft, ob in einer AWS CodeBuild Projektumgebung der privilegierte Modus aktiviert oder deaktiviert ist. Die Steuerung schlägt fehl, wenn in einer CodeBuild Projektumgebung der privilegierte Modus aktiviert ist.

Standardmäßig erlauben Docker-Container keinen Zugriff auf Geräte. Der privilegierte Modus gewährt dem Docker-Container eines Build-Projekts Zugriff auf alle Geräte. Die Einstellung privilegedMode mit einem Wert true ermöglicht es dem Docker-Daemon, in einem Docker-Container ausgeführt zu werden. Der Docker-Daemon wartet auf Docker-API-Anfragen und verwaltet Docker-Objekte wie Images, Container, Netzwerke und Volumes. Dieser Parameter sollte nur auf true gesetzt werden, wenn das Build-Projekt zum Erstellen von Docker-Images verwendet wird. Andernfalls sollte diese Einstellung deaktiviert werden, um einen unbeabsichtigten Zugriff auf Docker-APIs sowie auf die dem Container zugrunde liegende Hardware zu verhindern. Die Einstellung privilegedMode auf false trägt dazu bei, kritische Ressourcen vor Manipulation und Löschung zu schützen.

Abhilfe

Informationen zum Konfigurieren der Einstellungen für die CodeBuild Projektumgebung finden Sie im CodeBuild Benutzerhandbuch unter Erstellen eines Build-Projekts (Konsole). Wählen Sie im Abschnitt Umgebung nicht die Einstellung Privilegiert aus.