Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA

This commit is contained in:
Translator
2025-02-11 17:17:58 +00:00
parent 7ba0118002
commit 4996957bb0
32 changed files with 229 additions and 216 deletions

View File

@@ -48,9 +48,9 @@ Jedini način da se to zaobiđe je da se kompromituje i **glavni nalog** koji ko
> [!WARNING]
> Imajte na umu da **SCP-ovi samo ograničavaju principe u nalogu**, tako da drugi nalozi nisu pogođeni. To znači da imati SCP koji odbija `s3:GetObject` neće sprečiti ljude da **pristupaju javnom S3 bucket-u** u vašem nalogu.
SCP primeri:
Primeri SCP-a:
- Odbijanje root naloga u potpunosti
- Odbijanje glavnog naloga u potpunosti
- Dozvoliti samo specifične regione
- Dozvoliti samo usluge sa bele liste
- Odbijanje GuardDuty, CloudTrail i S3 Public Block Access od
@@ -102,7 +102,7 @@ Sa bezbednosnog stanovišta, preporučuje se kreiranje drugih korisnika i izbega
### [IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) <a href="#id_iam-users" id="id_iam-users"></a>
IAM _korisnik_ je entitet koji kreirate u AWS-u da **predstavlja osobu ili aplikaciju** koja ga koristi za **interakciju sa AWS-om**. Korisnik u AWS-u se sastoji od imena i kredencijala (lozinka i do dva pristupna ključa).
IAM _korisnik_ je entitet koji kreirate u AWS-u da **predstavlja osobu ili aplikaciju** koja ga koristi za **interakciju sa AWS-om**. Korisnik u AWS-u se sastoji od imena i akreditiva (lozinka i do dva pristupna ključa).
Kada kreirate IAM korisnika, dodeljujete mu **dozvole** tako što ga činite **članom korisničke grupe** koja ima odgovarajuće politike dozvola (preporučeno), ili **direktno povezivanjem politika** sa korisnikom.
@@ -114,7 +114,7 @@ Korisnici mogu imati **MFA omogućeno za prijavu** putem konzole. API tokeni kor
- **ID tajnog pristupnog ključa**: 40 nasumičnih velikih i malih karaktera: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Nije moguće povratiti izgubljene ID-ove tajnog pristupnog ključa).
Kad god trebate da **promenite pristupni ključ**, ovo je proces koji treba da pratite:\
_Kreirajte novi pristupni ključ -> Primijenite novi ključ na sistem/aplikaciju -> označite originalni kao neaktivan -> Testirajte i verifikujte da novi pristupni ključ radi -> Obrišite stari pristupni ključ_
_Kreirajte novi pristupni ključ -> Primijenite novi ključ na sistem/aplikaciju -> označite originalni kao neaktivan -> Testirajte i proverite da li novi pristupni ključ radi -> Obrišite stari pristupni ključ_
### MFA - Višefaktorska autentifikacija
@@ -128,7 +128,7 @@ Politike sa MFA uslovima mogu se povezati sa sledećim:
- Politika poverenja IAM uloge koja može biti preuzeta od strane korisnika
Ako želite da **pristupite putem CLI** resursu koji **proverava MFA**, morate pozvati **`GetSessionToken`**. To će vam dati token sa informacijama o MFA.\
Napomena da **`AssumeRole` kredencijali ne sadrže ove informacije**.
Napomena da **`AssumeRole` akreditivi ne sadrže ove informacije**.
```bash
aws sts get-session-token --serial-number <arn_device> --token-code <code>
```
@@ -149,17 +149,17 @@ Evo nekih važnih karakteristika korisničkih grupa:
### [IAM uloge](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) <a href="#id_iam-roles" id="id_iam-roles"></a>
IAM **uloga** je vrlo **slična** **korisniku**, jer je to **identitet sa politikama dozvola koje određuju šta** može i ne može da radi u AWS-u. Međutim, uloga **nema nikakve akreditive** (lozinku ili pristupne ključeve) povezane sa njom. Umesto da bude jedinstveno povezana sa jednom osobom, uloga je namenjena da bude **preuzeta od strane bilo koga ko je treba (i ima dovoljno dozvola)**. **IAM korisnik može preuzeti ulogu da privremeno** preuzme različite dozvole za određeni zadatak. Uloga može biti **dodeljena** [**federisanom korisniku**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) koji se prijavljuje koristeći eksternog provajdera identiteta umesto IAM-a.
IAM **uloga** je vrlo **slična** **korisniku**, jer je to **identitet sa politikama dozvola koje određuju šta** može i ne može da radi u AWS-u. Međutim, uloga **nema nikakve kredencijale** (lozinku ili pristupne ključeve) povezane sa njom. Umesto da bude jedinstveno povezana sa jednom osobom, uloga je namenjena da bude **preuzeta od strane bilo koga ko je treba (i ima dovoljno dozvola)**. **IAM korisnik može preuzeti ulogu da privremeno** preuzme različite dozvole za određeni zadatak. Uloga može biti **dodeljena** [**federisanom korisniku**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) koji se prijavljuje koristeći eksternog provajdera identiteta umesto IAM-a.
IAM uloga se sastoji od **dvaju tipova politika**: **politika poverenja**, koja ne može biti prazna, definišući **ko može preuzeti** ulogu, i **politika dozvola**, koja ne može biti prazna, definišući **šta može pristupiti**.
#### AWS Security Token Service (STS)
AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privremenih, ograničenih privilegija akreditiva**. Specijalno je prilagođen za:
AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privremenih, ograničenih privilegija kredencijala**. Specijalno je prilagođen za:
### [Privremeni akreditivi u IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) <a href="#id_temp-creds" id="id_temp-creds"></a>
### [Privremeni kredencijali u IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) <a href="#id_temp-creds" id="id_temp-creds"></a>
**Privremeni akreditivi se prvenstveno koriste sa IAM ulogama**, ali postoje i druge upotrebe. Možete zatražiti privremene akreditive koji imaju ograničeniji skup dozvola nego vaš standardni IAM korisnik. Ovo **sprečava** vas da **slučajno izvršavate zadatke koji nisu dozvoljeni** sa ograničenim akreditivima. Prednost privremenih akreditiva je ta što automatski ističu nakon određenog vremenskog perioda. Imate kontrolu nad trajanjem tokom kojeg su akreditivi validni.
**Privremeni kredencijali se prvenstveno koriste sa IAM ulogama**, ali postoje i druge upotrebe. Možete zatražiti privremene kredencijale koji imaju ograničeniji skup dozvola nego vaš standardni IAM korisnik. Ovo **sprečava** vas da **slučajno izvršavate zadatke koji nisu dozvoljeni** od strane ograničenih kredencijala. Prednost privremenih kredencijala je što automatski ističu nakon određenog vremenskog perioda. Imate kontrolu nad trajanjem tokom kojeg su kredencijali validni.
### Politike
@@ -168,10 +168,10 @@ AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privre
Koriste se za dodeljivanje dozvola. Postoje 2 tipa:
- AWS upravljane politike (prekonfigurisane od strane AWS-a)
- Politike upravljane od strane korisnika: Konfigurišete ih vi. Možete kreirati politike zasnovane na AWS upravljanim politikama (modifikujući jednu od njih i kreirajući svoju), koristeći generator politika (GUI prikaz koji vam pomaže u dodeljivanju i odbijanju dozvola) ili pišući svoje.
- Politike koje upravlja korisnik: Konfigurišete ih vi. Možete kreirati politike zasnovane na AWS upravljanim politikama (modifikujući jednu od njih i kreirajući svoju), koristeći generator politika (GUI prikaz koji vam pomaže u dodeljivanju i odbijanju dozvola) ili pišući svoje.
Po **podrazumevanju, pristup** je **odbijen**, pristup će biti odobren ako je eksplicitna uloga navedena.\
Ako **jedna "Deny" postoji, ona će nadjačati "Allow"**, osim za zahteve koji koriste korenske bezbednosne akreditive AWS naloga (koji su podrazumevano dozvoljeni).
Ako **jedan "Deny" postoji, on će nadjačati "Allow"**, osim za zahteve koji koriste korenske sigurnosne kredencijale AWS naloga (koji su podrazumevano dozvoljeni).
```javascript
{
"Version": "2012-10-17", //Version of the policy
@@ -194,33 +194,33 @@ Ako **jedna "Deny" postoji, ona će nadjačati "Allow"**, osim za zahteve koji k
]
}
```
[global fields that can be used for conditions in any service are documented here](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\
[specific fields that can be used for conditions per service are documented here](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
[Globalna polja koja se mogu koristiti za uslove u bilo kojoj usluzi su dokumentovana ovde](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\
[Specifična polja koja se mogu koristiti za uslove po usluzi su dokumentovana ovde](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
#### Inline Policies
#### Inline Politike
Ova vrsta politika je **direktno dodeljena** korisniku, grupi ili ulozi. Tada se ne pojavljuju na listi politika kao što to može biti slučaj sa drugim politikama.\
Inline politike su korisne ako želite da **održite strogu jedan-na-jedan vezu između politike i identiteta** na koji se primenjuju. Na primer, želite da budete sigurni da dozvole u politici nisu nenamerno dodeljene identitetu osim onog za koji su namenjene. Kada koristite inline politiku, dozvole u politici ne mogu biti nenamerno povezane sa pogrešnim identitetom. Pored toga, kada koristite AWS Management Console za brisanje tog identiteta, politike ugrađene u identitet se takođe brišu. To je zato što su deo glavne entiteta.
Ova vrsta politika je **direktno dodeljena** korisniku, grupi ili ulozi. Tada se ne pojavljuju na listi politika jer ih može koristiti bilo ko drugi.\
Inline politike su korisne ako želite da **održite strogu jedan-na-jedan vezu između politike i identiteta** na koji se primenjuju. Na primer, želite da budete sigurni da dozvole u politici nisu nenamerno dodeljene identitetu osim onom za koji su namenjene. Kada koristite inline politiku, dozvole u politici ne mogu biti nenamerno prikačene na pogrešan identitet. Pored toga, kada koristite AWS Management Console za brisanje tog identiteta, politike ugrađene u identitet se takođe brišu. To je zato što su deo glavne entiteta.
#### Resource Bucket Policies
#### Politike Resursnog Kante
Ovo su **politike** koje se mogu definisati u **resursima**. **Nisu svi resursi AWS-a podržavaju njih**.
Ako glavni entitet nema eksplicitnu zabranu na njih, a politika resursa im daje pristup, tada su im dozvoljeni.
Ako glavni entitet nema eksplicitnu zabranu na njih, a politika resursa im daje pristup, tada su dozvoljeni.
### IAM Boundaries
### IAM Granice
IAM granice se mogu koristiti za **ograničavanje dozvola kojima korisnik ili uloga treba da imaju pristup**. Na ovaj način, čak i ako se korisniku dodeli drugačiji skup dozvola putem **druge politike**, operacija će **neuspeti** ako pokuša da ih koristi.
Granica je samo politika koja je povezana sa korisnikom i **ukazuje na maksimalni nivo dozvola koje korisnik ili uloga mogu imati**. Dakle, **čak i ako korisnik ima Administrator pristup**, ako granica ukazuje da može samo da čita S· kante, to je maksimum što može da uradi.
Granica je samo politika prikačena za korisnika koja **ukazuje na maksimalni nivo dozvola koje korisnik ili uloga mogu imati**. Dakle, **čak i ako korisnik ima Administrator pristup**, ako granica ukazuje da može samo da čita S· kante, to je maksimum što može da uradi.
**Ovo**, **SCPs** i **pridržavanje principa najmanjih privilegija** su načini da se kontroliše da korisnici nemaju više dozvola nego što im je potrebno.
**Ovo**, **SCP-ovi** i **pridržavanje principa najmanjih privilegija** su načini da se kontroliše da korisnici nemaju više dozvola nego što im je potrebno.
### Session Policies
### Politike Sesije
Politika sesije je **politika postavljena kada se neka uloga preuzme** na neki način. Ovo će biti kao **IAM granica za tu sesiju**: To znači da politika sesije ne dodeljuje dozvole, već **ograničava ih na one koje su navedene u politici** (maksimalne dozvole su one koje uloga ima).
Politika sesije je **politika postavljena kada se neka uloga preuzme** na neki način. Ovo će biti kao **IAM granica za tu sesiju**: To znači da politika sesije ne dodeljuje dozvole, već **ograničava ih na one navedene u politici** (maksimalne dozvole su one koje uloga ima).
Ovo je korisno za **bezbednosne mere**: Kada administrator preuzima veoma privilegovanu ulogu, mogao bi da ograniči dozvole samo na one koje su navedene u politici sesije u slučaju da sesija bude kompromitovana.
Ovo je korisno za **bezbednosne mere**: Kada administrator preuzima veoma privilegovanu ulogu, mogao bi da ograniči dozvolu samo na one navedene u politici sesije u slučaju da sesija bude kompromitovana.
```bash
aws sts assume-role \
--role-arn <value> \
@@ -263,14 +263,14 @@ Da bi se omogućio pristup korisniku/grupi Identitetnog Centra do naloga, **SAML
#### AwsSSOInlinePolicy
Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identitetnog Centra**. Uloge kreirane u nalozima koje dobijaju **inline politike u AWS Identitetnom Centru** će imati te dozvole u inline politici pod nazivom **`AwsSSOInlinePolicy`**.
Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identitetnog Centra**. Uloge kreirane u nalozima koje dobijaju **inline politike u AWS Identitetnom Centru** će imati ove dozvole u inline politici pod nazivom **`AwsSSOInlinePolicy`**.
Stoga, čak i ako vidite 2 uloge sa inline politikom pod nazivom **`AwsSSOInlinePolicy`**, to **ne znači da imaju iste dozvole**.
### Cross Account Trusts and Roles
**Korisnik** (verujući) može kreirati Cross Account ulogu sa nekim politikama i zatim **dozvoliti drugom korisniku** (pouzdanom) da **pristupi njegovom nalogu** ali samo **imajući pristup naveden u novim politikama uloge**. Da biste to kreirali, jednostavno kreirajte novu ulogu i izaberite Cross Account ulogu. Uloge za pristup između naloga nude dve opcije. Pružanje pristupa između AWS naloga koje posedujete, i pružanje pristupa između naloga koji posedujete i trećeg AWS naloga.\
Preporučuje se da **precizirate korisnika koji je pouzdan i ne stavljate nešto generičko** jer u suprotnom, drugi autentifikovani korisnici poput federisanih korisnika će takođe moći da zloupotrebe ovo poverenje.
**Korisnik** (verujući) može kreirati Cross Account ulogu sa nekim politikama i zatim, **dozvoliti drugom korisniku** (pouzdanom) da **pristupi njegovom nalogu** ali samo **imajući pristup naveden u novim politikama uloge**. Da biste to kreirali, jednostavno kreirajte novu ulogu i izaberite Cross Account ulogu. Uloge za pristup između AWS naloga koje posedujete nude dve opcije. Pružanje pristupa između AWS naloga koje posedujete, i pružanje pristupa između naloga koji posedujete i trećeg AWS naloga.\
Preporučuje se da **precizirate korisnika koji je pouzdan i ne stavljate neku generičku stvar** jer u suprotnom, drugi autentifikovani korisnici poput federisanih korisnika će takođe moći da zloupotrebe ovo poverenje.
### AWS Simple AD
@@ -290,10 +290,10 @@ Aplikacija koristi AssumeRoleWithWebIdentity za kreiranje privremenih akreditiva
### Ostale IAM opcije
- Možete **postaviti podešavanje politike lozinke** kao što su minimalna dužina i zahtevi za lozinkom.
- Možete **preuzeti "Izveštaj o akreditivima"** sa informacijama o trenutnim akreditivima (kao što su vreme kreiranja korisnika, da li je lozinka omogućena...). Možete generisati izveštaj o akreditivima koliko često želite, čak i jednom svaka **četiri sata**.
- Možete **postaviti podešavanje politike lozinke** kao što su minimalna dužina i zahtevi za lozinku.
- Možete **preuzeti "Izveštaj o akreditivima"** sa informacijama o trenutnim akreditivima (kao što su vreme kreiranja korisnika, da li je lozinka omogućena...). Možete generisati izveštaj o akreditivima koliko često želite, čak i svaka **četiri sata**.
AWS upravljanje identitetom i pristupom (IAM) pruža **fino podešavanje kontrole pristupa** širom celog AWS-a. Sa IAM-om, možete precizirati **ko može pristupiti kojim uslugama i resursima**, i pod kojim uslovima. Sa IAM politikama, upravljate dozvolama za vašu radnu snagu i sisteme kako biste **osigurali dozvole sa najmanjim privilegijama**.
AWS upravljanje identitetom i pristupom (IAM) pruža **fino podešenu kontrolu pristupa** širom celog AWS-a. Sa IAM-om, možete precizirati **ko može pristupiti kojim uslugama i resursima**, i pod kojim uslovima. Sa IAM politikama, upravljate dozvolama za vašu radnu snagu i sisteme kako biste **osigurali dozvole sa najmanjim privilegijama**.
### IAM ID Prefiksi
@@ -347,7 +347,7 @@ region = eu-west-2
```
Ako treba da pristupite **različitim AWS nalozima** i vašem profilu je dato pravo da **pretpostavi ulogu unutar tih naloga**, ne morate ručno pozivati STS svaki put (`aws sts assume-role --role-arn <role-arn> --role-session-name sessname`) i konfigurisati akreditive.
Možete koristiti `~/.aws/config` datoteku da[ **naznačite koje uloge da pretpostavite**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), a zatim koristiti parametar `--profile` kao i obično (pretpostavljanje uloge će se izvršiti na transparentan način za korisnika).\
Možete koristiti `~/.aws/config` datoteku da **naznačite koje uloge da pretpostavite** i zatim koristiti `--profile` parametar kao i obično (pretpostavljanje uloge će se izvršiti na transparentan način za korisnika).\
Primer konfiguracione datoteke:
```
[profile acc2]