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 les AWS CodeBuild service et ressources.

Il se peut que ces commandes ne soient pas disponibles dans tous les cas Régions AWS. Pour plus d'informations, consultezDisponibilité 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

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

Gravité : Critique

Type de ressource : AWS::CodeBuild::Project

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

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si un AWS CodeBuild Le référentiel source du 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, voir l'exemple de sources d'entrée multiples et d'artefacts de sortie dans le AWS CodeBuild Guide de 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 à la section CodeBuild Utiliser des exemples basés sur des cas dans le AWS CodeBuild Guide de l'utilisateur.

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

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

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

Gravité : Critique

Type de ressource : AWS::CodeBuild::Project

AWS Config règle : 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 dans AWS CodeBuild dans le .AWS CodeBuild Guide de 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 AWS Systems Manager Parameter Store ou AWS Secrets Manager puis récupérez-les à partir de vos spécifications de construction. Pour obtenir des instructions, reportez-vous à la case intitulée Important dans la section Environnement du AWS CodeBuild Guide de 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, NIST.800-53.r5 SC-2 8 (1), NIST .800-53.r5 SI-7 (6)

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

Gravité : Faible

Type de ressource : AWS::CodeBuild::Project

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

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si Amazon S3 enregistre un AWS CodeBuild les projets 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 ne soit pas authentifié par AWS accèdera 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 dans AWS CodeBuild dans le .AWS CodeBuild Guide de l'utilisateur.

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

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

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

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si un environnement de CodeBuild projet possède au moins une option de journalisation, soit vers S3, soit avec CloudWatch les journaux activés. Ce contrôle échoue si aucune option de journalisation n'est 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 : Protection > Gestion des accès sécurisés

Gravité : Élevée

Type de ressource : AWS::CodeBuild::Project

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

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si un AWS CodeBuild le mode privilégié de l'environnement du projet est activé ou désactivé. 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

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

Type de calendrier : changement déclenché

Paramètres : Aucun

Ce contrôle vérifie si les résultats du test d'un AWS CodeBuild les groupes de rapports exportés vers un compartiment 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 AWS CodeBuild Guide de l'utilisateur.