Panoramica
La gestione dei segreti è il processo di controllo delle credenziali IT, come le password, le chiavi dell'interfaccia di programmazione delle applicazioni (API) e i file di configurazione. Le organizzazioni IT utilizzano la gestione dei segreti per mantenere riservate e aggiornate le informazioni sensibili, mettendo a disposizione delle persone e dei sistemi che ne hanno bisogno risorse controllate.
La gestione dei segreti è un concetto ampio. In un ambiente aziendale, una buona gestione dei segreti in genere significa disporre di una posizione centralizzata in cui archiviare i segreti e integrare il repository dei segreti con gli strumenti di automazione dell'IT. Per i team di sviluppo software, la gestione dei segreti può essere parte integrante dei flussi di lavoro DevSecOps. In questo articolo approfondiremo il funzionamento della gestione dei segreti aziendali e i vantaggi che può offrire.
Come funziona la gestione dei segreti?
I segreti sono preziosi. È il motivo per cui non si scrivono le password su un foglietto posto sul computer. (Se lo fai, ti consigliamo vivamente di migliorare la gestione dei segreti!) La divulgazione di un segreto può consentire a un utente malintenzionato di accedere a dati sensibili o addirittura di accedere a più segreti e di spostarsi lateralmente all'interno dei sistemi.
L'alternativa al vecchio metodo di gestione dei segreti è tenere traccia dei segreti tramite processi manuali. A un livello base, immagina che ogni membro del tuo team di volta in volta abbia bisogno di accedere a vari account, perciò incolli tutte le credenziali di accesso in un documento e lo condividi con tutti. Per un po' di tempo questo approccio potrebbe funzionare, ma hai concesso più accessi del necessario.
Questo metodo può creare confusione e introdurre rischi non necessari in vari modi. È possibile che qualcuno modifichi una password ma dimentichi di aggiornare l'elenco. Oppure qualcuno copia l'elenco e ora ne esistono più versioni. O qualcuno cancella l'elenco per errore. Oppure qualcuno esegue l'hard coding di una password in uno script e la invia a un repository pubblico, rivelando al pubblico un segreto. O l'account aziendale di qualcuno viene hackerato e un utente malintenzionato ottiene l'accesso all'elenco e a tutte le risorse a cui l'elenco consente l'accesso.
La gestione dei segreti consente di prevenire questi problemi. Non è necessario massimizzare sempre ogni controllo di sicurezza. Al contrario, una gestione efficace dei segreti implica l'applicazione strategica di opzioni di sicurezza per ridurre la possibilità che i segreti vengano compromessi in aree specifiche. Alcuni dei principi fondamentali per una buona gestione dei segreti includono:
- Gestione delle identità e degli accessi (IAM). Con l'IAM, puoi gestire l'autenticazione degli utenti tramite 1 sistema, quindi connettere l'utente ad altri sistemi da lì. La gestione centralizzata dell'autenticazione si basa su standard come LDAP (Lightweight Directory Access Protocol) e SAML (Security Assertion Markup Language).
- Crittografia delle credenziali di accesso. La crittografia trasforma un segreto in una stringa illeggibile senza una chiave di decrittografia. Il protocollo Secure Shell (SSH), ampiamente utilizzato per l'accesso remoto, si basa su chiavi di crittografia. Puoi scegliere tra diversi tipi di crittografia e adottare procedure standard, come la rotazione delle chiavi di crittografia con cadenza settimanale. La crittografia si distingue dalla codifica, che modifica un segreto in un modo standard che chiunque può facilmente modificare di nuovo.
- Controllo degli accessi basato sui ruoli (RBAC). Il controllo RBAC fornisce l'accesso alle risorse in base al ruolo dell'utente all'interno di un team o di un'organizzazione più ampia. In questo modo gli amministratori IT possono raggruppare gli utenti per mansione e gestire le autorizzazioni per l'intero gruppo, anziché per un singolo utente alla volta.
- Gestione dei certificati. I certificati sono protocolli crittografici che proteggono la comunicazione tra le reti. I certificati Secure Sockets Layer (SSL) e Transport Layer Security (TLS) sono gli standard per la comunicazione su Internet. Per stabilire l'attendibilità, un server ha bisogno di un certificato digitale emesso da un'autorità di certificazione. I certificati SSL devono essere rinnovati regolarmente e un sistema di gestione dei segreti è in grado di automatizzare e controllare questo processo.
- Principi zero trust. L'approccio zero trust alle architetture di sicurezza è diventato molto popolare negli ultimi anni e presuppone che ogni interazione inizi in uno stato non attendibile. L'accesso alle risorse sensibili viene concesso solo su base granulare. L'approccio zero trust si basa sul concetto di privilegio minimo, secondo il quale gli utenti dovrebbero avere accesso solo alle risorse di cui hanno assolutamente bisogno.
La gestione dei segreti non si basa su alcun concetto o pratica unici. Si tratta piuttosto di unificare una serie di strategie comuni in un processo centralizzato e automatizzato.
Risorse da Red Hat
Quali sono i vantaggi della gestione dei segreti?
La gestione dei segreti non solo protegge i dati, ma migliora anche le operazioni complessive in altri modi fondamentali:
- Prevenzione delle "isole di sicurezza": centralizzando il controllo dei segreti, puoi evitare che le istanze di solo un piccolo gruppo nell'organizzazione dispongano di accessi specializzati che nessun altro ha.
- Identificazione dei malintenzionati: implementando rigidi requisiti di verifica, puoi facilmente bloccare i potenziali hacker e impedire i loro tentativi di apparire come utenti con credenziali.
- Automatizzare la verifica delle credenziali: grazie all'automazione è possibile ridurre la quantità di attività manuali necessarie per autenticare gli utenti ed evitare perdite di tempo.
Quali sono gli approcci alla gestione dei segreti aziendali?
In un ambiente di elaborazione aziendale, i rischi sono più elevati e la gestione dei segreti è più complessa. Gli amministratori devono allocare in modo responsabile l'accesso a molti sistemi e set di dati diversi e parecchi utenti hanno bisogno di accedere a varie risorse per periodi di tempo diversi. La gestione dei segreti aziendali è una disciplina ben sviluppata che offre molte opzioni, incluse le soluzioni open source.
Red Hat® Ansible® Automation Platform e Red Hat OpenShift® si basano su standard open source e offrono l'integrazione con numerosi strumenti di gestione dei segreti. Le funzionalità di gestione dei segreti di Ansible Automation Platform includono l'integrazione con altre piattaforme principali, tra cui HashiCorp Vault, CyberArk, AWS Secrets Manager, Azure Key Vault e altre ancora.
HashiCorp Vault
HashiCorp Vault è una piattaforma centralizzata per la gestione dell'IAM e dei segreti. Vault fornisce credenziali dinamiche e limitate nel tempo e ti aiuta a mantenere un'unica fonte di attendibilità per i dati sensibili. Gli agenti Vault possono integrarsi con Red Hat Ansible Automation Platform e Red Hat OpenShift per gestire i certificati e le credenziali di accesso negli ambienti IT personalizzati.
Insieme, Vault e Red Hat Ansible Automation Platform possono aiutarti ad applicare il controllo degli accessi, nonché le attività di auditing e correzione della conformità. Sfrutterai tutti i vantaggi della governance centralizzata, come la riduzione dei rischi, la semplificazione degli audit e la garanzia che le modifiche all'infrastruttura siano conformi e tracciabili.
CyberArk
Come proteggere le credenziali e i dati con Red Hat e CyberArk (2:03)
CyberArk offre una piattaforma dei segreti e IAM per gestire l'accesso degli utenti alle risorse. Red Hat Ansible Automation Platform si integra con CyberArk Conjur per aiutarti ad applicare i criteri di sicurezza e a gestire i segreti negli ambienti applicativi, anche per l'utilizzo in DevOps e negli strumenti di integrazione e distribuzione continue (CI/CD).
Puoi incorporare automaticamente le procedure consigliate per la gestione dei segreti durante tutto il processo DevOps. Ciò può includere il provisioning dei segreti per l'utilizzo da parte delle applicazioni, la rotazione dei segreti in base ai criteri di sicurezza dell'organizzazione, il monitoraggio degli accessi degli utenti con privilegi, il miglioramento della visibilità, il mantenimento degli standard di conformità e altro ancora.
Gestione dei segreti negli ambienti Kubernetes
Nei deployment Kubernetes, come gli ambienti Red Hat OpenShift, le applicazioni sono organizzate in gruppi di container che hanno bisogno di accedere ai segreti per comunicare con altri sistemi ed eseguire le funzioni previste.
I 2 modi principali per gestire i segreti in Kubernetes sono le variabili di ambiente e i montaggi dei volumi.
- Con le variabili di ambiente, le coppie chiave-valore del segreto vengono inserite direttamente nel container come variabili di ambiente.
- Con i montaggi dei volumi, il segreto viene montato come set di file nel file system del container. Il codice dell'applicazione legge i dati segreti da questi file.
I montaggi dei volumi offrono diversi vantaggi in termini di sicurezza e sono l'approccio consigliato per Red Hat OpenShift. Il modello di sicurezza di Red Hat OpenShift offre una base di protezione per le variabili di ambiente, ma l'impostazione predefinita dei montaggi dei volumi è un passaggio che aiuta a mantenere i segreti il più sicuri possibile.
Un'idea correlata, Kubernetes Secrets, utilizza gli oggetti per separare i dati riservati dal codice di un'applicazione in modo che i segreti non siano esposti nel codice stesso. Questo è in linea con le pratiche dell'architettura di sicurezza in GitOps.
Perché affidarsi a Red Hat per il tuo approccio alla sicurezza?
Red Hat applica i principi di sicurezza open source per proteggere le community di clienti, collaboratori e partner dalle minacce alla sicurezza digitale. Questo include il supporto per la gestione dei segreti integrato nei prodotti e l'integrazione con altre soluzioni di gestione dei segreti.
Red Hat Enterprise Linux® fornisce una base per la gestione centralizzata delle identità, l'autenticazione e l'autorizzazione in ambienti altamente dinamici e scalabili.
Red Hat OpenShift offre controlli di sicurezza integrati per lo sviluppo applicativo containerizzato, incluse strategie di gestione dei segreti allineate con un approccio DevOps.
Red Hat Ansible Automation Platform consente un'automazione centralizzata della gestione dei segreti, oltre alle integrazioni con i repository dei segreti comuni.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.