Se inefficaci, le procedure di gestione dei segreti possono rappresentare un rischio importante per qualsiasi azienda, in particolare per quelle che hanno il compito di archiviare e proteggere i dati dei propri clienti. Si tratta di un problema comune e spesso al centro delle preoccupazioni di un'attività. Un segreto svelato può comportare una perdita di riservatezza e potenzialmente una violazione dei dati. Questo genere di incidenti rischia di provocare un ingente danno economico e di sfiduciare la clientela.
Nel caso di molte aziende, procedure di gestione dei segreti non sicure possono derivare dalla mancanza di competenze o da una scarsa conoscenza degli strumenti e delle strategie necessari per risolvere questo problema. D'altro canto, adottare procedure efficaci può aiutare un'organizzazione a mitigare i rischi e a consolidare le strategie di gestione dei segreti. In questo articolo parleremo delle best practice del settore, della capacità di GitLab di supportare tali procedure e di quale sia la nostra strategia per migliorare le funzionalità native delle piattaforme DevSecOps.
Sviluppare una strategia crittografica
Ogni attività necessita di una strategia crittografica per consentire agli sviluppatori di operare in modo standardizzato, affinché tutte le applicazioni e i loro componenti vengano progettati in conformità con i requisiti aziendali.
Comprendere i dati che necessitano di elaborazione, definire la tolleranza al rischio e delineare il panorama delle minacce aiuterà la tua azienda a sviluppare un'efficace strategia crittografica.
Generazione dei segreti
I segreti, inclusi i token di accesso e le chiavi SSH, dovrebbero essere generati mediante dispositivi crittografici come i moduli di protezione hardware (HSM). Questi dispositivi consentono di generare segreti crittograficamente resilienti, archiviandoli in modo da renderli impervi a manomissioni e intrusioni.
Affidarsi a dispositivi fisici può comportare una spesa economica non indifferente e rivelarsi proibitivo dal punto di vista delle operazioni, ragion per cui i principali fornitori di servizi cloud offrono servizi di Cloud HSM come AWS CloudHSM e GCP Cloud HSM.
Archiviazione dei segreti
Archiviare i segreti è fondamentale tanto quanto generarli. I segreti generati devono essere memorizzati in modo sicuro e durevole, affinché gli utenti possano recuperarli e utilizzarli in assoluta sicurezza a seconda delle esigenze.
I principali fornitori di servizi cloud e di sicurezza come HashiCorp offrono strumenti basati su cloud per archiviare e recuperare i segreti in modo sicuro. Questi servizi consentono agli utenti di utilizzare i segreti all'interno dei loro processi e codici senza soluzione di continuità, eliminando così ogni necessità di hardcoding.
In che modo GitLab supporta l'archiviazione dei segreti?
GitLab fornisce supporto nativo per i seguenti fornitori di servizi di gestione dei segreti:
- Vault di HashiCorp
- Secret Manager di Google Cloud
- Azure Key Vault
Integrando GitLab con un fornitore di servizi di gestione dei segreti, questi ultimi vengono richiesti esplicitamente solo quando necessari a un job di CI. Al termine dell'operazione, le informazioni rimangono archiviate in modo sicuro nell'ambiente del fornitore, mitigando così i rischi di compromissione. Oltre al supporto nativo, GitLab offre un protocollo di autenticazione OIDC per la verifica dell'identità (ad esempio AWS Secret Manager). Si tratta di un metodo di archiviazione molto più sicuro rispetto alla memorizzazione e al mascheramento dei segreti come variabili di CI/CD.
Utilizzo dei segreti
I segreti dovrebbero essere usati per un unico scopo. Riutilizzarli in diverse applicazioni o servizi aumenta il potenziale di esposizione e le conseguenze in caso di violazione dei dati.
Per ridurre il rischio di attività fraudolente, bisognerebbe adottare il principio del privilegio minimo. In altre parole, l'accesso dovrebbe essere concesso solo agli utenti o ai servizi che lo richiedono in quanto funzionale al loro lavoro o alle attività operative che svolgono.
In che modo GitLab supporta l'utilizzo dei segreti?
GitLab offre agli amministratori un efficace modello di controllo dell'accesso basato sui ruoli e anche la possibilità di creare ruoli personalizzati, consentendo loro di allineare i profili di accesso ai propri standard organizzativi e di tolleranza al rischio.
Inoltre, GitLab consente agli utenti di eseguire il rilevamento dei segreti per verificare la presenza di informazioni sensibili e credenziali involontariamente compromesse. Gli utenti di GitLab Ultimate possono implementare misure di contrasto automatizzate, come la revoca dei segreti, per stemperare le conseguenze.
Verificabilità
L'accesso e l'utilizzo dei segreti devono essere verificabili e basati sugli attributi. In uno scenario ideale, gli utenti non dovrebbero poter visualizzare i segreti in un formato non criptato. Tuttavia, il flusso delle attività operative di un'azienda non sempre lo consente.
Una gestione dei segreti verificabile e basata sugli attributi permette ai team della sicurezza di monitorare le attività anomale o dannose e di intervenire rapidamente attraverso misure dirette o automatizzate.
In che modo GitLab supporta la verificabilità?
Gli eventi di audit di GitLab acquisiscono attività relative a token e chiavi creati all'interno della piattaforma, tra cui:
- Eventi correlati a token di accesso personale
- Eventi correlati a token di deployment
- Eventi correlati a token di agenti cluster
Queste attività vengono salvate nel database e possono inoltre essere analizzate in tempo reale dai clienti di GitLab Ultimate.
In arrivo: GitLab Secret Manager
GitLab lancerà un servizio nativo di gestione dei segreti alla fine del 2024. GitLab Secret Manager è una soluzione multi-tenant basata su cloud che sarà accessibile sia dal sito gitlab.com che ai clienti self-managed tramite il nostro Cloud Connector. Grazie a un'interfaccia intuitiva e coerente con quella attualmente utilizzata per le variabili di CI/CD, il nuovo servizio potrà essere integrato più facilmente rispetto ai prodotti di terzi parti. GitLab Secret Manager garantirà la sicurezza e la protezione delle informazioni sensibili nelle pipeline di integrazione continua.
Per ulteriori informazioni o domande su GitLab Secret Manager, accedi alla nostra epic di MVC e lascia un commento.
Passaggi successivi
Sicurezza delle applicazioni nell'era digitale
Leggi i risultati del sondaggio condotto tra oltre 5.000 professionisti di DevSecOps in tutto il mondo per scoprire come le organizzazioni affrontano l'aumento delle superfici di attacco e come sta cambiando l'atteggiamento nei confronti della sicurezza e dell'IA.
Leggi il reportLeggi i risultati del sondaggio condotto tra oltre 5.000 professionisti di DevSecOps in tutto il mondo per scoprire come le organizzazioni affrontano l'aumento delle superfici di attacco e come sta cambiando l'atteggiamento nei confronti della sicurezza e dell'IA.
Frequently asked questions
Concetti essenziali
- Una gestione inadeguata dei segreti può causare violazioni dei dati. L'integrazione nativa di GitLab migliora la sicurezza.
- Una gestione dei segreti verificabile e basata sugli attributi consente ai team della sicurezza di monitorare le attività anomale o dannose e di intervenire rapidamente.
- GitLab consente di gestire al meglio l'archiviazione e l'utilizzo dei segreti grazie a efficaci misure di controllo dell'accesso e a potenti strumenti di rilevamento.