SEC11-BP05 Centralizzazione dei servizi per pacchetti e dipendenze - Pilastro della sicurezza

SEC11-BP05 Centralizzazione dei servizi per pacchetti e dipendenze

Fornisci servizi centralizzati per permettere ai tuoi team di ottenere pacchetti software e altre dipendenze. Questo approccio permette la convalida dei pacchetti prima di includerli nel software scritto e fornisce un'origine dati per l'analisi del software usato nell'organizzazione.

Risultato desiderato: il carico di lavoro viene creato sulla base di pacchetti software esterni in aggiunta al codice scritto dal tuo team. In questo modo, è più facile implementare funzionalità usate ripetutamente, come un parser JSON o una libreria di crittografia. Le origini per tali pacchetti e dipendenze vengono centralizzate, così che il tuo team addetto alla sicurezza possa convalidarle prima che vengano utilizzate. Questo approccio viene utilizzato insieme ai flussi di test manuali e automatici per garantire ulteriormente la qualità del software sviluppato.

Anti-pattern comuni:

  • Recupero di pacchetti da repository arbitrari su Internet.

  • Mancata esecuzione di test sui nuovi pacchetti prima di renderli disponibili agli sviluppatori.

Vantaggi dell'adozione di questa best practice:

  • Migliore comprensione dei pacchetti usati nel software sviluppato.

  • Capacità di informare i team responsabili del carico di lavoro quando un pacchetto deve essere aggiornato in base alle informazioni su chi usa cosa.

  • Minor rischio di includere nel software un pacchetto con problemi.

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all'implementazione

Fornisci servizi centralizzati per i pacchetti e le dipendenze in modo da semplificarne l'uso per gli sviluppatori. La centralizzazione dei servizi può essere eseguita in modo logico anziché implementarli come sistema monolitico. Questo approccio permette di fornire servizi in modo da soddisfare le esigenze degli sviluppatori. Devi implementare una soluzione ottimale per l'aggiunta di pacchetti al repository in caso di aggiornamenti o nuovi requisiti. Servizi AWS come AWS CodeArtifact o soluzioni simili dei partner AWS forniscono tale funzionalità.

Passaggi dell'implementazione

  • Implementa un servizio di repository centralizzato in modo logico che sia disponibile in tutti gli ambienti in cui viene sviluppato il software.

  • Includi l'accesso al repository come parte del processo di provisioning automatico dell'Account AWS.

  • Crea automazione per testare i pacchetti prima della loro pubblicazione in un repository.

  • Gestisci le metriche dei pacchetti, dei linguaggi e dei team usati più comunemente e con la maggiore quantità di modifiche.

  • Offri ai team di sviluppo un meccanismo automatico per richiedere nuovi pacchetti e fornire feedback.

  • Analizza regolarmente i pacchetti nel repository per identificare il possibile impatto di nuovi problemi riscontrati.

Risorse

Best practice correlate:

Documenti correlati:

Esempi correlati:

Video correlati: