Contrôles Security Hub pour CodeBuild - AWS Security Hub

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contrôles Security Hub pour CodeBuild

Ces contrôles du Security Hub évaluent le AWS CodeBuild service et les ressources.

Il est possible que ces commandes ne soient pas toutes disponibles Régions AWS. Pour de plus amples informations, veuillez consulter Disponibilité des contrôles par région.

[CodeBuild.1] Le référentiel source de CodeBuild Bitbucket ne URLs doit pas contenir d'informations d'identification sensibles

Exigences connexes : PCI DSS v3.2.1/8.2.1 NIST.800-53.r5 SA-3, v4.0.1/8.3.2 PCI DSS

Catégorie : Protéger - Développement sécurisé

Gravité : Critique

Type de ressource : AWS::CodeBuild::Project

Règle AWS Config  : codebuild-project-source-repo-url-check

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si le référentiel source d'un AWS CodeBuild projet Bitbucket URL contient des jetons d'accès personnels ou un nom d'utilisateur et un mot de passe. Le contrôle échoue si le référentiel source de Bitbucket URL contient des jetons d'accès personnels ou un nom d'utilisateur et un mot de passe.

Note

Ce contrôle évalue à la fois la source principale et les sources secondaires d'un projet de CodeBuild construction. Pour plus d'informations sur les sources de projet, consultez l'exemple de sources d'entrée multiples et d'artefacts de sortie dans le guide de AWS CodeBuild l'utilisateur.

Les informations de connexion ne doivent pas être stockées ou transmises en texte clair ni apparaître dans le référentiel URL source. Au lieu d'utiliser des jetons d'accès personnels ou des identifiants de connexion, vous devez accéder à votre fournisseur de source et modifier votre référentiel source pour qu'URLil contienne uniquement le chemin d'accès à l'emplacement du référentiel Bitbucket. CodeBuild L'utilisation de jetons d'accès personnels ou d'identifiants de connexion peut entraîner une exposition involontaire aux données ou un accès non autorisé.

Correction

Vous pouvez mettre à jour votre CodeBuild projet pour l'utiliserOAuth.

Pour supprimer le jeton d'accès personnel/(GitHub) d'authentification de base de la source du CodeBuild projet
  1. Ouvrez la CodeBuild console à l'adresse https://console.aws.amazon.com/codebuild/.

  2. Sélectionnez votre projet de génération qui contient des jetons d'accès personnels ou un nom d'utilisateur et un mot de passe

  3. Dans Edit (Modifier), choisissez Source.

  4. Choisissez Déconnecter de GitHub /Bitbucket.

  5. Choisissez Connect using OAuth, puis Connect to GitHub/Bitbucket.

  6. Lorsque vous y êtes invité, choisissez authorize as appropriate (autoriser le cas échéant).

  7. Reconfigurez votre référentiel URL et les paramètres de configuration supplémentaires, le cas échéant.

  8. Choisissez Mettre à jour la source.

Pour plus d'informations, reportez-vous aux exemples d'CodeBuild utilisation basés sur des cas dans le Guide de l'AWS CodeBuild utilisateur.

[CodeBuild.2] les variables d'environnement CodeBuild du projet ne doivent pas contenir d'informations d'identification en texte clair

Exigences connexes : NIST.800-53.r5 IA-5 (7), PCI DSS v3.2.1/8.2.1 NIST.800-53.r5 SA-3, v4.0.1/8.3.2 PCI DSS

Catégorie : Protéger - Développement sécurisé

Gravité : Critique

Type de ressource : AWS::CodeBuild::Project

Règle AWS Config  : codebuild-project-envvar-awscred-check

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si le projet contient des variables d'environnement AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY.

Les informations d'identification AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY ne doivent jamais être stockées en texte clair, car cela pourrait conduire à une exposition involontaire des données et un accès non autorisé.

Correction

Pour supprimer des variables d'environnement d'un CodeBuild projet, voir Modifier les paramètres d'un projet de construction AWS CodeBuild dans le Guide de AWS CodeBuild l'utilisateur. Assurez-vous que rien n'est sélectionné pour les variables d'environnement.

Vous pouvez stocker des variables d'environnement contenant des valeurs sensibles dans le magasin de AWS Systems Manager paramètres ou AWS Secrets Manager les récupérer à partir de vos spécifications de construction. Pour obtenir des instructions, reportez-vous à la case intitulée Important dans la section Environnement du guide de AWS CodeBuild l'utilisateur.

[CodeBuild.3] Les journaux CodeBuild S3 doivent être chiffrés

Exigences connexes : NIST.800-53.r5 CA-9 (1), NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-1 3, NIST.800-53.r5 SC-2 8, 8 (1), NIST .800-53.r5 NIST.800-53.r5 SC-2 SI-7 (6), v4.0.1/10.3.2 PCI DSS

Catégorie : Protéger > Protection des données > Chiffrement de data-at-rest

Gravité : Faible

Type de ressource : AWS::CodeBuild::Project

Règle AWS Config  : codebuild-project-s3-logs-encrypted

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si les journaux Amazon S3 d'un AWS CodeBuild projet sont chiffrés. Le contrôle échoue si le chiffrement est désactivé pour les journaux S3 d'un CodeBuild projet.

Le chiffrement des données au repos est une bonne pratique recommandée pour ajouter une couche de gestion des accès à vos données. Le chiffrement des journaux au repos réduit le risque qu'un utilisateur non authentifié AWS accède aux données stockées sur le disque. Il ajoute un autre ensemble de contrôles d'accès pour limiter la capacité des utilisateurs non autorisés à accéder aux données.

Correction

Pour modifier les paramètres de chiffrement des journaux CodeBuild du projet S3, voir Modifier les paramètres d'un projet de génération AWS CodeBuild dans le Guide de AWS CodeBuild l'utilisateur.

[CodeBuild2.4] les environnements de CodeBuild projet doivent avoir une durée de AWS Config journalisation

Exigences connexes : NIST.800-53.r5 AC-2 (12), (4), NIST.800-53.r5 AC-2 (26), NIST.800-53.r5 AC-4 (9), NIST.800-53.r5 AC-6 (9), NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.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 SI-3 NIST.800-53.r5 SC-7 (8), .800-53.r5 SI-4, .800-53.r5 SI-4 (20), NIST .800-53.r5 SI-7 (8) NIST NIST

Catégorie : Identifier - Journalisation

Gravité : Moyenne

Type de ressource : AWS::CodeBuild::Project

Règle AWS Config  : codebuild-project-logging-enabled

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si un environnement de CodeBuild projet dispose d'au moins une option de journalisation, soit vers S3, soit avec CloudWatch les journaux activés. Ce contrôle échoue si au moins une option de journalisation n'est pas activée dans un environnement de CodeBuild projet.

Du point de vue de la sécurité, la journalisation est une fonctionnalité importante pour permettre les futurs efforts de criminalistique en cas d'incident de sécurité. La corrélation entre les anomalies des CodeBuild projets et les détections de menaces peut accroître la confiance dans la précision de ces détections de menaces.

Correction

Pour plus d'informations sur la configuration des paramètres CodeBuild du journal de projet, voir Créer un projet de génération (console) dans le guide de CodeBuild l'utilisateur.

[CodeBuild.5] le mode privilégié ne doit pas être activé dans les environnements de CodeBuild projet

Important

Security Hub a retiré ce contrôle en avril 2024. Pour de plus amples informations, veuillez consulter Journal des modifications pour les contrôles du Security Hub.

Exigences associées : 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.r5 AC-6 (2)

Catégorie : Protéger > Gestion des accès sécurisés

Gravité : Élevée

Type de ressource : AWS::CodeBuild::Project

Règle AWS Config  : codebuild-project-environment-privileged-check

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si le mode privilégié est activé ou désactivé dans un environnement de AWS CodeBuild projet. Le contrôle échoue si le mode privilégié est activé dans un environnement de CodeBuild projet.

Par défaut, les conteneurs Docker n'autorisent l'accès à aucun périphérique. Le mode privilégié accorde un accès au conteneur Docker d'un projet de génération à tous les périphériques. Le réglage privilegedMode avec une valeur true permet au démon Docker de s'exécuter dans un conteneur Docker. Le démon Docker écoute les API requêtes Docker et gère les objets Docker tels que les images, les conteneurs, les réseaux et les volumes. Ce paramètre ne doit être défini sur true que si le projet de génération est utilisé pour créer des images Docker. Dans le cas contraire, ce paramètre doit être désactivé pour empêcher tout accès involontaire à Docker APIs ainsi qu'au matériel sous-jacent du conteneur. Le réglage privilegedMode sur false permet de protéger les ressources critiques contre la falsification et la suppression.

Correction

Pour configurer les paramètres d'environnement CodeBuild du projet, voir Créer un projet de génération (console) dans le guide de CodeBuild l'utilisateur. Dans la section Environnement, ne sélectionnez pas le paramètre Privileged.

[CodeBuild.7] les exportations de groupes de CodeBuild rapports doivent être cryptées au repos

Catégorie : Protéger > Protection des données > Chiffrement de data-at-rest

Gravité : Moyenne

Type de ressource : AWS::CodeBuild::ReportGroup

Règle AWS Config  : codebuild-report-group-encrypted-at-rest

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si les résultats des tests d'un groupe de AWS CodeBuild rapports exportés vers un bucket Amazon Simple Storage Service (Amazon S3) sont chiffrés au repos. Le contrôle échoue si l'exportation du groupe de rapports n'est pas cryptée au repos.

Les données au repos font référence aux données stockées dans un stockage persistant et non volatil pendant une durée quelconque. Le chiffrement des données au repos vous permet de protéger leur confidentialité, ce qui réduit le risque qu'un utilisateur non autorisé puisse y accéder.

Correction

Pour chiffrer l'exportation du groupe de rapports vers S3, voir Mettre à jour un groupe de rapports dans le Guide de l'AWS CodeBuild utilisateur.