mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 11:07:37 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA
This commit is contained in:
@@ -33,7 +33,7 @@ aws organizations create-account --account-name testingaccount --email testingac
|
||||
```
|
||||
### **Organizacione jedinice**
|
||||
|
||||
Nalozi se mogu grupisati u **Organizacione jedinice (OU)**. Na ovaj način, možete kreirati **politike** za Organizacionu jedinicu koje će biti **primenjene na sve podređene naloge**. Imajte na umu da OU može imati druge OU kao decu.
|
||||
Nalozi se mogu grupisati u **Organizacione jedinice (OU)**. Na ovaj način, možete kreirati **politike** za Organizacionu jedinicu koje će biti **primenjene na sve naloge dece**. Imajte na umu da OU može imati druge OU kao decu.
|
||||
```bash
|
||||
# You can get the root id from aws organizations list-roots
|
||||
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
|
||||
@@ -43,26 +43,28 @@ aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
|
||||
**Service control policy (SCP)** je politika koja specificira usluge i akcije koje korisnici i uloge mogu koristiti u nalozima na koje SCP utiče. SCP-ovi su **slični IAM** politikama dozvola osim što **ne dodeljuju nikakve dozvole**. Umesto toga, SCP-ovi specificiraju **maksimalne dozvole** za organizaciju, organizacionu jedinicu (OU) ili nalog. Kada prikačite SCP na koren vaše organizacije ili na OU, **SCP ograničava dozvole za entitete u članicama naloga**.
|
||||
|
||||
Ovo je JEDINI način da se **čak i korisnik sa root privilegijama može sprečiti** da nešto uradi. Na primer, može se koristiti da se spreči korisnike da onemoguće CloudTrail ili obrišu rezervne kopije.\
|
||||
Jedini način da se to zaobiđe je da se kompromituje i **glavni nalog** koji konfiguriše SCP-ove (glavni nalog ne može biti blokiran).
|
||||
Jedini način da se zaobiđe ovo je da se kompromituje i **glavni nalog** koji konfiguriše SCP-ove (glavni nalog ne može biti blokiran).
|
||||
|
||||
> [!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:
|
||||
|
||||
- Potpuno odbiti root nalog
|
||||
- Odbijanje root naloga u potpunosti
|
||||
- Dozvoliti samo specifične regione
|
||||
- Dozvoliti samo usluge sa bele liste
|
||||
- Odbiti GuardDuty, CloudTrail i S3 Public Block Access od
|
||||
- Odbijanje GuardDuty, CloudTrail i S3 Public Block Access od
|
||||
|
||||
onemogućavanja
|
||||
biti onemogućeni
|
||||
|
||||
- Odbiti uloge za bezbednost/odgovor na incidente od brisanja ili
|
||||
- Odbijanje uloga za bezbednost/odgovor na incidente od
|
||||
|
||||
modifikacije.
|
||||
biti obrisani ili
|
||||
|
||||
- Odbiti brisanje rezervnih kopija.
|
||||
- Odbiti kreiranje IAM korisnika i pristupnih ključeva
|
||||
modifikovani.
|
||||
|
||||
- Odbijanje rezervnih kopija od biti obrisane.
|
||||
- Odbijanje kreiranja IAM korisnika i pristupnih ključeva
|
||||
|
||||
Pronađite **JSON primere** u [https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html)
|
||||
|
||||
@@ -118,7 +120,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.
|
||||
|
||||
@@ -129,13 +131,13 @@ Korisnici mogu imati **MFA omogućeno za prijavu** putem konzole. API tokeni kor
|
||||
- **ID pristupnog ključa**: 20 nasumičnih velikih alfanumeričkih karaktera kao što su AKHDNAPO86BSHKDIRYT
|
||||
- **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).
|
||||
|
||||
Kada god trebate da **promenite pristupni ključ**, ovo je proces koji treba da pratite:\
|
||||
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 proverite da li novi pristupni ključ radi -> Obrišite stari pristupni ključ_
|
||||
|
||||
### MFA - Višefaktorska autentifikacija
|
||||
|
||||
Koristi se za **kreiranje dodatnog faktora za autentifikaciju** pored vaših postojećih metoda, kao što je lozinka, čime se stvara višefaktorski nivo autentifikacije.\
|
||||
Možete koristiti **besplatnu virtuelnu aplikaciju ili fizički uređaj**. Možete koristiti aplikacije poput google autentifikacije besplatno za aktivaciju MFA u AWS-u.
|
||||
Možete koristiti **besplatnu virtuelnu aplikaciju ili fizički uređaj**. Možete koristiti aplikacije poput Google autentifikacije besplatno za aktivaciju MFA u AWS-u.
|
||||
|
||||
Politike sa MFA uslovima mogu se povezati sa sledećim:
|
||||
|
||||
@@ -144,7 +146,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>
|
||||
```
|
||||
@@ -184,7 +186,7 @@ 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 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.
|
||||
- Politike koje upravlja korisnik: Konfigurišete ih vi. Možete kreirati politike na osnovu AWS upravljanih politika (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).
|
||||
@@ -222,15 +224,15 @@ Inline politike su korisne ako želite da **održite strogu jedan-na-jedan vezu
|
||||
|
||||
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 dozvoljeni.
|
||||
Ako glavni entitet nema eksplicitnu zabranu na njih, a politika resursa im daje pristup, tada su im dozvoljeni.
|
||||
|
||||
### 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 od **druge politike**, operacija će **neuspeti** ako pokuša da ih koristi.
|
||||
|
||||
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.
|
||||
Granica je samo politika prikačena korisniku 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**, **SCP-ovi** i **pridržavanje principa minimalnih 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.
|
||||
|
||||
### Politike Sesije
|
||||
|
||||
@@ -255,7 +257,7 @@ Primer provajdera identiteta može biti vaša vlastita korporativna **Microsoft
|
||||
|
||||
Da biste konfigurisali ovo poverenje, generiše se **IAM provajder identiteta (SAML ili OAuth)** koji će **verovati** **drugoj platformi**. Zatim, najmanje jedna **IAM uloga se dodeljuje (verujući) provajderu identiteta**. Ako korisnik iz poverene platforme pristupi AWS-u, pristupaće kao pomenuta uloga.
|
||||
|
||||
Međutim, obično ćete želeti da dodelite **različitu ulogu u zavisnosti od grupe korisnika** na trećoj strani. Tada, nekoliko **IAM uloga može verovati** trećem provajderu identiteta, a treća platforma će biti ta koja omogućava korisnicima da preuzmu jednu ili drugu ulogu.
|
||||
Međutim, obično ćete želeti da dodelite **različitu ulogu u zavisnosti od grupe korisnika** na trećoj strani. Tada, nekoliko **IAM uloga može verovati** trećem provajderu identiteta, a treća platforma će biti ta koja će omogućiti korisnicima da preuzmu jednu ili drugu ulogu.
|
||||
|
||||
<figure><img src="../../../images/image (247).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -275,17 +277,17 @@ Da bi se prijavili korisnici, mogu se koristiti 3 izvora identiteta:
|
||||
|
||||
U najjednostavnijem slučaju direktorijuma Identity Center, **Identity Center će imati listu korisnika i grupa** i moći će da **dodeli politike** njima za **bilo koji od naloga** organizacije.
|
||||
|
||||
Da biste omogućili pristup korisniku/grupi Identity Center-a do naloga, **biće kreiran SAML provajder identiteta koji veruje Identity Center-u**, a **rola koja veruje provajderu identiteta sa navedenim politikama biće kreirana** u odredišnom nalogu.
|
||||
Da biste omogućili pristup korisniku/grupi Identity Center-a do naloga, **biće kreiran SAML provajder identiteta koji veruje Identity Center-u**, a **uloga koja veruje provajderu identiteta sa navedenim politikama biće kreirana** u odredišnom nalogu.
|
||||
|
||||
#### AwsSSOInlinePolicy
|
||||
|
||||
Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identity Center**. Role kreirane u nalozima koje dobijaju **inline politike u AWS Identity Center** će imati te dozvole u inline politici pod nazivom **`AwsSSOInlinePolicy`**.
|
||||
Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identity Center**. Uloge kreirane u nalozima koje dobijaju **inline politike u AWS Identity Center** će imati te 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 Role sa nekim politikama i zatim, **dozvoliti drugom korisniku** (verovanom) 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 Role. 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.\
|
||||
**Korisnik** (verujući) može kreirati Cross Account ulogu sa nekim politikama i zatim, **dozvoliti drugom korisniku** (verovanom) 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 **specificirate korisnika koji je poveren 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.
|
||||
|
||||
### AWS Simple AD
|
||||
@@ -363,7 +365,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** i 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 parametar `--profile` kao obično (pretpostavljanje uloge će se izvršiti na transparentan način za korisnika).\
|
||||
Primer konfiguracione datoteke:
|
||||
```
|
||||
[profile acc2]
|
||||
|
||||
@@ -19,16 +19,16 @@ Azure SQL se sastoji od četiri glavne ponude:
|
||||
|
||||
- Javni krajnji tačka (može ograničiti pristup na specifične mreže).
|
||||
- Privatne krajnje tačke.
|
||||
- Takođe je moguće ograničiti veze na osnovu imena domena.
|
||||
- Takođe je moguće ograničiti konekcije na osnovu imena domena.
|
||||
- Takođe je moguće dozvoliti Azure uslugama da mu pristupe (kao što je korišćenje Query editora u portalu ili dozvoliti Azure VM-u da se poveže).
|
||||
|
||||
**Metode autentifikacije:**
|
||||
|
||||
- Microsoft **Entra-only** autentifikacija: Potrebno je da navedete Entra principe koji će imati pristup usluzi.
|
||||
- Microsoft **Entra-only** autentifikacija: Potrebno je naznačiti Entra principe koji će imati pristup usluzi.
|
||||
- **Obe SQL i Microsoft Entra** autentifikacije: Tradicionalna SQL autentifikacija sa korisničkim imenom i lozinkom uz Microsoft Entra.
|
||||
- **Samo SQL** autentifikacija: Dozvoliti pristup samo putem korisnika baze podataka.
|
||||
|
||||
Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti admin korisnika (korisničko ime + lozinka) i ako je izabrana Entra ID autentifikacija, takođe je potrebno navesti barem jednog principa sa admin pristupom.
|
||||
Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je naznačiti admin korisnika (korisničko ime + lozinka) i ako je izabrana Entra ID autentifikacija, takođe je potrebno naznačiti barem jednog principa sa admin pristupom.
|
||||
|
||||
**Enkripcija:**
|
||||
|
||||
@@ -39,10 +39,10 @@ Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti
|
||||
- Moguće je dodeliti sistemske i korisnički upravljane MIs.
|
||||
- Koristi se za pristup ključu za enkripciju (ako se koristi CMEK) i drugim uslugama iz baza podataka.
|
||||
- Za neke primere Azure usluga koje se mogu pristupiti iz baze podataka, proverite [ovu stranicu dokumenata](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
|
||||
- Ako je dodeljeno više od jednog UMI, moguće je navesti podrazumevanu koju koristiti.
|
||||
- Ako je dodeljeno više od jednog UMI, moguće je naznačiti podrazumevanu koju koristiti.
|
||||
- Moguće je konfigurisati federisanu identitet klijenta za pristup između zakupaca.
|
||||
|
||||
Neki komandi za pristup informacijama unutar blob skladišta iz SQL baze podataka:
|
||||
Neki komandi za pristup informacijama unutar blob storage-a iz SQL baze podataka:
|
||||
```sql
|
||||
-- Create a credential for the managed identity
|
||||
CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential]
|
||||
@@ -87,7 +87,7 @@ Da bi se kreirala SQL baza podataka, potrebno je naznačiti SQL server na kojem
|
||||
### SQL Database Security Features
|
||||
|
||||
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
|
||||
- **Nasleđene sigurnosne karakteristike SQL Server-a:**
|
||||
- **Nasleđene sigurnosne funkcije SQL Server-a:**
|
||||
- Autentifikacija (SQL i/ili Entra ID)
|
||||
- Dodeljene upravljane identitete
|
||||
- Ograničenja mreže
|
||||
@@ -95,7 +95,7 @@ Da bi se kreirala SQL baza podataka, potrebno je naznačiti SQL server na kojem
|
||||
- Backup-ovi
|
||||
- …
|
||||
- **Redundancija podataka:** Opcije su lokalne, zonalne, Geo ili Geo-Zona redundantne.
|
||||
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako manipulisanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima.
|
||||
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako neovlašćeno menjanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima.
|
||||
|
||||
SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su isplativo rešenje za upravljanje više baza podataka deljenjem konfigurisivih računarskih (eDTUs) i skladišnih resursa među njima, pri čemu se cena zasniva isključivo na dodeljenim resursima, a ne na broju baza podataka.
|
||||
|
||||
@@ -113,9 +113,9 @@ SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su is
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
|
||||
**Azure SQL Virtual Machines** omogućava **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM servisu koji pokreće SQL server.
|
||||
**Azure SQL Virtual Machines** omogućavaju **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM servisu koji pokreće SQL server.
|
||||
|
||||
Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-u) koji će hostovati SQL server.
|
||||
Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-ima) koji će hostovati SQL server.
|
||||
- To znači da će VM pristupati nekim VNet-ovima, može imati **pridružene upravljane identitete**, može imati montirane deljene foldere… što čini **pivotiranje sa SQL** na VM veoma zanimljivim.
|
||||
- Štaviše, moguće je konfigurisati ID aplikacije i tajnu da **omogući SQL-u pristup određenom ključnom trezoru**, koji može sadržati osetljive informacije.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user