1c ovom korisniku bez pristupačnih uloga. Najsmjetniji dijaloški okvir u aktivnom direktoriju

10.29.2012 Tim Springston

U ovom ću članku pokušati razjasniti neke aspekte "najviše nerazumljivog dijaloškog okvira u oglasu", koji je kartica delegacije u prozoru svojstava korisnika Active Directory i računala Microsoftove upravljačke konzole (MMC) (MMC) (DSA.MSC ). Pogledat ćemo vrijednosti atributa za različite konfiguracije. Razumijevanje dodjele instalacijskih parametara omogućit će vam pravilno konfiguriranje u oglasnim aplikacijama i uslugama pomoću delegacije Kerberosa

Tim Springston ( [Zaštićen e-poštom]) - Senior servisni inženjer tehnička podrška Podjele komercijalne tehničke podrške u Microsoftu odgovorne su za sigurnost i autorizaciju.

Jedna od naj aktivnije raspravljate u Microsoft tehnologiji je autentifikacija na Kerberosovom protokolu. Čudno je ako razmotrimo da sam tehnologija i njegove funkcije nisu pretrpjele značajne promjene od puštanja Windows server 2003. A ipak, Kerberos ostaje tema za sastavljanje dodatne dokumentacije.

Trajna potreba za proučavanjem tehničkog aspekta rada Kerberosa i uzrok grešaka zbog činjenice da, iako sam tehnologija ostaje nepromijenjena, koristeći njegove usluge i metode njegove upotrebe često su jedinstvene. Međutim, u svakom scenariju, zadatak aktivnih parametara instalacije (oglasa) i značenje poruka o pogreškama ostaje.

U ovom ću članku pokušati razjasniti neke aspekte "najnejmenzibibilnog dijaloškog okvira u oglasu", koji je kartica za delegaciju u prozoru svojstava korisnika Active Directory i računari Microsoftove konzole za upravljanje upravljanjem (MMC) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) (DSA) MSC). Pogledat ćemo vrijednosti atributa za različite konfiguracije. Razumijevanje dodjele instalacijskih parametara omogućit će vam pravilno konfiguriranje u oglasnim aplikacijama i uslugama pomoću delegacije Kerberosa.

Jednostavno sučelje

Zašto provoditi vrijeme za istraživanje "jednostavnog" sučelja? Potrebno je unijeti u detalje, jer će razumijevanje tehničkog aspekta rada različitih parametara omogućiti uspješnije ispraviti pogreške u njihovoj konfiguraciji. Stoga započnemo s razumijevanjem značenja instalacija. Ako otvorite korisnike aktivnih direktorija i računare, idite na svojstva računarskog računa, vidjet ćete karticu Delegacije za delegaciju (pod uvjetom da je vaša šuma na funkcionalnoj razini poslužitelja 2003). Ova kartica prikazana je na ekranu 1. Da biste objasnili zadatak prekidača ove kartice na ekranu 2, mogu se dati alternativna imena.

Prije nego što produbite značenje parametara, objasnite koja je delegacija Kerberos. Delegacija (koja se takođe naziva "personifikacijom" ili jednostavna delegacija) je proces primitka aplikacije ili usluge Kerberos ulaznice za pristup resursima ili daljinski računar U ime korisnika. Pouzdano za delegaciju ESSENCE je usluga račun, u ime koje aplikacija radi. Delegacija omogućava aplikaciji da pristupi samo resursima na koje bi korisnik imao pristup i isporučio korisničke podatke. Kao primjer skripte, možete donijeti web poslužitelj spojen na SQL Server sustav za prikaz podataka potrebnih korisnicima na web klijentu.

Dvije gornje opcije ("Ne vjerujte u delegaciju računara" i "vjerujte da računar delegira bilo koje usluge") na ekranu 1 ne zahtijevaju pojašnjenje. Treća opcija je ograničena delegacija Kerberosa ograničena delegacija (KCD), gotovo slična jednostavnoj delegaciji, ali pruža delegiranje pojedinačnog potvrde samo na određene usluge ili računare. Ova opcija pruža više visoki nivo Sigurnost, ograničavajući opseg delegacije identiteta personificiranog korisnika, tako da u slučaju kompromisa servisnog certifikata pouzdanog za delegaciju, posljedice su ograničene na sposobnost pristupa samo tim resursima daljinski serverikoji su odabrani ručno za ograničenu delegaciju.

Četvrta verzija na ekranu 1 omogućava KCD i usluge za proširenje UPER (ili S4U). Proširenje S4U pruža šire funkcije, kao što je promjena protokola. Promjena protokola događa se kada klijent prvo izvrši provjeru autentičnosti putem protokola koji nije Kerberos, sa dolaznicom, a zatim se prebacuje u Kerberos. Detaljan opis S4U je sadržan u dokumentaciji "Istraživanje S4U Kerberos u Windows Server 2003" (MSDN.Microsoft.com/en-us/magazine/cc188757.aspx) i "Transicija protokola sa ograničenim delegacijskim tehničkim dodatkom" (MSDN.Microsoft.com / en- US / biblioteka / ff650469.aspx). Ti su resursi fokusirani na programere, a ne na administratore, ali je važno i da administrator razumije šta S4u je kako to izvesti i kada ga treba koristiti. U tu svrhu dajemo kratku listu S4U funkcija za administratora.

Dobivanje informacija o korisničkom markeru bez stvarnog primitka ovog markera i bez primitka karte za izdavanje ulaznica (TGT) s ulaznim karatama s povjerljivom kartom od korisnika povjerenja ili pristupa podacima računa. Na primjer, dobiveni podaci mogu se koristiti, na primjer, za provjeru autorizacije. Ovo proširenje je poznato kao usluge - za korisnika (S4U2SElf).

Dobivanje karata bez potrebe za primanjem komunalne karte Kerberos, bez pristupa podacima računa, TGT prijenosa ili bez provjere autentičnosti - usluge-za korisnika-to-proxy (s4u2proxy).

Obavljanje prethodno navedene promjene protokola. Klijent žalbe korporativnoj službi u početku vrši autentifikaciju pomoću metode koja nije Kerberos, a S4U omogućava pouzdanoj usluzi za prebacivanje korisničke sesije koje je već proslijedilo autentifikaciju korištenju Kerberosa. Ovdje se često pojavljuju pogreške konfiguracije uzrokovane pogrešnim konfiguracijskim greškama, jer aplikacijska dokumentacija često ne sadrži jasna objašnjenja da li je potreban protokol i kako ga konfigurirati u oglasu. Međutim, ova tema je relevantna, jer danas gotovo da nema članka, a da ne spominju "oblake". Klijenti koji se povezuju putem "oblaka" najčešće će primijeniti NTLM provjeru autentičnosti zbog nedostatka zahtjeva za obradu domena (DC) za izdavanje usluge Kerberos servisne karte na Internetu. Promjena protokola omogućava korisniku da poveže ovu domenu putem softver mrežni ekran ili proxy poslužitelji koji koriste jednu od metoda za autentifikaciju (na primjer, NTLM), a zatim prebacite na Kerberos Autentifikaciju da biste izvršili daljnje akcije iznutra korporativna mreža. Budući da "oblak" znači povezivanje putem Interneta, možda ne sumnjate da ako koristite bilo kakvo "oblačno" rješenje, onda prije ili kasnije doći do upotrebe promjene Kerberos protokola.

Ispod vanjskog omotača

Sada razmislite šta se zapravo događa kada instalirate svaki od ovih četiri parametra, koristeći LDP pregled vrijednosti atributa postavljenih za svaku od konfiguracija. LDP je instaliran desno od oglasa za usluge domene i može se koristiti kao alat za obradu struje LDAP grafičko sučelje. LDP vam omogućuje izgradnju vlastitih LDAP zahtjeva i pregledati rezultate u prikladnom obliku za percepciju. Dodatna prednost korištenja LDP-a za prikaz vrijednosti atributa (na primjer, UserAccountControl) je prenijeti izračunate vrijednosti parametara na parni obrazac umjesto kombinacije brojeva. Usput, više kasne verzije Adsiedit.msc također osigurava sličnu obradu izračunanih vrijednosti parametara.

Dakle, u Windows Server 2008 i novijim verzijama LDP.exe i adsiedit.msc predviđaju automatski prijevod Vrijednosti atributa (na primjer, UserAccountControl), koji eliminira potrebu za otvaranjem Calc.exe i pristupa online dokumentaciji na MSDN-u ili na Microsoftovu bazu znanja.

Sada razmislite o promjeni vrijednosti atributa u LDP-u, ovisno o instalatorima. Počnimo sa računom koji se ne vjeruje za delegaciju. Na ekranu je jasno da Test2 račun nije pouzdan i da je heksadecimalna vrijednost 1020 korisnika usercountControl (odgovara decimalnom limu 4128) prevedena u radnu stanicu_trust_account i passwd_notreqd.

Na ekranu 4 prikazuje račun povjeren za delegaciju. Možemo vidjeti vrijednost atributa userAccoumcontrol prevedena u pouzdano_for_delegaciju, što ukazuje na rezoluciju jednostavne neograničene delegacije Kerberosa u ovaj servisni certifikat.

Povjerenje delegacije na određene usluge

Sljedeće su postavke ključne ako je namijenjeno korištenju S4U ili KCD-a. Prvi slučaj odgovara izboru povjerenja Ovaj računar za delegaciju samo za određene usluge ("Verujte ovom računaru delegirajte samo navedene usluge") i koristite samo Kerberos ("Koristite samo Kerberos"). Na ekranu se može vidjeti da se sa takvim izborom Atributa userAccountControl primio radnu stanicu_trust_account, a atribut MSDS-AllowLowlegto automatski se ispunjava odabranim uslugama koje su dozvoljene delegacije. Nijedan drugi postupak nije ispunjen ovim atributom i ne utiče na njega. Kako zapisi navodi određene usluge na računaru za koje je dozvoljena delegacija.

Druga opcija je manje sigurna - koristite bilo koji protokol za provjeru autentičnosti ("Koristite bilo koji protokol za provjeru autentičnosti"), omogućujući promjenu protokola i drugih opcija proširenja. Pored unosa na MSDS-LeachodeleGateto atribut, ova postavka mijenja atribut UserAccountControl koji prima pouzdano_to_authenticat_for_delegaciju (T2A4D), kao što je prikazano na ekranu 6. Bez T2A4D zastave, možete očekivati \u200b\u200bgrešku promjene protokola. Ne koristi se druga komponenta u ovoj zastavi. Imajte na umu da je ovaj jednostavan prekidač izuzetno važan jer ako se ne bira, tada će se s4u2self, s4u2proxy i promjena protokola drugačije ponašati, što može stvoriti probleme za aplikacije i usluge koje čekaju relevantne vrste ulaznica. Konkretno, promjena protokola završit će se pogreškom, a karta se neće izdati. S4U2Proxy i S4U2 sami neće imati nikakvu zastavu (preusmjeravanje), što će rezultirati pogreškom: za S4U2proxy - u svakom slučaju, a za S4U2self - u situacijama, kada trebate poslati kartu na drugu uslugu ili čvor.

"Uradi sam"

Što se događa ako bi servisni račun usluge koristio aplikacijom ili uslugom trebao izvršiti radnju koja zahtijeva promjenu protokola, a kartica za delegaciju bit će postavljena samo na upotrebu Kerberos ("Koristite samo Kerberos") umjesto da koristite samo Kerberos ") Protokol za provjeru autentičnosti ("Koristite bilo koji autentifikaciju protokola")? Za aplikaciju za klijenta može se poprimiti pristupiti obrazac odbijenog pristupa ("negirani pristup") kada pokušate dobiti pristup mrežnim resursima ili se može pojaviti pogreška bez obavještenja NTLM autentifikacije ili neočekivane pogreške ovisne o provjeri. Nesigurnost manifestacije pogreške dodatno usložnjava zadatak. Najvjerovatniji rezultat će, međutim, biti odbijen ("odbijen pristup"). U takvoj situaciji, obavezno naučite dokumentaciju aplikacije ili usluge i saznajte da li se protokol mijenjaju ili zahtjevi za primanje ulaznice od usluge bez TGT-a neće reći. Problem je što većina dokumentacijskih prevoditelja uistinu ne razumiju značenje konfiguracije KCD-a i stoga ne daju nedovoljna objašnjenja ili su uglavnom troškovi bez njih.

Metoda razjašnjenja uzroka pogreške na principu "DIY" može biti jednostavna kolekcija podataka mrežnih tragova iz poslužitelja pouzdanog za delegaciju. Prikupljeni filter podataka Kerberos (Kerberosv5 u Microsoft mrežnom monitoru ili Kerberosu u WireSharku). Zahtjev za kartu za izdavanje karte (TGS_REQ) prenosi se u distributivni centar Kerberos (KDC) AD ključni distributivni centar i sadrži parametre KDC-a sa ograničenom zastavom Delegacije. Ako odbijete izdati kartu, odgovor poslužitelja (TGS_REP) sadrži grešku KDC_ERR_BAD_OPTION, što je lako primijetiti u rezultatima mrežnog praćenja.

Više informacija o radu Microsoft Kerberos implementacija može se naći u internetskoj specifikaciji otvorenih protokola. Kerberos protokol ekstenzije (MSDN.Microsoft.com/en-us/library/cc233855%28V\u003dProt.13%29.aspx) Sadrži opću dokumentaciju za Kerberos i "Kerberos Protocol proširenja: usluga za korisniku i ograničenu specifikaciju protokola za upotrebu i ograničene protokol za korištenje" ( Msdn.microsoft.com/en-us/library/cc246071%28v\u003dProt.13%29.aspx) - dokumentacija o ograničenoj delegaciji Kerberosa i S4U-a.

Savršen svijet

Nadam se da će gornja analiza postavki u prozoru Kerberos sučelje i njihove prepisnike u oglasu pomoći da bolje shvatite njihovo značenje. Ideal bi mogao biti svijet u kojem bi dokumentacija administriranih usluga sadržavala tehnički vodič za njihov pravilna postavka Za autentifikaciju. Međutim, ako je stvarnost daleko od idealnog, ove informacije trebaju pomoći poboljšanju vašeg alata. Razumijevanje tehničkog aspekta rada parametara bit će ključ uspjeha.



2 odgovora

riješeno.

Prva polovina je bio moj nadtlak. Drugo poluvrijeme ... Pa, nemam reči o tome šta nije u redu. U stvari, to nije greška ili nekompatibilnost, ali nešto je vrlo neugodno, isprekidano i teško je razumjeti. Prvo, sažetak, a potom objašnjenje dužine za one koji brinu:

Uprkos rečenicama poruka o pogreškama, to nije problem sa konceptualnim modelom (CSDL), ali problem uspoređivanja stupaca, koji se rekreirao sa prekidima.

Konceptualni model izgrađen je pomoću EDMXWRITER-a za sintaktičku analizu DBConText i njenim glavnim dijelovima.

Model je tada korišten za generiranje SQL skripta za prenos kruga u novu bazu podataka. Fokus je da je baza podataka Oracle.

Oracle je dijete i ne prihvaća imena dugih stupaca. Dakle, generirane skripte EDMX i SQL moraju se modificirati za stvaranje i usporedbu dijelova konceptualnog modela sa skraćenim imenima stupca.

Nije baš velika stvar. Dobro funkcionira. Pa gdje je sve pogriješilo po zlu?

Oracle ne podržava "kôd prvo". I iako je to učinjeno ručno, upotreba EDMXWrita je kodni pristup u Oracleu. Stoga, kada je prva šema EDMX-a demontirana, ekipana je na logičkim usporedbima. Odluka je bila privremeno uklanjanje bolova iz mojih C # modela, ručno ih dodajte u EDMX i mapiranje web.config oracle (mapiranje boola na broj (1,0)).

Sve opet Groovy. Ali zašto se i dalje ponavlja?

U različitim vremenima tokom razvoja, neki krajevi sporazuma - promjene C #, EDMX ili Oracle. I svaki put kada se čini, stupci su automatski dodijeljeni, a nisam znao. Ako je EDMX model ažuriran iz Oracle, uporediva je naznačena svojstva C #, koja nisu (kratka imena stupca). Ako je model ažuriran iz C # koda, mapiranje nije bilo sačuvano, a pokušali su uporediti dugačka imena stupaca koja nisu bila u Oracleu.

Bug sa ovim pristupom (prvi prvi hibridni kod i model) je ako želim nastaviti da kontroliram vlastite modele i obrađujem postavke potrebne za mali odnos prema djetetu, moram biti vrlo oprezan i slijediti značajku EDMX datoteke .

Web stranice, aplikacije, igre - Informativni resursi koji upravlja korisnici. Podijeliti dozvoljene i zabranjene operacije za jednog ili drugog korisnika akcije, koriste se prava pristupa (PD). Opseg PD oblikovanja uloga. Na primjer, pogledajte osnovnu stranicu s mogućnošću registracije.

Na ovoj stranici "žive" 3 uloge sa njihovim pravima i obavezama:

1.

Sve anonimne zadane postavke djeluju u ovoj ulozi. Ako obučemo goste lokaliteta s pravom "dodavanjem komentara", tada će korisnik koji je došao na stranicu moći komentirati vaše interesovanje. A ako ne, onda da komentirate sadržaj, prvo ćete se registrirati.

2.

Prošlost autentifikacija i autorizacija Anonimni get nova uloga. Mogu upravljati samo ovlašteni korisnici lični račun, Dodajte i uredite lične podatke, pogledajte informacije o drugim znakovima. Neregistrirani korisnici nemaju pravo na ove operacije.

3. Administrator

Ova zadana uloga korisniku daje puni pristup web mjestu. Administrator resursa dodaje, uklanja blokove i daje ili oduzima od drugih korisnika pravo na pristup jednoj ili drugoj funkcionalnosti.

Kako testirati i šta obraćate pažnju?

Prije svega, pokušat ćemo ne ukloniti "Super-administrator", igrajući se sa postavkama.

  • Stvorite siguran lik

Da biste se približili stvarnim aktivnostima na projektu, postoji dovoljno dodatnog korisnika sa sličnim administrativnim ovlastima. I već tim karakterom testiramo resurs i mijenjamo dozvole za pristup ostalih korisnika.

  • Provjerite nekoliko preglednika

Istovremeno radimo: u jednom modificiranju PD-a, u drugom, provjerite korištenje prava za korisnika, tako dijeleći korisničke sjednice.

  • Prolazimo direktnom vezom

Ispitna blok ograničenja, premještanje na njih URL adresa. Pogledajte neke podatke resursa trebaju biti nedostupne referencom za neovlašteno mjesto za goste. Ako je pristup ograničen, onda je sve u redu: Umjesto zatvorenih informacija, anonimni će dobiti poruku upozorenja u obliku posebne stranice, najčešće s kodom 403.

  • Testiramo blokiranje entiteta

Za resurse, poput ulaznica za karte i ture, važno je blokirati predmet kada nekoliko korisnika može odmah pristupiti. Postoje dvije mogućnosti blokiranja:

+ Optimističan blokiranje Prilikom uštede provjerava bazu podataka za više nova verzija Podaci koji ostavlja drugi korisnik. Ako je, tada trenutni korisnik ažurira ovu instancu entiteta.

+ Pesimističko blokiranje Entiteti se koriste kada optimistic generira previše sudara. U ovom slučaju, samo jedan korisnik trenutno koristi i mijenja ova opcija Entiteti.

Može se testirati s jednog računara u nekoliko preglednika ili različitih računa.

  • Koristimo test matricu

Pojednostavljuje rad testera, jasno pokazuje dozvoljene i zabranjene radnje, a samo pomaže da ništa ne propustite. Slikamo u njemu sve uloge, korisnike, varijacije ograničenja mogućnosti naših likova.

A evo najjednostavnijeg primjera test matrice:

Kontrola pristupa jedna je od glavnih provjera unutar. Čak i provjera lokalne biblioteke s tri uloge suočeni su s testom poteškoća. Ali popularni resursi sa desetak uloga, hiljade korisnika i milione dozvola zahtijevaju čitavu vojsku administratora! Teško nam je zamisliti ljestvicu štete ako testiranje uzima diletaža. Privucite kompetentne stručnjake i ne dozvolite prostore sigurnim vašim proizvodima!