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

This commit is contained in:
Translator
2025-03-21 09:24:23 +00:00
parent 3d14d84e2e
commit ef2a3115e5
2 changed files with 33 additions and 31 deletions

View File

@@ -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]

View File

@@ -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.