AWS - Redshift Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Redshift è un servizio completamente gestito che può scalare fino a oltre un petabyte di dimensione, utilizzato come data warehouse per soluzioni di big data. Utilizzando i cluster Redshift, è possibile eseguire analisi sui propri dataset utilizzando strumenti di query basati su SQL e applicazioni di business intelligence per ottenere una maggiore comprensione della visione per la propria azienda.
Redshift offre crittografia a riposo utilizzando una gerarchia di chiavi di crittografia a quattro livelli utilizzando KMS o CloudHSM per gestire il livello superiore delle chiavi. Quando la crittografia è abilitata per il tuo cluster, non può essere disabilitata e viceversa. Quando hai un cluster non crittografato, non può essere crittografato.
La crittografia per il tuo cluster può avvenire solo durante la sua creazione e, una volta crittografati, i dati, i metadati e qualsiasi snapshot sono anch'essi crittografati. I livelli di gerarchia delle chiavi di crittografia sono i seguenti: il livello uno è la chiave master, il livello due è la chiave di crittografia del cluster, la CEK, il livello tre, la chiave di crittografia del database, la DEK, e infine il livello quattro, le chiavi di crittografia dei dati stesse.
Durante la creazione del tuo cluster, puoi selezionare la chiave KMS predefinita per Redshift o selezionare la tua CMK, che ti offre maggiore flessibilità nel controllo della chiave, specificamente da una prospettiva auditabile.
La chiave KMS predefinita per Redshift viene automaticamente creata da Redshift la prima volta che l'opzione della chiave viene selezionata e utilizzata, ed è completamente gestita da AWS.
Questa chiave KMS viene quindi crittografata con la chiave master CMK, livello uno. Questa chiave dati KMS crittografata viene quindi utilizzata come chiave di crittografia del cluster, la CEK, livello due. Questa CEK viene quindi inviata da KMS a Redshift dove viene memorizzata separatamente dal cluster. Redshift invia quindi questa CEK crittografata al cluster tramite un canale sicuro dove viene memorizzata in memoria.
Redshift richiede quindi a KMS di decrittografare la CEK, livello due. Questa CEK decrittografata viene quindi anch'essa memorizzata in memoria. Redshift crea quindi una chiave di crittografia del database casuale, la DEK, livello tre, e la carica nella memoria del cluster. La CEK decrittografata in memoria crittografa quindi la DEK, che è anch'essa memorizzata in memoria.
Questa DEK crittografata viene quindi inviata tramite un canale sicuro e memorizzata in Redshift separatamente dal cluster. Sia la CEK che la DEK sono ora memorizzate in memoria del cluster sia in forma crittografata che decrittografata. La DEK decrittografata viene quindi utilizzata per crittografare le chiavi dei dati, livello quattro, che vengono generate casualmente da Redshift per ogni blocco di dati nel database.
Puoi utilizzare AWS Trusted Advisor per monitorare la configurazione dei tuoi bucket Amazon S3 e assicurarti che il logging dei bucket sia abilitato, il che può essere utile per eseguire audit di sicurezza e tracciare i modelli di utilizzo in S3.
Le seguenti azioni consentono di concedere accesso ad altri account AWS al cluster:
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)