Cos'è una chiave segreta?
- Glossario IAM
- Cos'è una chiave segreta?
Un segreto è una credenziale privilegiata non umana, come chiavi API, password, token o certificati, che i sistemi e le applicazioni utilizzano per l'autenticazione e l'autorizzazione. I segreti consentono una comunicazione sicura tra applicazioni, servizi e risorse verificando le identità e concedendo l'accesso appropriato ai dati sensibili. Una corretta gestione dei segreti garantisce interazioni sicure tra i sistemi e protegge i dati privilegiati da accessi non autorizzati.
Che cos'è la gestione dei segreti?
La gestione dei segreti indica la gestione, l'archiviazione e la governance sicure delle credenziali privilegiate all'interno dell'infrastruttura IT di un'organizzazione. Consente alle organizzazioni di gestire, archiviare e controllare a livello centrale i segreti riducendo al minimo il rischio di accessi non autorizzati. L'obiettivo della gestione dei segreti è di mantenere sicure le operazioni di sistema, ridurre i rischi per la sicurezza e migliorare l'efficienza operativa.
Tipi di segreti
Esistono diversi tipi di segreti che le organizzazioni utilizzano per proteggere le informazioni privilegiate tra cui password, chiavi crittografiche, token, chiavi API, chiavi SSH, certificati e credenziali utente privilegiate.\
Password
Essendo il tipo più comune di segreto, le password sono ampiamente utilizzate per autenticare gli utenti e concedere l'accesso a sistemi, dati o applicazioni. Le password sono costituite da una combinazione di lettere maiuscole e minuscole, numeri e simboli noti sia all'utente sia al sistema. Una password verifica l'identità di un utente e protegge i dati sensibili da accessi non autorizzati. Per essere robusta, una password deve essere lunga e complessa; in caso contrario, rischia di diventare più vulnerabile agli attacchi basati su password come la forza bruta.
Credenziali utente privilegiate
Le credenziali degli utenti privilegiati garantiscono un accesso elevato o un controllo amministrativo su sistemi, reti o applicazioni. Queste credenziali appartengono agli utenti che possono eseguire attività importanti come configurare le impostazioni di sistema, accedere a informazioni sensibili o gestire account privilegiati. Dal momento che forniscono accesso a dati critici, le credenziali degli utenti privilegiati devono essere attentamente monitorate e protette per evitare azioni non autorizzate.
Chiavi Secure Shell (SSH)
Le chiavi Secure Shell (SSH) consentono un'autenticazione sicura e senza password sulle reti. Comunemente utilizzate dagli amministratori di sistema per l'automazione e il Single Sign-On (SSO), le chiavi SSH sono costituite da una chiave pubblica, memorizzata sul server, e una chiave privata, tenuta segreta dall'utente. Quando viene avviata una connessione, il server verifica la chiave pubblica e concede l'accesso se corrisponde alla chiave privata.
Chiavi dell'interfaccia di programmazione delle applicazioni (API)
Le chiavi API sono identificatori unici utilizzati per autenticare e autorizzare applicazioni o utenti quando accedono alle API. Aiutano a garantire interazioni sicure tra i sistemi software verificando l'identità dell'applicazione chiamante. Le chiavi API spesso sono utilizzate per controllare l'accesso, automatizzare i flussi di lavoro e gestire i limiti di utilizzo. Dal momento che possono garantire l'accesso a informazioni sensibili, le chiavi API devono essere tenute al sicuro per evitare un uso non autorizzato.
Chiavi crittografiche
Le chiavi crittografiche vengono utilizzate nei processi di crittografia e decrittografia per mantenere la riservatezza e l'integrità dei dati. Queste chiavi sono essenziali per proteggere i dati in transito e inattivi. Ne esistono due tipi principali:
- Chiavi simmetriche, in cui la stessa chiave viene utilizzata sia per la crittografia sia per la decrittografia
- Chiavi asimmetriche, che coinvolgono una chiave pubblica (per la crittografia) e una chiave privata (per la decrittografia)
Le chiavi crittografiche sono fondamentali per la sicurezza delle comunicazioni, delle firme digitali e la protezione dei dati nei moderni sistemi IT.
Token
I token vengono utilizzati per l'autenticazione e l'autorizzazione, di solito nelle API e nelle applicazioni web moderne. Sono temporanei e vengono generati per concedere l'accesso a risorse specifiche dopo un processo di accesso o autorizzazione avvenuto con successo. I token contengono informazioni codificate che verificano l'identità di un utente senza la necessità di una password da trasmettere con ogni richiesta. Dal momento che i token possono garantire l'accesso a risorse sensibili, devono essere conservati e condivisi in modo sicuro.
Certificati
I certificati digitali vengono utilizzati per proteggere le connessioni Internet e le comunicazioni su una rete. Questi certificati spesso vengono definiti certificati SSL/TLS, con il Transport Layer Security (TLS) che rappresenta una versione più moderna e sicura del protocollo Secure Sockets Layer (SSL) ormai obsoleto. I certificati TLS autenticano l'identità di un sito web e creano una connessione crittografata tra il server e un client. I certificati contengono una chiave pubblica e altre informazioni, tra cui il nome di dominio e l'emittente, che consentono ai clienti di verificare la credibilità del server. I certificati sono importanti per garantire la privacy dei dati, prevenire gli attacchi Man-in-the-Middle (MITM) e aumentare la fiducia degli utenti.
Sfide nella gestione dei segreti
Senza una corretta gestione dei segreti, ogni team all'interno di un'organizzazione potrebbe gestire i segreti in modo indipendente. Questo può portare alla diffusione incontrollata dei segreti e alla loro condivisione non sicura.
Diffusione incontrollata dei segreti
La diffusione incontrollata dei segreti è la distribuzione caotica dei segreti all'interno di un'organizzazione. Man mano che le organizzazioni crescono, i segreti possono disperdersi negli ambienti cloud e nei vari strumenti, aumentando il rischio di accesso non autorizzato. La mancanza di una gestione centralizzata dei segreti può comportare vulnerabilità di sicurezza e problemi di conformità.
Segreti hardcoded
I segreti hardcoded si riferiscono a credenziali sensibili come password o chiavi API, incorporate direttamente nel codice sorgente o nei file di configurazione. Questo può accadere se gli sviluppatori archiviano segreti nel codice per semplificare lo sviluppo o il testing. Tuttavia, l'archiviazione delle credenziali direttamente nel codice sorgente pone rischi per la sicurezza, rendendo più difficile aggiornare i segreti e contenere la potenziale esposizione.
Condivisione manuale dei segreti
La condivisione manuale dei segreti consiste nell'inviare o nel distribuire informazioni sensibili attraverso processi manuali, come e-mail o sistemi di messaggistica. Affidarsi alle e-mail, alle applicazioni di messaggistica o ai fogli di calcolo per distribuire i segreti aumenta il rischio di errore umano e di accessi non autorizzati. Se un utente condivide segreti attraverso un'e-mail non crittografata, tali dati sensibili sono vulnerabili all'intercettazione da parte di utenti non autorizzati.
Privilegi del cloud computing
I privilegi del cloud computing determinano l'accesso degli utenti alle risorse basate su cloud, come server e database. Se un'organizzazione concede privilegi eccessivi a un utente, possono aumentare i rischi per la sicurezza in quanto l'errore umano o gli attacchi informatici possono portare a violazioni dei dati. Le organizzazioni spesso faticano a tracciare gli accessi alle applicazioni cloud, il che può portare a un aumento dei privilegi e a credenziali non gestite.
Account di terze parti e accesso remoto
Se non gestiti correttamente, gli account di terze parti e quelli con accesso remoto possono introdurre vulnerabilità di sicurezza, soprattutto se fornitori o appaltatori godono di privilegi eccessivi o credenziali obsolete. L'accesso non autorizzato può portare a violazioni dei dati o alla compromissione del sistema attraverso fornitori esterni o dipendenti remoti che si connettono a sistemi critici con dati sensibili.
Best practice per la gestione dei segreti
Per mitigare le sfide comuni nella gestione dei segreti, le organizzazioni possono proteggere i propri segreti gestendo i privilegi e gli utenti autorizzati, ruotando automaticamente i segreti e aggiornando regolarmente le politiche di gestione dei segreti.
Gestisci i privilegi e gli utenti autorizzati
Le organizzazioni dovrebbero gestire i privilegi e gli utenti autorizzati seguendo il Principio del privilegio minimo (PoLP), che concede a utenti e sistemi l'accesso solo a quello di cui hanno bisogno per svolgere le proprie attività. <a href=/resources/glossary/what-is-role-based-access-control/"">Il controllo degli accessi basato sui ruoli (RBAC) aiuta a far rispettare il PoLP assegnando autorizzazioni in base ai ruoli anziché ai singoli utenti, riducendo al minimo il rischio di privilegi eccessivi. L'autenticazione multifattoriale (MFA) dovrebbe essere abilitata anche per tutti gli account privilegiati per aggiungere un livello di sicurezza e prevenire accessi non necessari o non autorizzati nel tempo.
Ruota i segreti
La rotazione automatizzata dei segreti è una pratica che le organizzazioni dovrebbero seguire per ridurre il rischio di accesso non autorizzato a informazioni sensibili. L'aggiornamento frequente dei segreti limita l'esposizione se un segreto viene compromesso. Con un sistema centralizzato di gestione dei segreti, le organizzazioni possono tracciare e aggiornare automaticamente le credenziali secondo una pianificazione predeterminata, risparmiando tempo e riducendo le possibilità di un errore umano.
Distinguere tra segreti e identificatori
Per proteggere i segreti e migliorare la sicurezza, le organizzazioni devono distinguere tra segreti (password, chiavi di crittografia e token) e identificatori come nomi utente, indirizzi email e ID dei dispositivi. I segreti devono essere riservati e monitorati attentamente in quanto concedono l'accesso diretto a informazioni sensibili, mentre gli identificatori dovrebbero essere gestiti con cura per prevenire l'uso improprio, ma possono rimanere pubblici. Le organizzazioni devono archiviare i segreti in modo sicuro e applicare controlli rigorosi degli accessi per prevenire l'uso non autorizzato e ridurre al minimo il rischio di esposizione.
Rivedere e aggiornare regolarmente le politiche di gestione dei segreti
Le organizzazioni devono rivedere e aggiornare regolarmente le proprie politiche di gestione dei segreti per prepararsi a minacce informatiche più avanzate e in evoluzione. L'aggiornamento di queste politiche dovrebbe includere la determinazione di chi ha accesso alle credenziali sensibili, la revoca di segreti obsoleti o non necessari e l'applicazione della conformità agli standard normativi. Con un sistema centralizzato di gestione dei segreti, le organizzazioni possono automatizzare l'applicazione delle politiche per mantenere la coerenza e ridurre al minimo gli errori umani.