SEC09-BP01 Implementazione della gestione sicura delle chiavi e dei certificati
I certificati Transport Layer Security (TLS) vengono utilizzati per proteggere le comunicazioni di rete e stabilire l'identità di siti web, risorse e carichi di lavoro su Internet, nonché sulle reti private.
Risultato desiderato: un sistema di gestione dei certificati sicuro in grado di fornire, implementare, archiviare e rinnovare i certificati in un'infrastruttura a chiave pubblica (PKI). Un meccanismo sicuro di gestione delle chiavi e dei certificati impedisce la divulgazione del materiale relativo alle chiavi private dei certificati e rinnova automaticamente il certificato su base periodica. Si integra inoltre con altri servizi per fornire comunicazioni di rete e identità sicure per le risorse delle macchine all'interno del carico di lavoro. Il materiale relativo alla chiave non dovrebbe mai essere accessibile alle identità umane.
Anti-pattern comuni:
-
Esecuzione di passaggi manuali durante i processi di distribuzione, implementazione o rinnovo dei certificati.
-
Attenzione insufficiente alla gerarchia delle autorità di certificazione (CA) durante la progettazione di una CA privata.
-
Utilizzo di certificati autofirmati per risorse pubbliche.
Vantaggi dell'adozione di questa best practice:
-
Semplificazione della gestione dei certificati attraverso la distribuzione, l'implementazione e il rinnovo automatizzati
-
Incoraggiamento dell'utilizzo della crittografia dei dati in transito con l'utilizzo di certificati TLS
-
Maggiore sicurezza e verificabilità delle operazioni di certificazione intraprese dall'autorità di certificazione
-
Organizzazione delle mansioni di gestione ai diversi livelli della gerarchia della CA
Livello di rischio associato se questa best practice non fosse adottata: alto
Guida all'implementazione
I carichi di lavoro moderni fanno ampio uso di comunicazioni di rete crittografate utilizzando protocolli PKI come TLS. La gestione dei certificati PKI può essere complessa, ma la fornitura, la distribuzione, l'implementazione e il rinnovo automatizzati dei certificati possono ridurre l'attrito associato alla loro gestione.
AWS fornisce due servizi per gestire i certificati PKI generici: AWS Certificate Manager e AWS Autorità di certificazione privata (AWS Private CA). ACM è il servizio principale utilizzato dai clienti per fornire, gestire e implementare certificati da utilizzare sia in carichi di lavoro di AWS pubblici che privati. ACM emette certificati utilizzando AWS Private CA e si integra con molti altri servizi AWS gestiti per fornire certificati TLS sicuri per i carichi di lavoro.
AWS Private CA consente di stabilire la propria autorità di certificazione principale o subordinata e di emettere certificati TLS tramite un'API. È possibile utilizzare questo tipo di certificati in scenari in cui si mantengono il controllo e la gestione della catena di fiducia sul lato client della connessione TLS. Oltre ai casi d'uso TLS, AWS Private CA può essere utilizzato per emettere certificati per i pod Kubernetes, gli attestati dei prodotti dei dispositivi Matter, la firma del codice e altri casi d'uso che prevedono un modello personalizzato. Puoi anche utilizzare la strategia di IAM Roles Anywhere per fornire credenziali temporanee IAM ai carichi di lavoro on-premise ai quali sono stati assegnati certificati X.509 firmati dalla tua CA privata.
Oltre a ACM e AWS Private CA, AWS IoT Core fornisce supporto specializzato per il provisioning, la gestione e l'implementazione di certificati PKI su dispositivi IoT. AWS IoT Core fornisce meccanismi specializzati per l’onboarding di dispositivi IoT nella tua infrastruttura a chiave pubblica su larga scala.
Considerazioni sulla creazione di una gerarchia CA privata
Quando è necessario stabilire una CA privata, è importante prestare particolare attenzione a progettare correttamente la gerarchia della CA fin dall'inizio. Quando si crea una gerarchia CA privata è consigliabile distribuire ogni livello della gerarchia CA su Account AWS separati. Questo passaggio intenzionale riduce l'estensione di ogni livello della gerarchia della CA, semplificando l'individuazione delle anomalie nei dati di log di CloudTrail e riducendo l'ambito di accesso o l'impatto in caso di accesso non autorizzato a uno degli account. La CA principale deve risiedere in un account separato e deve essere utilizzata solo per emettere uno o più certificati CA intermedi.
Quindi, crea una o più CA intermedie in account separati dall'account della CA principale per emettere certificati per utenti finali, dispositivi o altri carichi di lavoro. Infine, emetti certificati della tua CA principale a uso delle CA intermedie, che a loro volta emetteranno certificati per gli utenti finali o i dispositivi. Per ulteriori informazioni sulla pianificazione dell'implementazione della CA e sulla progettazione della gerarchia delle CA, inclusa la pianificazione della resilienza, la replica tra regioni, la condivisione delle CA all'interno dell'organizzazione e altro ancora, consulta Pianificazione dell'implementazione di AWS Private CA.
Passaggi dell'implementazione
-
Determina i servizi AWS pertinenti richiesti per il tuo caso d'uso:
-
Molti casi d'uso possono sfruttare l'infrastruttura a chiave pubblica AWS esistente utilizzando AWS Certificate Manager. ACM può essere utilizzato per implementare certificati TLS per server Web, sistemi di bilanciamento del carico o altri usi per certificati pubblicamente affidabili.
-
Considera il servizio AWS Private CA quando è necessario stabilire una gerarchia di autorità di certificazione privata o accedere a certificati esportabili. ACM può quindi essere utilizzato per emettere molti tipi di certificati dell'entità finale utilizzando AWS Private CA.
-
Per i casi d'uso in cui i certificati devono essere forniti su larga scala per dispositivi Internet delle cose (IoT) integrati, prendi in considerazione l'uso di AWS IoT Core.
-
-
Implementa il rinnovo automatico dei certificati quando possibile:
-
utilizza rinnovo gestito di ACM per i certificati emessi da ACM insieme ai servizi AWS gestiti integrati.
-
-
Stabilisci percorsi di registrazione e controllo:
-
Abilita log CloudTrail per tenere traccia degli accessi agli account che detengono le autorità di certificazione. Prendi in considerazione la possibilità di configurare la convalida dell'integrità dei file di log in CloudTrail per verificarne l'autenticità dei dati.
-
Genera e rivedi periodicamente rapporti di audit che elencano i certificati che la tua CA privata ha emesso o revocato. Questi report possono essere esportati in un bucket S3.
-
Quando si implementa una CA privata, è inoltre necessario creare un bucket S3 per archiviare l'elenco di revoche dei certificati (CRL). Per indicazioni sulla configurazione di questo bucket S3 in base ai requisiti del carico di lavoro, consulta Pianificazione di un elenco di revoche di certificati (CRL).
-
Risorse
Best practice correlate:
Documenti correlati:
Video correlati:
Esempi correlati:
-
Workshop sulla gestione dei dispositivi IOT
(incluso il provisioning dei dispositivi)
Strumenti correlati: