Translated ['src/pentesting-cloud/aws-security/aws-services/aws-kms-enum

This commit is contained in:
Translator
2025-07-03 14:54:14 +00:00
parent f11164973e
commit c94c1e5000

View File

@@ -31,7 +31,7 @@ Per **impostazione predefinita:**
- Fornisce all'**IAM dell'** **account AWS che possiede la chiave KMS accesso** per gestire l'accesso alla chiave KMS tramite IAM.
A differenza di altre politiche delle risorse AWS, una **politica della chiave KMS di AWS non fornisce automaticamente permessi a nessuno dei principi dell'account**. Per fornire permessi agli amministratori dell'account, **la politica della chiave deve includere una dichiarazione esplicita** che fornisca questo permesso, come questa.
A differenza di altre politiche delle risorse AWS, una **politica della chiave KMS non concede automaticamente permessi a nessuno dei principi dell'account**. Per concedere permessi agli amministratori dell'account, **la politica della chiave deve includere una dichiarazione esplicita** che fornisca questo permesso, come questa.
- Senza consentire all'account(`"AWS": "arn:aws:iam::111122223333:root"`) i permessi IAM non funzioneranno.
@@ -39,7 +39,7 @@ A differenza di altre politiche delle risorse AWS, una **politica della chiave K
**Senza questo permesso, le politiche IAM che consentono l'accesso alla chiave sono inefficaci**, sebbene le politiche IAM che negano l'accesso alla chiave siano ancora efficaci.
- **Riduce il rischio che la chiave diventi ingovernabile** fornendo permessi di controllo degli accessi agli amministratori dell'account, incluso l'utente root dell'account, che non può essere eliminato.
- **Riduce il rischio che la chiave diventi ingovernabile** dando permessi di controllo accesso agli amministratori dell'account, incluso l'utente root dell'account, che non può essere eliminato.
**Esempio di politica predefinita**:
```json
@@ -71,7 +71,7 @@ Proprietà di una politica:
Concessioni:
- Consente di delegare i propri permessi a un altro principale AWS all'interno del proprio account AWS. È necessario crearli utilizzando le API AWS KMS. Può essere indicato l'identificatore CMK, il principale beneficiario e il livello richiesto di operazione (Decrypt, Encrypt, GenerateDataKey...)
- Consente di delegare i propri permessi a un altro principale AWS all'interno del proprio account AWS. È necessario crearli utilizzando le API AWS KMS. Può essere indicato l'identificatore CMK, il principale beneficiario e il livello richiesto di operazione (Decrittografia, Crittografia, GeneraDataKey...)
- Dopo che la concessione è stata creata, vengono emessi un GrantToken e un GrantID
**Accesso**:
@@ -93,24 +93,24 @@ Amministratore delle chiavi per impostazione predefinita:
### Rotazione dei CMK
- Più a lungo la stessa chiave rimane in uso, più dati vengono crittografati con quella chiave, e se quella chiave viene compromessa, allora l'area di esplosione dei dati è a rischio. Inoltre, più a lungo la chiave è attiva, maggiore è la probabilità che venga compromessa.
- **KMS ruota le chiavi dei clienti ogni 365 giorni** (o puoi eseguire il processo manualmente quando vuoi) e **chiavi gestite da AWS ogni 3 anni** e questo tempo non può essere cambiato.
- **KMS ruota le chiavi dei clienti ogni 365 giorni** (o puoi eseguire il processo manualmente quando vuoi) e **le chiavi gestite da AWS ogni 3 anni** e questo tempo non può essere cambiato.
- **Le chiavi più vecchie vengono mantenute** per decrittografare i dati che sono stati crittografati prima della rotazione
- In caso di compromissione, ruotare la chiave non rimuoverà la minaccia poiché sarà possibile decrittografare tutti i dati crittografati con la chiave compromessa. Tuttavia, i **nuovi dati saranno crittografati con la nuova chiave**.
- Se il **CMK** è in stato di **disabilitato** o **in attesa di** **cancellazione**, KMS **non eseguirà una rotazione della chiave** fino a quando il CMK non sarà riabilitato o la cancellazione non sarà annullata.
- Se il **CMK** è in stato di **disabilitato** o **in attesa di** **cancellazione**, KMS **non eseguirà una rotazione della chiave** fino a quando il CMK non sarà riattivato o la cancellazione non sarà annullata.
#### Rotazione manuale
- È necessario **creare un nuovo CMK**, quindi, viene creato un nuovo CMK-ID, quindi dovrai **aggiornare** qualsiasi **applicazione** per **riferirsi** al nuovo CMK-ID.
- Per semplificare questo processo puoi **utilizzare alias per riferirti a un key-id** e poi semplicemente aggiornare la chiave a cui l'alias si riferisce.
- Devi **mantenere le vecchie chiavi per decrittografare i vecchi file** crittografati con esse.
- È necessario **creare un nuovo CMK**, quindi, viene creato un nuovo CMK-ID, quindi sarà necessario **aggiornare** qualsiasi **applicazione** per **riferirsi** al nuovo CMK-ID.
- Per semplificare questo processo, puoi **utilizzare alias per riferirti a un key-id** e poi aggiornare semplicemente la chiave a cui si riferisce l'alias.
- Devi **mantenere le vecchie chiavi per decrittografare i vecchi file** crittografati con essa.
Puoi importare chiavi dalla tua infrastruttura di chiavi on-premises.
### Altre informazioni rilevanti su KMS
KMS è tariffato per il numero di richieste di crittografia/decrittografia ricevute da tutti i servizi al mese.
KMS è tariffato in base al numero di richieste di crittografia/decrittografia ricevute da tutti i servizi al mese.
KMS ha piena audit e compliance **integrazione con CloudTrail**; qui puoi auditare tutte le modifiche effettuate su KMS.
KMS ha piena integrazione di audit e conformità **con CloudTrail**; qui puoi auditare tutte le modifiche effettuate su KMS.
Con la politica KMS puoi fare quanto segue:
@@ -118,7 +118,7 @@ Con la politica KMS puoi fare quanto segue:
- Limitare l'accesso ai sistemi per crittografare solo, decrittografare solo o entrambi
- Definire per abilitare i sistemi ad accedere alle chiavi attraverso le regioni (anche se non è raccomandato poiché un guasto nella regione che ospita KMS influenzerà la disponibilità dei sistemi in altre regioni).
Non puoi sincronizzare o spostare/copiare chiavi tra le regioni; puoi solo definire regole per consentire l'accesso tra le regioni.
Non puoi sincronizzare o spostare/copiare chiavi tra regioni; puoi solo definire regole per consentire l'accesso tra le regioni.
### Enumerazione
```bash
@@ -128,6 +128,11 @@ aws kms list-grants --key-id <id>
aws kms describe-key --key-id <id>
aws kms get-key-policy --key-id <id> --policy-name <name> # Default policy name is "default"
aws kms describe-custom-key-stores
# This script enumerates AWS KMS keys across all available regions.
for region in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do
echo -e "\n### Region: $region ###"; aws kms list-keys --region $region --query "Keys[].KeyId" --output text | tr '\t' '\n';
done
```
### Privesc