AWS CodeBuild controlli - AWS Security Hub

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS CodeBuild controlli

Questi controlli sono correlati alle CodeBuild risorse.

Questi controlli potrebbero non essere disponibili in tutti Regioni AWS. Per ulteriori informazioni, consulta Disponibilità dei controlli per regione.

[CodeBuild.1] L'archivio sorgente di CodeBuild Bitbucket non URLs deve contenere credenziali sensibili

Requisiti correlati: v3.2.1/8.2.1, .800-53.r5 SA-3 PCI DSS NIST

Categoria: Protezione > Sviluppo protetto

Severità: critica

Tipo di risorsa: AWS::CodeBuild::Project

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

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se l'archivio sorgente di Bitbucket di un AWS CodeBuild progetto URL contiene token di accesso personali o un nome utente e una password. Il controllo fallisce se l'archivio dei sorgenti di Bitbucket URL contiene token di accesso personali o un nome utente e una password.

Nota

Questo controllo valuta sia la fonte primaria che le fonti secondarie di un progetto di compilazione. CodeBuild Per ulteriori informazioni sulle fonti del progetto, consulta l'esempio di fonti di input e artefatti di output multipli nella Guida per l'AWS CodeBuild utente.

Le credenziali di accesso non devono essere archiviate o trasmesse in testo non crittografato o apparire nell'archivio di origine. URL Invece dei token di accesso personali o delle credenziali di accesso, dovresti accedere al tuo provider di origine e modificare l'archivio di origine in CodeBuild modo che contenga solo il percorso della posizione del repository URL Bitbucket. L'utilizzo di token di accesso personali o credenziali di accesso potrebbe comportare l'esposizione involontaria dei dati o l'accesso non autorizzato.

Correzione

Puoi aggiornare il tuo CodeBuild progetto per utilizzarloOAuth.

Per rimuovere l'autenticazione di base/(GitHub) Personal Access Token dal sorgente CodeBuild del progetto
  1. Apri la CodeBuild console all'indirizzo https://console.aws.amazon.com/codebuild/.

  2. Scegliere il progetto di compilazione contenente i token di accesso personali o un nome utente e una password.

  3. Da Edit (Modifica), scegliere Source (Sorgente).

  4. Scegli Disconnetti da GitHub /Bitbucket.

  5. Scegli Connetti tramite OAuth, quindi scegli Connetti a GitHub /Bitbucket.

  6. Quando richiesto, scegliere authorize as appropriate (autorizza come appropriato).

  7. Riconfigura il repository URL e le impostazioni di configurazione aggiuntive, se necessario.

  8. Scegliere Update source (Aggiorna origine).

Per ulteriori informazioni, consulta gli esempi basati sui casi CodeBuild d'uso nella Guida per l'utente.AWS CodeBuild

[CodeBuild.2] Le variabili di ambiente CodeBuild del progetto non devono contenere credenziali in chiaro

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

Categoria: Protezione > Sviluppo protetto

Severità: critica

Tipo di risorsa: AWS::CodeBuild::Project

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

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se il progetto contiene le variabili di ambiente AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.

Le credenziali di autenticazione AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY non devono mai essere memorizzate in testo non crittografato, in quanto ciò potrebbe comportare l'esposizione non intenzionale dei dati e l'accesso non autorizzato.

Correzione

Per rimuovere le variabili di ambiente da un CodeBuild progetto, consulta Modificare le impostazioni di un progetto di build AWS CodeBuild nella Guida per l'AWS CodeBuild utente. Assicurati che non sia selezionato nulla per le variabili di ambiente.

Puoi memorizzare le variabili di ambiente con valori sensibili nel AWS Systems Manager Parameter Store o AWS Secrets Manager recuperarle dalle specifiche di build. Per istruzioni, consulta la casella denominata Importante nella sezione Ambiente della Guida per l'AWS CodeBuild utente.

[CodeBuild.3] I log CodeBuild S3 devono essere crittografati

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

Categoria: Protezione > Protezione dei dati > Crittografia di data-at-rest

Gravità: bassa

Tipo di risorsa: AWS::CodeBuild::Project

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

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se i log di Amazon S3 per un AWS CodeBuild progetto sono crittografati. Il controllo fallisce se la crittografia è disattivata per i log S3 di un progetto. CodeBuild

La crittografia dei dati inattivi è una best practice consigliata per aggiungere un livello di gestione degli accessi ai dati. La crittografia dei registri inattivi riduce il rischio che un utente non autenticato da acceda AWS ai dati archiviati su disco. Aggiunge un altro set di controlli di accesso per limitare la capacità degli utenti non autorizzati di accedere ai dati.

Correzione

Per modificare le impostazioni di crittografia per i log CodeBuild del progetto S3, consulta Modificare le impostazioni di un progetto di build AWS CodeBuild nella Guida per l'AWS CodeBuild utente.

[CodeBuild.4] Gli ambienti di CodeBuild progetto devono avere una durata di registrazione AWS Config

Requisiti correlati: NIST .800-53.r5 AC-2 (12), .800-53.r5 AC-2 (4), NIST .800-53.r5 AC-4 (26), .800-53.r5 AC-6 (9), NIST .800-53.r5 AU-10, .800-53.r5 AU-12, .800-53.r5 AU-2, NIST .800-53.r5 AU-3, .800-53.r5 AU-6 (3), NIST .800-53.r5 AU-6 (4), NIST .800-53.r5 AU-9 (7), .800-53.r5 CA-7, NIST .800-53.r5 SC-7 (9), .800-53.r5 SI-3 (8), NIST .800-53.r5 SI-4, NIST .800-53.r5 SI-4 (20), .800-53.r5 SI-7 (8) NIST NIST NIST NIST NIST NIST NIST NIST

Categoria: Identificazione > Registrazione

Gravità: media

Tipo di risorsa: AWS::CodeBuild::Project

Regola AWS Config : codebuild-project-logging-enabled

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se un ambiente di CodeBuild progetto ha almeno un'opzione di registro, su S3 o sui CloudWatch log abilitati. Questo controllo fallisce se un ambiente di CodeBuild progetto non ha almeno un'opzione di registro abilitata.

Dal punto di vista della sicurezza, la registrazione è una funzionalità importante per consentire future attività di analisi forense in caso di incidenti di sicurezza. La correlazione delle anomalie nei CodeBuild progetti con il rilevamento delle minacce può aumentare la fiducia nell'accuratezza di tali rilevamenti di minacce.

Correzione

Per ulteriori informazioni su come configurare le impostazioni CodeBuild del registro di progetto, consulta Create a build project (console) nella Guida per l'utente. CodeBuild

[CodeBuild.5] gli ambienti di CodeBuild progetto non dovrebbero avere la modalità privilegiata abilitata

Importante

Security Hub ha ritirato questo controllo nell'aprile 2024. Per ulteriori informazioni, consulta Registro delle modifiche per i controlli del Security Hub.

Requisiti correlati: NIST .800-53.r5 AC-2 (1), .800-53.r5 AC-3, NIST .800-53.r5 AC-3 (15), .800-53.r5 AC-3 (7), NIST .800-53.r5 AC-5, .800-53.r5 AC-6 (10), NIST .800-53.r5 AC-6 (10), NIST .800-53.r5 AC-6 (2) NIST NIST NIST

Categoria: Protezione > Gestione sicura degli accessi

Gravità: alta

Tipo di risorsa: AWS::CodeBuild::Project

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

Tipo di pianificazione: modifica attivata

Parametri: nessuno

Questo controllo verifica se l'ambiente di AWS CodeBuild progetto ha la modalità privilegiata abilitata o disabilitata. Il controllo fallisce se in un ambiente di CodeBuild progetto è abilitata la modalità privilegiata.

Per impostazione predefinita, i contenitori Docker non consentono l'accesso a nessun dispositivo. La modalità privilegiata garantisce l'accesso al contenitore Docker di un progetto a tutti i dispositivi. L'impostazione privilegedMode con valore true consente al demone Docker di funzionare all'interno di un contenitore Docker. Il daemon Docker ascolta le API richieste Docker e gestisce oggetti Docker come immagini, contenitori, reti e volumi. Questo parametro deve essere impostato su true solo se il progetto di compilazione viene utilizzato per creare immagini Docker. Altrimenti, questa impostazione dovrebbe essere disabilitata per impedire l'accesso involontario a Docker APIs e all'hardware sottostante del contenitore. L'impostazione false consente privilegedMode di proteggere le risorse critiche da manomissioni ed eliminazioni.

Correzione

Per configurare le impostazioni dell'ambiente di CodeBuild progetto, consulta Creare un progetto di compilazione (console) nella Guida per l'CodeBuild utente. Nella sezione Ambiente, non selezionare l'impostazione Privileged.