Come creare e applicare una policy di firma del codice efficace? Scrivi una guida interna sulle policy di firma del codice
Con la crescente richiesta di requisiti di firma maturi, aziende e team di sviluppo si trovano costretti a creare e applicare policy e processi di firma robusti per proteggere il software. Creando e documentando una policy formale per la firma del codice, permetti ai tuoi sviluppatori e ingegneri di seguire le best practice necessarie per proteggere il software che viene sviluppato.
Cosa devo includere nella mia Guida alle policy di firma del codice?
Le policy efficaci di firma del codice includono linee guida e procedure per l'emissione e l'uso delle chiavi di firma del codice, ad esempio su questi aspetti:
Emissione delle chiavi
Quando crei i protocolli di gestione, imposti anche controlli e procedure per stabilire chi può rilasciare le chiavi e quando. I membri del team devono sapere quando è opportuno rilasciare le chiavi, in base al loro ruolo. Gestisci i tipi di chiavi che vengono emesse e gli attributi a queste associati. In questo modo eviti di emettere nuove chiavi con algoritmi deboli e potenzialmente pericolosi.
Gestione delle chiavi
Imposta controlli e procedure per i ruoli degli utenti. Chi gestisce le chiavi? Come viene suddivisa la gestione delle chiavi in base al ruolo all'interno del team, dell'organizzazione o della fase di produzione? È necessario che queste procedure includano il tracciamento della posizione di tutte le chiavi all'interno dell'organizzazione.
Conservazione delle chiavi
Le chiavi devono essere protette. Imposta controlli e procedure per conservare le chiavi quando sono o non sono in uso. Ciò dovrebbe includere HSM, token, USB e chiavi di accesso con autenticazione a più fattori. È essenziale che i membri del team sappiano come evitare la perdita o la conservazione inappropriata delle chiavi.
Permessi di firma
I membri del team devono sapere chi ha il permesso di firmare e in quali circostanze. Devono inoltre conoscere i casi in cui l'autorizzazione alla firma non viene concessa e come richiedere la firma se il loro ruolo non prevede questa autorizzazione.
Utilizzo delle chiavi
Il modo in cui le chiavi vengono utilizzate o non utilizzate è un aspetto cruciale delle corrette procedure di firma. Le chiavi devono essere utilizzate al momento giusto e dalle persone giuste.
Prevenire la condivisione delle chiavi
La condivisione delle chiavi è una pratica comune, ma anche una delle più pericolose. I membri del team non devono mai condividere le chiavi, neppure all'interno di repository, server, sistemi e reti interni. È essenziale che le chiavi siano emesse, controllate e conservate esclusivamente da chi ne è responsabile, in base al suo ruolo.
Firma continua
La firma del codice e del software non deve mai considerarsi di poco conto o come un noioso step di conformità. Ogni pipeline CI/CD dovrebbe includere la CS-Continuous Signing, affinché la sicurezza del codice sia praticata in modo corretto e coerente.
Per una spiegazione completa su come scrivere una policy di firma del codice interno, leggi la nostra guida qui.