Az - Basic Information
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Može sadržati druge grupe za upravljanje ili pretplate.
Ovo omogućava primenu kontrola upravljanja kao što su RBAC i Azure Policy jednom na nivou grupe za upravljanje i da se one naslede od svih pretplata u grupi.
10.000 grupa za upravljanje može biti podržano u jednoj direktoriji.
Drvo grupa za upravljanje može podržati do šest nivoa dubine. Ova granica ne uključuje nivo korena ili nivo pretplate.
Svaka grupa za upravljanje i pretplata mogu podržavati samo jednog roditelja.
Čak i ako se može kreirati nekoliko grupa za upravljanje, postoji samo 1 grupa za upravljanje korenom.
Grupa za upravljanje korenom sadrži sve druge grupe za upravljanje i pretplate i ne može se premestiti ili obrisati.
Sve pretplate unutar jedne grupe za upravljanje moraju verovati istom Entra ID tenant-u.
To je još jedan logički kontejner u kojem se (VM-ovi, DB-ovi…) mogu pokretati i za koji će se naplaćivati.
Njegov roditelj je uvek grupa za upravljanje (i može biti grupa za upravljanje korenom) jer pretplate ne mogu sadržati druge pretplate.
Veruje samo jednoj Entra ID direktoriji
Dozvole primenjene na nivou pretplate (ili bilo kojem od njegovih roditelja) se nasleđuju svim resursima unutar pretplate
Iz dokumenata: Grupa resursa je kontejner koji sadrži povezane resurse za Azure rešenje. Grupa resursa može uključivati sve resurse za rešenje, ili samo one resurse koje želite da upravljate kao grupu. Generalno, dodajte resurse koji dele isti životni ciklus u istu grupu resursa kako biste ih lako implementirali, ažurirali i obrisali kao grupu.
Svi resursi moraju biti unutar grupe resursa i mogu pripadati samo jednoj grupi, a ako se grupa resursa obriše, svi resursi unutar nje se takođe brišu.
Svaki resurs u Azure-u ima Azure Resource ID koji ga identifikuje.
Format Azure Resource ID-a je sledeći:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
Za virtuelnu mašinu nazvanu myVM u grupi resursa myResourceGroup
pod ID-jem pretplate 12345678-1234-1234-1234-123456789012
, Azure Resource ID izgleda ovako:
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM
Azure je Microsoftova sveobuhvatna platforma za cloud računarstvo, koja nudi širok spektar usluga, uključujući virtuelne mašine, baze podataka, veštačku inteligenciju i skladištenje. Deluje kao osnova za hostovanje i upravljanje aplikacijama, izgradnju skalabilnih infrastruktura i pokretanje modernih radnih opterećenja u oblaku. Azure pruža alate za programere i IT profesionalce da kreiraju, implementiraju i upravljaju aplikacijama i uslugama bez problema, zadovoljavajući razne potrebe od startapa do velikih preduzeća.
Entra ID je cloud-bazirana usluga upravljanja identitetom i pristupom dizajnirana da se bavi autentifikacijom, autorizacijom i kontrolom pristupa korisnika. Omogućava siguran pristup Microsoftovim uslugama kao što su Office 365, Azure i mnoge treće strane SaaS aplikacije. Sa funkcijama kao što su jedinstveno prijavljivanje (SSO), višefaktorska autentifikacija (MFA) i politike uslovnog pristupa, između ostalog.
Entra Domain Services proširuje mogućnosti Entra ID-a nudeći upravljane usluge domena kompatibilne sa tradicionalnim Windows Active Directory okruženjima. Podržava nasleđene protokole kao što su LDAP, Kerberos i NTLM, omogućavajući organizacijama da migriraju ili pokreću starije aplikacije u oblaku bez implementacije lokalnih kontrolera domena. Ova usluga takođe podržava grupne politike za centralizovano upravljanje, što je čini pogodnom za scenarije u kojima nasleđena ili AD-bazirana radna opterećenja treba da koegzistiraju sa modernim cloud okruženjima.
Novi korisnici
Naznačite ime i domen e-pošte iz odabranog tenant-a
Naznačite prikazano ime
Naznačite lozinku
Naznačite svojstva (ime, radno mesto, kontakt informacije…)
Podrazumevani tip korisnika je “član”
Spoljni korisnici
Naznačite e-poštu za poziv i prikazano ime (može biti e-pošta koja nije Microsoft)
Naznačite svojstva
Podrazumevani tip korisnika je “Gost”
Možete ih proveriti na https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions ali među ostalim radnjama član će moći da:
Čita sve korisnike, grupe, aplikacije, uređaje, uloge, pretplate i njihove javne osobine
Poziva goste (može se isključiti)
Kreira sigurnosne grupe
Čita ne-skrivene članstva grupa
Dodaje goste u vlasničke grupe
Kreira nove aplikacije (može se isključiti)
Dodaje do 50 uređaja u Azure (može se isključiti)
Zapamtite da da bi se enumerisali Azure resursi, korisnik treba da ima eksplicitnu dozvolu.
Članovi (dokumenti)
Registrujte aplikacije: Podrazumevano Da
Ograničite ne-administrativne korisnike od kreiranja tenant-a: Podrazumevano Ne
Kreirajte sigurnosne grupe: Podrazumevano Da
Ograničite pristup Microsoft Entra administrativnom portalu: Podrazumevano Ne
Ovo ne ograničava API pristup portalu (samo web)
Dozvolite korisnicima da povežu radni ili školski nalog sa LinkedIn-om: Podrazumevano Da
Prikazivanje zadržavanja korisnika prijavljenim: Podrazumevano Da
Ograničite korisnike od oporavka BitLocker ključeva za njihove uređaje: Podrazumevano Ne (proverite u podešavanjima uređaja)
Čitajte druge korisnike: Podrazumevano Da (putem Microsoft Graph)
Gosti
Ograničenja pristupa gostujućim korisnicima
Gosti imaju isti pristup kao članovi dodeljuje sve dozvole članova korisnicima gostima podrazumevano.
Gosti imaju ograničen pristup svojstvima i članstvima objekata direktorijuma (podrazumevano) ograničava pristup gostiju samo na njihov vlastiti korisnički profil podrazumevano. Pristup informacijama o drugim korisnicima i grupama više nije dozvoljen.
Pristup gostujućim korisnicima je ograničen na svojstva i članstva njihovih vlastitih objekata direktorijuma je najrestriktivniji.
Gosti mogu pozivati
Svako u organizaciji može pozvati gostujuće korisnike uključujući goste i ne-administratore (najinkluzivnije) - Podrazumevano
Korisnici članovi i korisnici dodeljeni specifičnim administrativnim ulogama mogu pozvati gostujuće korisnike uključujući goste sa članovskim dozvolama
Samo korisnici dodeljeni specifičnim administrativnim ulogama mogu pozvati gostujuće korisnike
Niko u organizaciji ne može pozvati gostujuće korisnike uključujući administratore (najrestriktivnije)
Spoljni korisnici mogu napustiti: Podrazumevano Tačno
Dozvolite spoljnim korisnicima da napuste organizaciju
Čak i ako su podrazumevano ograničeni, korisnici (članovi i gosti) sa dodeljenim dozvolama mogli bi izvršiti prethodne radnje.
Postoje 2 tipa grupa:
Sigurnosne: Ova vrsta grupe se koristi za davanje članovima pristupa aplikacijama, resursima i dodeljivanje licenci. Korisnici, uređaji, servisni principi i druge grupe mogu biti članovi.
Microsoft 365: Ova vrsta grupe se koristi za saradnju, dajući članovima pristup zajedničkoj pošti, kalendaru, datotekama, SharePoint sajtu itd. Članovi grupe mogu biti samo korisnici.
Ovo će imati adresu e-pošte sa domenom EntraID tenant-a.
Postoje 2 tipa članstava:
Dodeljeno: Omogućava ručno dodavanje specifičnih članova u grupu.
Dinamičko članstvo: Automatski upravlja članstvom koristeći pravila, ažurirajući uključivanje grupe kada se atributi članova promene.
Servisni princip je identitet kreiran za upotrebu sa aplikacijama, hostovanim uslugama i automatizovanim alatima za pristup Azure resursima. Ovaj pristup je ograničen ulogama dodeljenim servisnom principu, dajući vam kontrolu nad koji resursi mogu biti pristupljeni i na kojem nivou. Iz bezbednosnih razloga, uvek se preporučuje da koristite servisne principe sa automatizovanim alatima umesto da im dozvolite prijavu sa korisničkim identitetom.
Moguće je direktno se prijaviti kao servisni princip generišući mu tajnu (lozinku), sertifikat ili dodeljujući federisani pristup trećim platformama (npr. Github Actions) preko njega.
Ako izaberete lozinku za autentifikaciju (podrazumevano), sačuvajte generisanu lozinku jer je nećete moći ponovo pristupiti.
Ako izaberete autentifikaciju sertifikatom, uverite se da aplikacija ima pristup privatnom ključu.
Registracija aplikacije je konfiguracija koja omogućava aplikaciji da se integriše sa Entra ID i da izvršava radnje.
ID aplikacije (Client ID): Jedinstveni identifikator za vašu aplikaciju u Azure AD.
Redirect URIs: URL-ovi na koje Azure AD šalje odgovore na autentifikaciju.
Sertifikati, tajne i federisani kredencijali: Moguće je generisati tajnu ili sertifikat za prijavu kao servisni princip aplikacije, ili dodeliti federisani pristup (npr. Github Actions).
Ako je sertifikat ili tajna generisana, moguće je da osoba prijavi kao servisni princip koristeći CLI alate znajući ID aplikacije, tajnu ili sertifikat i tenant (domen ili ID).
API dozvole: Specifikuje koje resurse ili API-je aplikacija može pristupiti.
Podešavanja autentifikacije: Definiše podržane tokove autentifikacije aplikacije (npr., OAuth2, OpenID Connect).
Servisni princip: Servisni princip se kreira kada se aplikacija kreira (ako se to uradi iz web konzole) ili kada se instalira u novom tenant-u.
Servisni princip će dobiti sve tražene dozvole sa kojima je konfigurisan.
Korisnički pristanak za aplikacije
Ne dozvoliti korisnički pristanak
Administrator će biti potreban za sve aplikacije.
Dozvoliti korisnički pristanak za aplikacije od verifikovanih izdavača, za odabrane dozvole (preporučeno)
Svi korisnici mogu pristati na dozvole klasifikovane kao "niskog uticaja", za aplikacije od verifikovanih izdavača ili aplikacije registrovane u ovoj organizaciji.
Podrazumevane dozvole niskog uticaja (iako morate prihvatiti da ih dodate kao niske):
User.Read - prijavite se i pročitajte korisnički profil
offline_access - održava pristup podacima kojima su korisnici dali pristup
openid - prijavite korisnike
profile - pogledajte osnovni profil korisnika
email - pogledajte adresu e-pošte korisnika
Dozvoliti korisnički pristanak za aplikacije (podrazumevano)
Svi korisnici mogu pristati na bilo koju aplikaciju da pristupi podacima organizacije.
Zahtevi za pristanak administratora: Podrazumevano Ne
Korisnici mogu zatražiti pristanak administratora za aplikacije za koje ne mogu pristati
Ako je Da: Moguće je naznačiti korisnike, grupe i uloge koje mogu pristati na zahteve
Takođe konfigurišite da li će korisnici primati obaveštenja putem e-pošte i podsetnike o isteku
Upravljani identiteti u Azure Active Directory nude rešenje za automatsko upravljanje identitetom aplikacija. Ovi identiteti se koriste od strane aplikacija u svrhu povezivanja sa resursima kompatibilnim sa autentifikacijom Azure Active Directory (Azure AD). Ovo omogućava uklanjanje potrebe za hardkodiranjem cloud kredencijala u kodu jer će aplikacija moći da kontaktira metapodatkovnu uslugu kako bi dobila važeći token za izvršavanje radnji kao naznačeni upravljani identitet u Azure-u.
Postoje dva tipa upravljanih identiteta:
Sistemom dodeljeni. Neke Azure usluge omogućavaju da omogućite upravljani identitet direktno na instanci usluge. Kada omogućite sistemom dodeljeni upravljeni identitet, servisni princip se kreira u Entra ID tenant-u kojem veruje pretplata u kojoj se resurs nalazi. Kada se resurs obriše, Azure automatski briše identitet za vas.
Korisnikom dodeljeni. Takođe je moguće da korisnici generišu upravljane identitete. Ovi se kreiraju unutar grupe resursa unutar pretplate i servisni princip će biti kreiran u EntraID kojem veruje pretplata. Zatim, možete dodeliti upravljeni identitet jednoj ili više instanci Azure usluge (više resursa). Za korisnikom dodeljene upravljane identitete, identitet se upravlja odvojeno od resursa koji ga koriste.
Upravljani identiteti ne generišu večne kredencijale (kao što su lozinke ili sertifikati) za pristup kao servisni princip koji je povezan sa njima.
To je samo tabela u Azure-u za filtriranje servisnih principa i proveru aplikacija koje su dodeljene.
To nije još jedan tip "aplikacije", ne postoji nijedan objekat u Azure-u koji je "Preduzeće aplikacija", to je samo apstrakcija za proveru servisnih principa, registracija aplikacija i upravljanih identiteta.
Administrativne jedinice omogućavaju davanje dozvola iz uloge nad specifičnim delom organizacije.
Primer:
Scenario: Kompanija želi da regionalni IT administratori upravljaju samo korisnicima u svojoj regiji.
Implementacija:
Kreirajte administrativne jedinice za svaku regiju (npr., "Severna Amerika AU", "Evropa AU").
Popunite AU-ove korisnicima iz njihovih odgovarajućih regija.
AU-ovi mogu sadržati korisnike, grupe ili uređaje
AU-ovi podržavaju dinamička članstva
AU-ovi ne mogu sadržati AU-ove
Dodelite administrativne uloge:
Dodelite ulogu "Administrator korisnika" regionalnom IT osoblju, ograničenu na AU njihove regije.
Ishod: Regionalni IT administratori mogu upravljati korisničkim nalozima unutar svoje regije bez uticaja na druge regije.
Da bi upravljali Entra ID, postoje neke ugrađene uloge koje se mogu dodeliti Entra ID principima za upravljanje Entra ID
Najprivilegovanija uloga je Globalni administrator
U opisu uloge moguće je videti njene granularne dozvole
Uloge se dodeljuju principima na opsegu: principal -[HAS ROLE]->(scope)
Uloge dodeljene grupama se nasleđuju od svih članova grupe.
U zavisnosti od opsega na koji je uloga dodeljena, uloga se može naslediti na druge resurse unutar kontejnera opsega. Na primer, ako korisnik A ima ulogu na pretplati, on će imati tu ulogu na svim grupama resursa unutar pretplate i na svim resursima unutar grupe resursa.
Vlasnik
Puni pristup svim resursima
Može upravljati pristupom za druge korisnike
Svi tipovi resursa
Doprinosilac
Puni pristup svim resursima
Ne može upravljati pristupom
Svi tipovi resursa
Čitač
• Pregled svih resursa
Svi tipovi resursa
Administrator pristupa korisnicima
Pregled svih resursa
Može upravljati pristupom za druge korisnike
Svi tipovi resursa
Iz dokumenata: Azure role-based access control (Azure RBAC) ima nekoliko Azure ugrađenih uloga koje možete dodeliti korisnicima, grupama, servisnim principima i upravljanim identitetima. Dodeljivanje uloga je način na koji kontrolišete pristup Azure resursima. Ako ugrađene uloge ne zadovoljavaju specifične potrebe vaše organizacije, možete kreirati svoje Azure prilagođene uloge.
Ugrađene uloge se primenjuju samo na resurse za koje su namenjene, na primer proverite ova 2 primera ugrađenih uloga nad resursima Računara:
Pruža dozvolu za backup vault za izvršavanje backup-a diska.
3e5e47e6-65f7-47ef-90b5-e5dd4d455f24
Pregledajte virtuelne mašine u portalu i prijavite se kao običan korisnik.
fb879df8-f326-4884-b1cf-06f3ad86be52
Ove uloge se takođe mogu dodeliti nad logičkim kontejnerima (kao što su grupe za upravljanje, pretplate i grupe resursa) i principi na koje se to odnosi će ih imati nad resursima unutar tih kontejnera.
Pronađite ovde listu sa svim ugrađenim ulogama Azure-a.
Pronađite ovde listu sa svim ugrađenim ulogama Entra ID-a.
Takođe je moguće kreirati prilagođene uloge
One se kreiraju unutar opsega, iako uloga može biti u više opsega (grupe za upravljanje, pretplate i grupe resursa)
Moguće je konfigurisati sve granularne dozvole koje će prilagođena uloga imati
Moguće je isključiti dozvole
Princip sa isključenom dozvolom neće moći da je koristi čak i ako se dozvola dodeljuje negde drugde
Moguće je koristiti džoker znakove
Korišćeni format je JSON
actions
su za kontrolu radnji nad resursom
dataActions
su dozvole nad podacima unutar objekta
Primer dozvola JSON za prilagođenu ulogu:
Da bi principal imao pristup resursu, potrebno je da mu bude dodeljena eksplicitna uloga (na bilo koji način) koja mu daje tu dozvolu.
Eksplicitna dodela uloge za odbijanje ima prioritet nad ulogom koja dodeljuje dozvolu.
Global Administrator je uloga iz Entra ID koja dodeljuje potpunu kontrolu nad Entra ID tenant-om. Međutim, po defaultu ne dodeljuje nikakve dozvole nad Azure resursima.
Korisnici sa ulogom Global Administrator imaju mogućnost da 'povećaju' na User Access Administrator Azure ulogu u Root Management Group. Tako Global Administratori mogu upravljati pristupom u svim Azure pretplatama i upravljačkim grupama. Ovo povećanje može se izvršiti na kraju stranice: https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties
Azure Policies su pravila koja pomažu organizacijama da osiguraju da njihovi resursi ispunjavaju specifične standarde i zahteve usklađenosti. Omogućavaju vam da sprovodite ili proveravate podešavanja na resursima u Azure-u. Na primer, možete sprečiti kreiranje virtuelnih mašina u neovlašćenoj regiji ili osigurati da svi resursi imaju specifične oznake za praćenje.
Azure Policies su proaktivne: mogu sprečiti kreiranje ili promenu neusklađenih resursa. Takođe su reaktivne, omogućavajući vam da pronađete i ispravite postojeće neusklađene resurse.
Policy Definition: Pravilo, napisano u JSON-u, koje specificira šta je dozvoljeno ili zahtevano.
Policy Assignment: Primena politike na specifičan opseg (npr. pretplata, grupa resursa).
Initiatives: Skup politika grupisanih zajedno za širu primenu.
Effect: Specificira šta se dešava kada se politika aktivira (npr. "Deny," "Audit," ili "Append").
Neki primeri:
Osiguranje usklađenosti sa specifičnim Azure regijama: Ova politika osigurava da su svi resursi raspoređeni u specifičnim Azure regijama. Na primer, kompanija može želeti da osigura da su svi njeni podaci smešteni u Evropi radi usklađenosti sa GDPR-om.
Sprovođenje standarda imenovanja: Politike mogu sprovoditi konvencije imenovanja za Azure resurse. Ovo pomaže u organizaciji i lakom identifikovanju resursa na osnovu njihovih imena, što je korisno u velikim okruženjima.
Ograničavanje određenih tipova resursa: Ova politika može ograničiti kreiranje određenih tipova resursa. Na primer, politika može biti postavljena da spreči kreiranje skupih tipova resursa, kao što su određene veličine VM-a, kako bi se kontrolisali troškovi.
Sprovođenje politika označavanja: Oznake su parovi ključ-vrednost povezani sa Azure resursima koji se koriste za upravljanje resursima. Politike mogu sprovoditi da određene oznake moraju biti prisutne, ili imati specifične vrednosti, za sve resurse. Ovo je korisno za praćenje troškova, vlasništvo ili kategorizaciju resursa.
Ograničavanje javnog pristupa resursima: Politike mogu sprovoditi da određeni resursi, kao što su skladišni nalozi ili baze podataka, nemaju javne krajnje tačke, osiguravajući da su dostupni samo unutar mreže organizacije.
Automatsko primenjivanje bezbednosnih podešavanja: Politike se mogu koristiti za automatsko primenjivanje bezbednosnih podešavanja na resurse, kao što je primena specifične grupe bezbednosti mreže na sve VM-ove ili osiguranje da svi skladišni nalozi koriste enkripciju.
Napomena da se Azure Policies mogu prikačiti na bilo koji nivo Azure hijerarhije, ali se najčešće koriste u root management group ili u drugim upravljačkim grupama.
Azure policy json example:
U Azure dozvole se mogu dodeliti bilo kojem delu hijerarhije. To uključuje upravljačke grupe, pretplate, grupe resursa i pojedinačne resurse. Dozvole se nasleđuju od sadržanih resursa entiteta gde su dodeljene.
Ova hijerarhijska struktura omogućava efikasno i skalabilno upravljanje dozvolama za pristup.
RBAC (kontrola pristupa zasnovana na ulozi) je ono što smo već videli u prethodnim sekcijama: Dodeljivanje uloge principalu kako bi mu se omogućio pristup resursu. Međutim, u nekim slučajevima možda ćete želeti da obezbedite fino podešeno upravljanje pristupom ili pojednostavite upravljanje stotinama dodela uloga.
Azure ABAC (kontrola pristupa zasnovana na atributima) se oslanja na Azure RBAC dodavanjem uslova dodele uloga zasnovanih na atributima u kontekstu specifičnih akcija. Uslov dodele uloge je dodatna provera koju možete opcionalno dodati svojoj dodeli uloge kako biste obezbedili fino podešenu kontrolu pristupa. Uslov filtrira dozvole dodeljene kao deo definicije uloge i dodele uloge. Na primer, možete dodati uslov koji zahteva da objekat ima specifičnu oznaku da bi se pročitao objekat. Ne možete eksplicitno odbiti pristup specifičnim resursima korišćenjem uslova.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)