SEC09-BP01 Implementazione della gestione sicura delle chiavi e dei certificati - Pilastro della sicurezza

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 in automatico 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: elevato

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 gli ostacoli associati alla loro gestione.

AWS fornisce due servizi per la gestione dei certificati PKI generici: AWS Certificate Manager e AWS Private Certificate Authority (AWS Private CA). ACM è il servizio principale utilizzato dai clienti per fornire, gestire e implementare certificati da utilizzare in carichi di lavoro pubblici e privati AWS. ACM rilascia certificati medianteAWS Private CA e si integra con diversi altri servizi AWS gestiti per mettere a disposizione 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 attendibilità sul lato client della connessione TLS. Oltre ai casi d'uso TLS, AWS Private CA consente di 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 usare IAM Roles Anywhere per fornire credenziali IAM temporanee ai carichi di lavoro on-premises 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 offre meccanismi specializzati per l'onboarding dei dispositivi IoT nella tua infrastruttura a chiave pubblica su larga scala.

Considerazioni sulla creazione di una gerarchia CA privata

Quando occorre stabilire una CA privata, è importante prestare particolare attenzione a progettare in modo corretto la gerarchia della CA fin dall'inizio. Nella creazione di una gerarchia CA privata, è consigliabile distribuire ciascun 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 va utilizzata solo per l'emissione di 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 Planning your AWS Private CA deployment.

Passaggi dell'implementazione

  1. 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 consente di implementare certificati TLS per server Web, bilanciatori del carico o altri usi per certificati pubblicamente affidabili.

    • Prendi in considerazione AWS Private CA se occorre stabilire una gerarchia di autorità di certificazione privata o accedere a certificati esportabili. ACM può quindi essere utilizzato per emettere molti tipi di certificati di 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.

  2. Implementa il rinnovo automatico dei certificati quando possibile:

  3. Stabilisci la creazione di log e audit trail:

    • Abilita i 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.

    • Crea e rivedi a cadenza periodica report di audit che elencano i certificati emessi o revocati dalla tua CA privata. 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 Planning a certificate revocation list (CRL).

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Esempi correlati:

Strumenti correlati: