From 31240ee076163ec1e4813cd6e00b585ea2a17463 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 3 Jul 2025 14:54:14 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-services/aws-kms-enum --- .../aws-security/aws-services/aws-kms-enum.md | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-kms-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-kms-enum.md index 961abf9ac..c44a0a1a0 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-kms-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-kms-enum.md @@ -4,24 +4,24 @@ ## KMS - Usluga upravljanja ključevima -AWS Usluga upravljanja ključevima (AWS KMS) se predstavlja kao upravljana usluga, pojednostavljujući proces za korisnike da **kreiraju i upravljaju glavnim korisničkim ključevima** (CMK). Ovi CMK-ovi su ključni u enkripciji korisničkih podataka. Značajna karakteristika AWS KMS-a je da su CMK-ovi pretežno **zaštićeni hardverskim bezbednosnim modulima** (HSM), što poboljšava zaštitu enkripcijskih ključeva. +AWS Usluga upravljanja ključevima (AWS KMS) se predstavlja kao upravljana usluga, pojednostavljujući proces za korisnike da **kreiraju i upravljaju glavnim ključevima kupca** (CMK). Ovi CMK-ovi su ključni za enkripciju korisničkih podataka. Značajna karakteristika AWS KMS-a je da su CMK-ovi pretežno **zaštićeni hardverskim bezbednosnim modulima** (HSM), što poboljšava zaštitu enkripcijskih ključeva. -KMS koristi **simetričnu kriptografiju**. Ovo se koristi za **enkripciju informacija u mirovanju** (na primer, unutar S3). Ako treba da **enkriptujete informacije u prenosu**, morate koristiti nešto poput **TLS**. +KMS koristi **simetričnu kriptografiju**. Ovo se koristi za **enkripciju informacija u mirovanju** (na primer, unutar S3). Ako treba da **enkriptuješ informacije u prenosu**, moraš koristiti nešto poput **TLS**. KMS je **usluga specifična za region**. -**Administratori u Amazonu nemaju pristup vašim ključevima**. Ne mogu da povrate vaše ključeve i ne pomažu vam u enkripciji vaših ključeva. AWS jednostavno upravlja operativnim sistemom i osnovnom aplikacijom, a na nama je da upravljamo našim enkripcijskim ključevima i upravljamo kako se ti ključevi koriste. +**Administratori u Amazonu nemaju pristup tvojim ključevima**. Ne mogu da povrate tvoje ključeve i ne pomažu ti u enkripciji tvojih ključeva. AWS jednostavno upravlja operativnim sistemom i osnovnom aplikacijom, a na nama je da upravljamo našim enkripcijskim ključevima i upravljamo kako se ti ključevi koriste. -**Glavni korisnički ključevi** (CMK): Mogu enkriptovati podatke do 4KB veličine. Obično se koriste za kreiranje, enkripciju i dekripciju DEK-ova (Ključevi za enkripciju podataka). Zatim se DEK-ovi koriste za enkripciju podataka. +**Glavni ključevi kupca** (CMK): Mogu enkriptovati podatke do 4KB veličine. Obično se koriste za kreiranje, enkripciju i dekripciju DEK-ova (Ključevi za enkripciju podataka). Zatim se DEK-ovi koriste za enkripciju podataka. -Glavni korisnički ključ (CMK) je logička reprezentacija glavnog ključa u AWS KMS-u. Pored identifikatora glavnog ključa i drugih metapodataka, uključujući datum kreiranja, opis i stanje ključa, **CMK sadrži materijal ključa koji se koristi za enkripciju i dekripciju podataka**. Kada kreirate CMK, po defaultu, AWS KMS generiše materijal ključa za taj CMK. Međutim, možete odabrati da kreirate CMK bez materijala ključa i zatim uvezete svoj materijal ključa u taj CMK. +Glavni ključ kupca (CMK) je logička reprezentacija glavnog ključa u AWS KMS-u. Pored identifikatora glavnog ključa i drugih metapodataka, uključujući datum kreiranja, opis i stanje ključa, **CMK sadrži materijal ključa koji se koristi za enkripciju i dekripciju podataka**. Kada kreiraš CMK, po defaultu, AWS KMS generiše materijal ključa za taj CMK. Međutim, možeš izabrati da kreiraš CMK bez materijala ključa i zatim uvezeš svoj materijal ključa u taj CMK. Postoje 2 tipa glavnih ključeva: -- **AWS upravljani CMK-ovi: Koriste ih druge usluge za enkripciju podataka**. Koristi ih usluga koja ih je kreirala u regionu. Kreiraju se prvi put kada implementirate enkripciju u toj usluzi. Rotiraju se svake 3 godine i nije moguće promeniti ih. -- **CMK-ovi koje upravlja korisnik**: Fleksibilnost, rotacija, konfigurisani pristup i politika ključeva. Omogućavanje i onemogućavanje ključeva. +- **AWS upravljani CMK-ovi: Koriste ih druge usluge za enkripciju podataka**. Koristi ih usluga koja ih je kreirala u regionu. Kreiraju se prvi put kada implementiraš enkripciju u toj usluzi. Rotiraju se svake 3 godine i nije moguće promeniti ih. +- **CMK-ovi koje upravlja kupac**: Fleksibilnost, rotacija, konfigurisani pristup i politika ključeva. Omogućavanje i onemogućavanje ključeva. -**Enkripcija u omotu** u kontekstu Usluge upravljanja ključevima (KMS): Dvostepeni hijerarhijski sistem za **enkripciju podataka sa ključem podataka i zatim enkripciju ključa podataka sa glavnim ključem**. +**Enkripcija u omotu** u kontekstu Usluge upravljanja ključevima (KMS): Dvotierni hijerarhijski sistem za **enkripciju podataka sa ključem podataka i zatim enkripciju ključa podataka sa glavnim ključem**. ### Politike ključeva @@ -31,7 +31,7 @@ Po **defaultu:** - Daje **IAM-u** **AWS naloga koji poseduje KMS ključ pristup** za upravljanje pristupom KMS ključu putem IAM-a. -Za razliku od drugih politika resursa AWS-a, politika **KMS ključa ne daje automatski dozvolu bilo kojem od principala naloga**. Da biste dali dozvolu administratorima naloga, **politika ključa mora uključivati eksplicitnu izjavu** koja pruža ovu dozvolu, poput ove. +Za razliku od drugih politika resursa AWS-a, politika **KMS ključa ne daje automatski dozvolu bilo kojem od principala naloga**. Da bi se dala dozvola administratorima naloga, **politika ključa mora uključivati eksplicitnu izjavu** koja pruža ovu dozvolu, poput ove. - Bez omogućavanja naloga(`"AWS": "arn:aws:iam::111122223333:root"`) IAM dozvole neće raditi. @@ -65,13 +65,13 @@ Osobine politike: - Dokument zasnovan na JSON-u - Resurs --> Pogođeni resursi (može biti "\*") - Akcija --> kms:Encrypt, kms:Decrypt, kms:CreateGrant ... (dozvole) -- Efekat --> Dozvoli/Odbij +- Efekat --> Dozvoli/Zabraniti - Principal --> arn pogođen - Uslovi (opciono) --> Uslov za davanje dozvola Grantovi: -- Dozvoljava delegiranje vaših dozvola drugom AWS principalu unutar vašeg AWS naloga. Morate ih kreirati koristeći AWS KMS API-je. Može se naznačiti identifikator CMK, principal koji dobija grant i potrebni nivo operacije (Decrypt, Encrypt, GenerateDataKey...) +- Dozvoljava delegiranje vaših dozvola drugom AWS principalu unutar vašeg AWS naloga. Morate ih kreirati koristeći AWS KMS API-je. Može se naznačiti identifikator CMK, principal koji dobija i potrebni nivo operacije (Decrypt, Encrypt, GenerateDataKey...) - Nakon što je grant kreiran, izdaju se GrantToken i GrantID **Pristup**: @@ -87,12 +87,12 @@ Grantovi: Administrator ključeva po defaultu: - Ima pristup za upravljanje KMS-om, ali ne i za enkripciju ili dekripciju podataka -- Samo IAM korisnici i uloge mogu biti dodati na listu administratora ključeva (ne grupe) -- Ako se koristi eksterni CMK, administratori ključeva imaju dozvolu da uvezu materijal ključa +- Samo IAM korisnici i uloge mogu biti dodati na listu Administratora ključeva (ne grupe) +- Ako se koristi eksterni CMK, Administratori ključeva imaju dozvolu da uvezu materijal ključa ### Rotacija CMK-ova -- Što duže ostane isti ključ, to više podataka se enkriptuje tim ključem, a ako taj ključ bude kompromitovan, šira oblast podataka je u riziku. Pored toga, što duže ključ bude aktivan, verovatnoća da će biti kompromitovan raste. +- Što duže isti ključ ostane na mestu, to više podataka se enkriptuje tim ključem, a ako taj ključ bude kompromitovan, šira oblast podataka je u opasnosti. Pored toga, što duže ključ bude aktivan, verovatnoća da će biti kompromitovan raste. - **KMS rotira korisničke ključeve svake 365 dana** (ili možete izvršiti proces ručno kad god želite) i **ključeve koje upravlja AWS svake 3 godine** i ovaj put se ne može promeniti. - **Stariji ključevi se čuvaju** za dekripciju podataka koji su enkriptovani pre rotacije - U slučaju kompromitacije, rotacija ključa neće ukloniti pretnju jer će biti moguće dekriptovati sve podatke enkriptovane kompromitovanim ključem. Međutim, **novi podaci će biti enkriptovani novim ključem**. @@ -101,7 +101,7 @@ Administrator ključeva po defaultu: #### Ručna rotacija - **Novi CMK treba da bude kreiran**, zatim se kreira novi CMK-ID, tako da ćete morati da **ažurirate** svaku **aplikaciju** da **referencira** novi CMK-ID. -- Da biste ovaj proces olakšali, možete **koristiti alias da se pozovete na key-id** i zatim samo ažurirati ključ na koji se alias odnosi. +- Da biste ovaj proces olakšali, možete **koristiti alias za referenciranje ID ključa** i zatim samo ažurirati ključ na koji alias se odnosi. - Morate **čuvati stare ključeve za dekripciju starih fajlova** enkriptovanih tim ključem. Možete uvesti ključeve iz vaše lokalne infrastrukture ključeva. @@ -116,7 +116,7 @@ Sa KMS politikom možete učiniti sledeće: - Ograničiti ko može kreirati ključeve podataka i koje usluge imaju pristup korišćenju ovih ključeva - Ograničiti pristup sistemima samo za enkripciju, samo za dekripciju ili oboje -- Definisati da omogućite sistemima pristup ključevima širom regiona (iako se ne preporučuje jer bi neuspeh u regionu koji hostuje KMS uticao na dostupnost sistema u drugim regionima). +- Definisati da omogućite sistemima pristup ključevima širom regiona (iako se ne preporučuje jer će kvar u regionu koji hostuje KMS uticati na dostupnost sistema u drugim regionima). Ne možete sinhronizovati ili premestiti/kopirati ključeve između regiona; možete samo definisati pravila za omogućavanje pristupa između regiona. @@ -128,6 +128,11 @@ aws kms list-grants --key-id aws kms describe-key --key-id aws kms get-key-policy --key-id --policy-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