Nazaj na blog

LAPS, gMSA in vecnivojska administracija: trije stebri obrambe AD

August 10, 2024 5 min branja
LAPS, gMSA in vecnivojska administracija: trije stebri obrambe AD
Nazadnje posodobljeno:

Po letih prodiranja v okolja Active Directory lahko z zaupanjem recem, da bi me tri kontrole ustavile ali bistveno upocasnile v veliki vecini mojih projektov: LAPS za lokalna administratorska gesla, Group Managed Service Accounts za storitve in vecnivojski administratorski model za privilegirani dostop. Posamezno vsaka odstrani kriticen vektor napada. Skupaj spremenijo okolje AD iz lahke tarce v resnicno zahtevno.

Vecina organizacij je slisala za te kontrole. Nekatere so delno implementirale eno ali dve. Skoraj nobena ni pravilno uvedla vseh treh. Tukaj je, kako to storiti pravilno.

LAPS: konec ponovne uporabe gesel med napravami

Local Administrator Password Solution zagotavlja, da ima vsaka naprava v vasi domeni edinstveno, nakljucno generirano lokalno administratorsko geslo. Brez LAPS organizacije obicajno uporabljajo eno samo lokalno administratorsko geslo na vseh delovnih postajah, vcasih tudi na streznikih. Ko kompromitiram eno napravo in izvlecem zgosceno vrednost lokalnega administratorja iz baze SAM, jo lahko uporabim za overitev na vsaki drugi napravi z istim geslom. To je bocno premikanje v najprerostejsi obliki in deluje v vecini okolij, ki jih testiram.

LAPS to popolnoma resi s shranjevanjem edinstvenega gesla za vsak racunalnik v atributu Active Directory (ms-Mcs-AdmPwd za starejsi LAPS, msLAPS-Password za Windows LAPS). Geslo se samodejno rotira po urniku, ki ga dolocite. Tudi ce izvlecem lokalno administratorsko geslo ene naprave, je neuporabno na vsaki drugi napravi v domeni.

Kriticna podrobnost implementacije, ki jo vecina organizacij zgresa, je konfiguracija ACL. Privzeto lahko gesla LAPS berejo Domain Admini. Toda pogosto najdem okolja, kjer so bila dovoljenja razsirjena -- vcasih lahko "Domain Users" berejo vsako geslo LAPS v domeni, kar popolnoma iznici kontrolo. Revidirajte, kdo lahko bere gesla LAPS z uporabo modula PowerShell: Find-AdmPwdExtendedRights. Omejite bralni dostop samo na specificne skupine, ki ga potrebujejo za vsak OU. Osebje pomoci uporabnikom bi moralo imeti moznost branja gesel samo za delovne postaje v svojem obsegu, ne za streznike ali krmilnike domene.

Namestite LAPS na vsako napravo, prikljuceno v domeno, brez izjem. Redno ugotavljam, da 20-30% naprav nima namescenegaa LAPS, ker so bile uvedene izven standardnega procesa ali ker GPO ni bil povezan z vsemi OU-ji. Uporabite PingCastle za identifikacijo naprav brez namescenegaa LAPS in odpravite vrzeli.

Group Managed Service Accounts: odprava Kerberoastinga

Tradicionalni servisni racuni so najsibkejsi clen v vecini okolij AD. Imajo staticna gesla, ki se redko spreminjajo, ta gesla so pogosto dovolj sibka za razbijanje, racuni sami pa so obicajno prevec privilegirani. Kerberoasting izkorišca vse tri te slabosti hkrati.

Group Managed Service Accounts popolnoma odpravijo ta problem. Geslo gMSA je 240 znakov nakljucnih podatkov, ki jih samodejno upravlja Active Directory. Privzeto se rotira vsakih 30 dni. Noben clovek nikoli ne pozna gesla, noben clovek ga nikoli ne potrebuje vtipkati in noben napadalec ga ne more razbiti. Storitev pridobi svoje geslo neposredno iz AD prek varnega kanala.

Proces migracije je za vecino storitev neposreden. Ustvarite gMSA, podelite racunu racunalnika dovoljenje za pridobitev gesla, konfigurirajte storitev za izvajanje kot gMSA in odstranite stari servisni racun. Microsoft SQL Server, bazeni aplikacij IIS, nacrtvana opravila in vecina sodobnih aplikacij nativno podpirajo gMSA. Za aplikacije, ki resnicno ne morejo podpirati gMSA, uporabite dolga nakljucna gesla, shranjena v trezorju PAM, in jih rotirajte vsaj vsako cetrtletje.

Po migraciji revidirajte svojo domeno za preostale racune s SPN-ji. Vsak racun s SPN-jem, ki ni gMSA ali racun naprave, je potencialno ranljiv za Kerberoasting. Redno poganjajte Get-ADUser -Filter {ServicePrincipalName -like '*'} in raziskite vse rezultate. Vas cilj je nic racunov, ki jih upravlja clovek, s SPN-ji.

Vecnivojska administracija: omejevanje obsega skode

Vecnivojski administratorski model, ki ga Microsoft imenuje tudi Enterprise Access Model, je najvplivnejsa arhitekturna sprememba, ki jo lahko naredite za varnost svojega AD. Koncept je preprost: locite svoje okolje na tri nivoje glede na obcutljivost in nikoli ne dovolite, da so poverilnice visnjega nivoja izpostavljene na nizjem nivoju.

Nivo 0 je vasa infrastruktura identitete: krmilniki domene, strezniki za upravljanje AD, infrastruktura PKI in strezniki Azure AD Connect. Nivo 1 so vasi strezniki: aplikacijski strezniki, podatkovni strezniki, datotecni strezniki. Nivo 2 so vase delovne postaje in uporabniske naprave. Temeljno pravilo je, da se administratorski racun nivoja 0 nikoli ne prijavi v sistem nivoja 1 ali 2, administratorski racun nivoja 1 pa se nikoli ne prijavi v sistem nivoja 2.

Brez razdelitve na nivoje lahko ena sama kompromitirana delovna postaja vodi do dostopa Domain Admin v nekaj urah. Tukaj je zakaj: IT administrator se prijavi na delovno postajo uporabnika za odpravljanje tezav s svojim racunom Domain Admin. Njegova zgoscena vrednost NTLM in vstopnice Kerberos so zdaj predpomnjene na tej delovni postaji. Ko kompromitiram delovno postajo prek lažnega sporocila ali kateregakoli drugega vektorja, izvlecem te predpomnjene poverilnice in jih uporabim za neposreden dostop do krmilnikov domene. Ta napadna pot obstaja v skoraj vsakem nerazdeljenem okolju, ki ga testiram.

Implementacija razdelitve na nivoje zahteva locene administratorske racune za vsak nivo. Vas racun DA-JSmith upravlja samo vire nivoja 0 in se prijavlja samo s privilegiranih delovnih postaj (PAW). Vas racun SA-JSmith upravlja streznike nivoja 1 in se prijavlja samo s skocnih streznikov nivoja 1. Vas navaden racun JSmith obravnava vsakodnevno delo na delovnih postajah nivoja 2. Skupinska politika uveljavlja te meje z omejevanjem pravic prijave na vsakem nivoju.

Zaznavanje in neprekinjena validacija

Uvedba teh kontrol ni dovolj. Neprekinjeno morate preverjati, da ostanejo ucinkovite. Redno poganjajte BloodHound za obrambo, da identificirate nove napadne poti, ki se lahko pojavijo ob spremembah vasega okolja. Uporabite PingCastle in Purple Knight vsako cetrtletje za oceno celotne varnostne drzce vasega AD in sledite svojemu rezultatu skozi cas.

Spremljajte krsitve vasega modela razdelitve na nivoje. Alarmriajte na racune nivoja 0, ki se prijavljajo v sisteme nivoja 1 ali 2 (dogodek ID 4624 in 4625 na teh napravah). Opazujte nove servisne racune s SPN-ji, ki se ustvarjajo izven procesa gMSA. Sledite vrzelim pokritosti LAPS, ko se uvajajo nove naprave.

Te tri kontrole -- LAPS, gMSA in vecnivojska administracija -- predstavljajo temelj branljivega okolja Active Directory. Niso eksotcne ali drage. So vgrajene funkcije Windows, ki jih vecina organizacij preprosto ni uvedla. Vsak teden, ko odlasate implementacijo, je se en teden, ko ena kompromitirana delovna postaja lahko vodi do popolne kompromitacije domene.

Vid Grosek

Vid Grosek

Etični heker & Penetracijski tester

Pomagam slovenskim podjetjem odkriti varnostne ranljivosti, preden jih odkrijejo napadalci. Vec kot 5 let izkusenj s penetracijskim testiranjem.

Vse objave

Komentarji

Ni se komentarjev. Bodite prvi!

Dodaj komentar

Vam je bil clanek vsec?

Prijavite se na newsletter za mesecne varnostne vpoglede.

Prijavite se