Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo ti aiuta a proteggere i segreti e a ridurre il rischio di accessi non autorizzati. Segui queste indicazioni per assicurarti di non memorizzare informazioni sensibili, quali le credenziali, nel codice, nei repository GitHub, nei log o nelle pipeline di integrazione continua/distribuzione continua (CI/CD). Le linee guida in questo articolo provengono da singole raccomandazioni sui servizi e dal Microsoft Cloud Security Benchmark (MCSB).
Questo articolo è allineato al modello di sicurezza Microsoft Zero Trust, che richiede la verifica esplicita, l'accesso con privilegi minimi e il presupposto di violazione. Per controlli di sicurezza prescrittivi che includono l'applicazione Criteri di Azure, vedi Microsoft Cloud Security Benchmark v2: Accesso privilegiato e MCSB v2: Data Protection.
Individuazione e prevenzione dei segreti
Prima di poter mettere al sicuro i tuoi segreti, hai bisogno di avere visibilità su dove esistono. Servono anche controlli che impediscano l'esposizione prima che avvenga.
Effettua un audit per identificare segreti: verifica i tuoi sistemi e applicazioni per identificare informazioni sensibili che necessitano di protezione, come password, chiavi API, stringhe di connessione e altre credenziali. Audit regolari aiutano a garantire che il tuo inventario tenga conto dei nuovi segreti e che tu gestisca correttamente i segreti esistenti. Salvaguarda i segreti creati dinamicamente, come i token OAuth temporanei, con la stessa rigore dei segreti a lungo termine.
Evita la codifica rigida dei segreti: incorporare segreti direttamente nel codice o nei file di configurazione crea un rischio significativo per la sicurezza. Se gli attaccanti compromettono il tuo codice, compromettono anche i tuoi segreti. Invece, usa variabili di ambiente o strumenti di gestione della configurazione che tengono segreti fuori dal codice sorgente. Questa pratica riduce al minimo il rischio di esposizioni accidentali e semplifica gli aggiornamenti segreti. Integra il recupero dei segreti nella tua pipeline di distribuzione automatizzata e utilizza modelli di iniezione dei segreti per contribuire a prevenire l'esposizione accidentale nei log o nei sistemi di controllo delle versioni. Per altre informazioni, vedere Raccomandazioni per la protezione dei segreti dell'applicazione.
Implementa strumenti di scansione dei segreti: scansiona regolarmente il tuo codice per trovare segreti incorporati per aiutare a prevenire esposizioni accidentali. Strumenti come Azure DevOps Credential Scanner e GitHub secret scanning possono rilevare e avvisarti automaticamente dei segreti nei repository. Integra questi strumenti nella tua pipeline CI/CD per un monitoraggio continuo. Considera qualsiasi segreto scoperto dagli strumenti di scansione come compromesso. Revocalo e sostituiscilo immediatamente per mantenere l'integrità del tuo livello di sicurezza.
Archiviazione sicura e crittografia
La protezione dei segreti richiede meccanismi di archiviazione sicuri e la crittografia appropriata in tutte le fasi.
Usa archivi di chiavi sicuri: Servizi come Azure Key Vault e Azure Key Vault Managed HSM offrono funzionalità di sicurezza, tra cui controllo accessi, logging e rotazione automatica. Questo approccio centralizza la gestione dei segreti e riduce il rischio di accessi non autorizzati. Per segreti altamente sensibili o critici, si utilizza un key store supportato da modulo di sicurezza hardware (HSM) per una protezione migliorata rispetto ai secret store basati su software. Per gli scenari di chiave gestiti dal cliente, usa Azure Key Vault Premium tier, che è almeno supportato da HSM. Usa Azure Key Vault Managed HSM per i requisiti di sovranità delle chiavi. Per una panoramica delle offerte di gestione delle chiavi di Azure e delle indicazioni su quale scegliere, consulta Gestione delle chiavi in Azure e Come scegliere la soluzione di gestione delle chiavi più appropriata.
Crittografare i segreti inattivi e in transito: Azure Key Vault archivia i segreti in modo sicuro mediante crittografia envelope, in cui le chiavi di crittografia delle chiavi crittografano le chiavi di crittografia dei dati per fornire un ulteriore livello di sicurezza. Usa protocolli di comunicazione sicuri come HTTPS per criptare i dati in transito tra le tue applicazioni e il caveau delle chiavi. In Azure, vari servizi implementano la crittografia a riposo utilizzando la crittografia AES 256. TLS e MACsec proteggono i dati in transito. Per maggiori informazioni, vedi Crittografia a riposo e in transito.
Implementare l'isolamento della rete: configurare firewall e gruppi di sicurezza di rete per limitare l'accesso agli insiemi di credenziali delle chiavi. Permette solo ad applicazioni e servizi affidabili di accedere ai tuoi segreti. Questo approccio minimizza la superficie di attacco e aiuta a prevenire accessi non autorizzati. Valutare l'uso di più insiemi di credenziali delle chiavi per creare limiti di isolamento per i diversi componenti. Se gli attaccanti compromettono un componente, il componente non può ottenere il controllo di altri segreti o dell'intero carico di lavoro.
Controllo di accesso e identità
La gestione di chi e cosa può accedere ai segreti è fondamentale per la gestione della sicurezza.
Usa le identità gestite: le identità gestite in Azure forniscono un modo sicuro per le applicazioni di autenticarsi ai servizi Azure senza dover memorizzare le credenziali nel codice. Abilita le identità gestite per le risorse Azure per accedere in modo sicuro ad Azure Key Vault e ad altri servizi, riducendo la necessità di gestire manualmente i segreti. Questo approccio minimizza la creazione di segreti e riduce la superficie per potenziali violazioni perché la piattaforma gestisce le credenziali.
Applicare un controllo di accesso granulare: seguire il principio dei privilegi minimi applicando un controllo di accesso granulare ai segreti. Utilizza il controllo degli accessi basato sul ruolo di Azure (Azure RBAC) per garantire che solo le entità autorizzate abbiano accesso a segreti specifici. Esaminare e aggiornare regolarmente le autorizzazioni di accesso per impedire l'accesso non autorizzato. Implementa ruoli distinti come utente, amministratore e revisore per gestire l'accesso ai segreti. Questa pratica aiuta a garantire che solo le identità affidabili abbiano il livello appropriato di autorizzazione. Per maggiori informazioni, consulta la guida RBAC di Azure Key Vault.
Gestione del ciclo di vita dei segreti
I segreti richiedono una gestione continuativa per tutto il ciclo di vita, dalla creazione al ritiro.
Aggiornare regolarmente i segreti: i segreti sono soggetti a perdite o esposizione nel tempo. Ruota regolarmente i tuoi segreti per ridurre il rischio di accessi non autorizzati. Si possono ruotare i segreti in Azure Key Vault per alcuni segreti. Per i segreti che non possono ruotare automaticamente, stabilisci un processo di rotazione manuale e eliminali quando non vengono più usati. Automatizza la rotazione segreta e integra la ridondanza nella gestione dei segreti per aiutare a garantire che la rotazione non interrompa la disponibilità dei servizi. Implementa meccanismi di nuovo tentativo e pattern di accesso concorrente nel tuo codice per ridurre al minimo i problemi durante la finestra di rotazione.
Distribuisci i segreti in modo sicuro: Quando li distribuisci, condivideli in modo sicuro sia all'interno che all'esterno dell'organizzazione. Utilizza strumenti progettati per la condivisione sicura e includi procedure di recupero segrete nei tuoi piani di disaster recovery. Se un utente malintenzionato compromette o divulga una chiave, rigenerarla immediatamente. Usa chiavi distinte per ogni consumatore invece di condividere le chiavi, anche se i consumatori hanno modelli di accesso simili. Questa pratica semplifica la gestione e la revoca delle chiavi, così puoi revocare le chiavi compromesse senza influenzare altri consumatori.
Monitoraggio e registrazione
Il monitoraggio continuo rileva attività sospette e supporta i requisiti di conformità.
- Monitorare e registrare l'accesso: abilitare la registrazione e il monitoraggio per il sistema di gestione dei segreti per tenere traccia dell'accesso e dell'utilizzo. Usa Key Vault logging, Monitoraggio di Azure o Griglia di eventi di Azure per monitorare tutte le attività relative ai tuoi segreti. Il monitoraggio offre visibilità su chi ha avuto accesso ai tuoi segreti e aiuta a rilevare comportamenti sospetti o potenziali incidenti di sicurezza. Mantenere tracce di audit dettagliate per ispezionare e validare l'accesso ai segreti, che possono aiutare a prevenire il furto d'identità, evitare la ripudiazione e ridurre l'esposizione non necessaria.
Linee guida specifiche del servizio per la gestione dei segreti
I singoli servizi potrebbero avere più buone pratiche e indicazioni per proteggere i segreti. Ecco alcuni esempi:
- Gestione API: Usa valori nominati nelle policy di Gestione API di Azure con integrazione con Key Vault
- Servizio App: Usa i riferimenti a Key Vault per Servizio App e Funzioni di Azure
- Application Gateway: Configura la terminazione TLS per Application Gateway utilizzando il portale Azure
- Automazione: Gestire le credenziali in Automazione di Azure
- Azure AI Foundry: Sviluppa applicazioni Foundry Tools con Azure Key Vault
- Configurazione app di Azure: Utilizzare riferimenti Key Vault in un'app ASP.NET Core
- Azure servizio Bot: Crittografia di Azure servizio Bot per i dati a riposo
- Azure Center per soluzioni SAP: Prepara la rete per il deployment di soluzioni Azure Center for SAP
- Servizi di comunicazione di Azure: Creare e gestire token di accesso
- Gateway di comunicazioni di Azure: Creare e archiviare segreti
- App contenitore di Azure: gestire i segreti nelle app contenitore di Azure
- Azure Cosmos DB: Configura le chiavi gestite dai clienti per Azure Cosmos DB
- Database di Azure per PostgreSQL - Flexible Server: crittografia dati con chiave gestita dal cliente
- Azure Databricks: Integrazione con Key Vault in Azure Databricks
- Azure DevTest Labs: Abilitare le identità gestite assegnate dall'utente nelle macchine virtuali del laboratorio in Azure DevTest Labs
- Hub eventi di Azure: Configurare le chiavi gestite dall'utente per crittografare i dati di Hub eventi di Azure a riposo
- Frontdoor di Azure: Frontdoor di Azure Secrets
- Azure HDInsight nel servizio Azure Kubernetes: Creare i prerequisiti della risorsa Azure Key Vault
- Azure Information Protection: supporto di Key Vault per Azure Information Protection
- Servizio Azure Kubernetes (AKS): CSI Secret Store
- Azure Machine Learning: Usa i segreti delle credenziali di autenticazione nei lavori di Azure Machine Learning
- Applicazioni gestite di Azure: Accedere ai segreti di Key Vault durante la distribuzione di Applicazioni gestite di Azure
- Azure Pipelines: Proteggere i segreti in Azure Pipelines
- Bus di servizio di Azure: integrare il bus di servizio con Service Connector
- Servizio Azure SignalR: riferimento al segreto di Key Vault nelle impostazioni del modello di URL
- Azure Spring Apps: Integrare Azure Key Vault con Service Connector
- Azure Stack Edge: Gestire i segreti di Azure Stack Edge utilizzando Azure Key Vault
- Hub di Azure Stack: Ruotare i segreti
- Azure Web PubSub: Aggiungi un certificato personalizzato
- Backup: Configura un vault per criptare utilizzando chiavi gestite dal cliente
- Data Factory: Memorizzare le credenziali in Azure Key Vault
- ExpressRoute: Configura la crittografia MACsec per ExpressRoute Direct
- Funzioni: Usare riferimenti Key Vault per App Service e Funzioni di Azure
- Key Vault: informazioni sui segreti di Azure Key Vault
- Logic Apps: Impostazioni standard delle app Logic Apps
- Microsoft Purview: Credenziali per l'autenticazione sorgente in Microsoft Purview
- Service Fabric: Supporto KeyVaultReference per le applicazioni Service Fabric
- SQL Server su VM Azure: Configura l'integrazione di Azure Key Vault per SQL Server su VM Azure
- Archiviazione: Autorizzare l'accesso ai dati in Archiviazione di Azure
Passaggi successivi
Ridurre al minimo il rischio di sicurezza è una responsabilità condivisa. Prendi provvedimenti proattivi per assicurare i tuoi carichi di lavoro. Per altre informazioni, vedere Responsabilità condivisa nel cloud.
- Per altre procedure di sicurezza consigliate da usare nella progettazione, distribuzione e gestione di soluzioni cloud tramite Azure, vedere Procedure consigliate e modelli per la sicurezza di Azure.
- Consulta il Microsoft Cloud Security Benchmark v2: Controlli di accesso privilegiato per segreti completi, guide sugli accessi privilegiati e mappe Criteri di Azure.
- Scopri la Microsoft Secure Future Initiative, le migliori pratiche di sicurezza interna di Microsoft per proteggere identità e segreti che Microsoft raccomanda anche alle organizzazioni.
- Consultare la distribuzione Zero Trust per l'identità come guida per l'implementazione dei principi Zero Trust nella gestione delle identità e degli accessi.