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: disponibilità di un meccanismo di gestione delle chiavi scalabile, ripetibile e automatizzato. Il meccanismo applica l'accesso con privilegio minimo al materiale relativo alle chiavi e offre il giusto equilibrio tra disponibilità, riservatezza e integrità delle chiavi. È possibile monitorare l'accesso alle chiavi e, se è necessaria la rotazione del materiale delle chiavi, tale operazione può essere eseguita tramite un processo automatizzato. L'accesso al materiale delle chiavi da parte di operatori umani non è consentito.
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 di accesso troppo ampie.
Vantaggi dell'adozione di questa best practice: predisponendo 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. Una soluzione efficace 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: elevato
Guida all'implementazione
La crittografia dei dati a riposo è un controllo di sicurezza fondamentale. 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
Nell'implementazione di carichi di lavoro mediante una strategia multi-account, le chiavi AWS KMS devono essere conservate nello stesso account del carico di lavoro che le utilizza. In questo modello distribuito la responsabilità della gestione delle chiavi AWS KMS spetta al tuo team. In altri casi d'uso, la tua organizzazione può 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 di accesso 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 della chiave e policy IAM. Le policy della chiave 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 tuo conto. Consulta le linee guida per il controllo degli accessi alle chiavi AWS KMS.
È necessario monitorare l'uso delle chiavi di crittografia per rilevare eventuali 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. Presta particolare attenzione al monitoraggio degli 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 eliminazione delle chiavi in AWS KMS sono soggetti a un periodo di attesa, che per impostazione predefinita è di 30 giorni (con un minimo di 7 giorni), così da garantire 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, occorre utilizzare la crittografia a busta per proteggere i tuoi dati. L'SDK di crittografia di AWS è in grado di fornire alle applicazioni primitive la crittografia lato client per implementare la crittografia a busta e integrarle con AWS KMS.
Passaggi dell'implementazione
-
Determina le opzioni di gestione delle chiavi adeguate (gestite da AWS o dal cliente) per la chiave.
-
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 della chiave.
-
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 l'archivio chiavi esterno.
-
-
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 gli 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.
-
Per informazioni dettagliate sulle opzioni di crittografia offerte da un servizio AWS, consulta l'argomento relativo alla crittografia dei dati a riposo nella guida per l'utente o nella guida per gli sviluppatori del servizio.
-
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.
-
Considera l'SDK di crittografia AWS: utilizza l'SDK di crittografia AWS con l'integrazione di AWS KMS quando la tua applicazione deve crittografare i dati lato client.
-
Abilita IAM Access Analyzer per rivedere e inviare notifiche in automatico se esistono policy della chiave AWS KMS eccessivamente permissive.
-
Valuta la possibilità di utilizzare controlli delle policy personalizzati per verificare che l'aggiornamento di una policy delle risorse non conceda l'accesso pubblico alle chiavi KMS.
-
-
Abilita Security Hub per ricevere notifiche in caso di policy della chiave configurate in modo errato, chiavi programmate per essere eliminate o chiavi senza la rotazione automatica abilitata.
-
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 la segregazione dell'attività di log di AWS KMS in un percorso separato. Per maggiori dettagli, consulta la sezione Logging AWS KMS API calls with CloudTrail della guida per gli sviluppatori AWS KMS.
-
Risorse
Documenti correlati:
Video correlati:
Esempi correlati: