SEC08-BP01 Implementazione della gestione sicura delle chiavi - Pilastro della sicurezza

SEC08-BP01 Implementazione della gestione sicura delle chiavi

La gestione sicura delle chiavi include l'archiviazione, la rotazione, il controllo degli accessi e il monitoraggio del materiale relativo alla chiave necessario per proteggere i dati a riposo per il carico di lavoro.

Risultato desiderato: Un meccanismo di gestione delle chiavi dimensionabile, ripetibile e automatizzato. Il meccanismo dovrebbe fornire la possibilità di applicare l'accesso con il privilegio minimo al materiale relativo alla chiave e offrire il giusto equilibrio tra disponibilità, riservatezza e integrità delle chiavi. L'accesso alle chiavi deve essere monitorato e il materiale relativo alla chiave deve essere ruotato utilizzando un processo automatizzato. Il materiale relativo alla chiave non dovrebbe mai essere accessibile alle identità umane.

Anti-pattern comuni:

  • Accesso umano a materiale relativo alla chiave non crittografato.

  • Creazione di algoritmi crittografici personalizzati.

  • Autorizzazioni di accesso al materiale relativo alla chiave troppo ampie.

Vantaggi dell'adozione di questa best practice: Attraverso un meccanismo di gestione delle chiavi sicuro per il tuo carico di lavoro, puoi contribuire a proteggere i contenuti dagli accessi non autorizzati. Inoltre, la crittografia dei dati potrebbe essere prevista da requisiti normativi per la tua organizzazione. Un'efficace soluzione di gestione delle chiavi può fornire meccanismi tecnici finalizzati alla protezione del materiale relativo alle chiavi in linea con tali normative.

Livello di rischio associato se questa best practice non fosse adottata: alto

Guida all'implementazione

Molti requisiti normativi e best practice includono la crittografia dei dati a riposo come controllo di sicurezza fondamentale. Per garantire la conformità, il carico di lavoro necessita di un meccanismo per archiviare e gestire in modo sicuro il materiale relativo alla chiave utilizzato per crittografare i dati a riposo.

AWS offre AWS Key Management Service (AWS KMS) per fornire uno spazio di archiviazione durevole, sicuro e ridondante per le chiavi AWS KMS. Molti servizi AWS si integrano con AWS KMS per supportare la crittografia dei dati. AWS KMS utilizza moduli di sicurezza hardware conformi allo standard FIPS 140-2 di livello 3 per proteggere le chiavi. Non esiste un meccanismo per esportare le chiavi AWS KMS convertendole in testo semplice.

Quando si distribuiscono carichi di lavoro utilizzando una strategia multi-account, una best practice è quella di mantenere le chiavi AWS KMS nello stesso account del carico di lavoro che le utilizza. In questo modello distribuito, la responsabilità della gestione delle chiavi AWS KMS spetta al team applicativo. In altri casi d'uso, le organizzazioni possono scegliere di archiviare le chiavi AWS KMS in un account centralizzato. Questa struttura centralizzata richiede policy aggiuntive per consentire l'accesso multi-account richiesto affinché l'account del carico di lavoro possa accedere alle chiavi archiviate nell'account centralizzato, ma può essere più applicabile nei casi d'uso in cui una singola chiave è condivisa tra Account AWS multipli.

Indipendentemente dalla posizione in cui è archiviato il materiale relativo alla chiave, l'accesso alla chiave deve essere strettamente controllato mediante l'uso di policy delle chiavi e policy IAM. Le policy delle chiavi costituiscono la modalità principale per controllare l'accesso a una chiave AWS KMS. Inoltre, AWS KMS garantisce che le chiavi possano fornire l'accesso ai servizi AWS per crittografare e decrittografare i dati per conto dell'utente. Prenditi del tempo per rivedere le best practice per il controllo degli accessi alle chiavi AWS KMS.

Una best practice è quella di monitorare l'uso delle chiavi di crittografia per rilevare modelli di accesso insoliti. Le operazioni eseguite utilizzando chiavi gestite da AWS e chiavi gestite dal cliente archiviate in AWS KMS, possono essere registrate in AWS CloudTrail e devono essere riviste periodicamente. Occorre prestare particolare attenzione al monitoraggio dei principali eventi di eliminazione delle chiavi. Per ridurre le probabilità di distruzione accidentale o dolosa del materiale relativo alla chiave, gli eventi di eliminazione delle chiavi non hanno efficacia immediata. I tentativi di eliminare le chiavi in AWS KMS sono soggetti a un periodo di attesa, che per impostazione predefinita è di 30 giorni, dando agli amministratori il tempo di rivedere queste azioni e annullare la richiesta, se necessario.

La maggior parte dei servizi AWS utilizza AWS KMS secondo una modalità chiara per te: il tuo unico requisito è decidere se utilizzare una chiave gestita da AWS o dal cliente. Se il carico di lavoro richiede l'uso diretto di AWS KMS per crittografare o decrittografare i dati, la best practice è utilizzare la crittografia a busta per proteggere i dati. Il comando SDK di crittografia AWS è in grado di fornire alle applicazioni primitive crittografiche lato client per implementare la crittografia a busta e integrarle con AWS KMS.

Passaggi dell'implementazione

  1. Determina le opzioni di gestione della chiave appropriate (gestita da AWS o gestita dal cliente).

    • Per facilitare l'uso, AWS offre chiavi AWS di proprietà e gestite da AWS per la maggior parte dei servizi, fornendo funzionalità di crittografia a riposo senza la necessità di gestire il materiale o le policy delle chiavi.

    • Quando utilizzi chiavi gestite dal cliente, prendi in considerazione il keystore predefinito per fornire il miglior equilibrio tra agilità, sicurezza, sovranità dei dati e disponibilità. Per altri casi d'uso può essere richiesto l'uso di archivi di chiavi personalizzati con AWS CloudHSM o di un archivio chiavi esterno.

  2. Consulta l'elenco dei servizi che stai utilizzando per il tuo carico di lavoro per capire come AWS KMS si integra con il servizio. Ad esempio, le istanze EC2 possono utilizzare volumi EBS crittografati; verifica che anche le snapshot Amazon EBS create da tali volumi siano crittografate utilizzando una chiave gestita dal cliente e mitigando la divulgazione accidentale di dati di snapshot non crittografati.

    • Come i servizi AWS utilizzano AWS KMS

    • Per informazioni dettagliate sulle opzioni di crittografia offerte da un servizio AWS, consulta l'argomento Crittografia a riposo nella guida per l'utente o nella guida per sviluppatori del servizio.

  3. Implementa AWS KMS: AWS KMS semplifica la creazione e la gestione delle chiavi e controlla l'uso della crittografia in un'ampia gamma di servizi AWS e nelle tue applicazioni.

  4. Considera AWS Encryption SDK: utilizza l'AWS Encryption SDK con l'integrazione di AWS KMS quando la tua applicazione deve crittografare i dati lato client.

  5. Abilita IAM Access Analyzer per rivedere e inviare notifiche automaticamente se esistono policy delle chiavi AWS KMS eccessivamente permissive.

  6. Abilita Security Hub per ricevere notifiche in caso di policy delle chiavi configurate in modo errato, chiavi programmate per essere eliminate o chiavi senza la rotazione automatica abilitata.

  7. Determina il livello di log appropriato per le tue chiavi AWS KMS. Poiché le chiamate a AWS KMS, inclusi gli eventi di sola lettura, vengono registrate, i log CloudTrail associati a AWS KMS possono diventare voluminosi.

    • Alcune organizzazioni preferiscono separare l'attività di log di AWS KMS in un percorso separato. Per ulteriori informazioni, consulta la sezione Log delle chiamate API AWS KMS con CloudTrail della guida per gli sviluppatori AWS KMS.

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: