1s za tega uporabnika ni na voljo nobena vloga. Najbolj zmedeno pogovorno okno v imeniku Active Directory. Kako testiramo in na kaj smo pozorni

2 odgovora

rešljiv.

Prvi polčas je bil moj spregled. Drugi polčas... no, nimam pojma, kaj je bilo narobe. Pravzaprav ne gre za napako ali nezdružljivost, ampak za nekaj zelo nerodnega, občasnega in težko razumljivega. Najprej povzetek in nato razlaga dolžine za tiste, ki jih zanima:

Kljub predlogom v sporočilu o napaki ne gre za težavo s konceptualnim modelom (CSDL), ampak za težavo s preslikavo stolpcev, ki se je občasno ponovno ustvarila.

Konceptualni model je bil zgrajen z uporabo EdmxWriter za razčlenjevanje DbContext in njegovih glavnih delov.

Model je bil nato uporabljen za ustvarjanje skriptov SQL za prevajanje sheme v novo bazo podatkov. Trik je v tem, da je baza podatkov Oracle.

Oracle je malček in ne sprejema dolgih imen stolpcev. Zato je bilo treba ustvarjene skripte EDMX in SQL spremeniti, da so ustvarili in preslikali dele konceptualnega modela s skrajšanimi imeni stolpcev.

Nič posebnega. Deluje dobro. Torej, kje je šlo vse narobe?

Oracle ne podpira "kode najprej". Čeprav je bilo to narejeno ročno, je uporaba EdmxWriter pristop v Oraclu, ki temelji na kodi. Zato je bilo prvo vezje EDMX razstavljeno binarno glede logičnih preslikav. Rešitev je bila, da sem začasno odstranil boole iz svojih modelov C#, jih ročno dodal v EDMX in izvedel preslikavo Oracle web.config (bool preslikava v NUMBER(1,0)).

Vse je spet groovy. Toda zakaj se ponavlja?

V različnih časih skozi razvojni proces se nekateri konci konvencije – bodisi C#, EDMX ali Oracle – spremenijo. In vsakič se zdi, da so bili stolpci samodejno prerazporejeni, ne da bi jaz vedel. Če je bil model EDMX posodobljen iz Oracla, so preslikave kazale na lastnosti C#, ki jih ni bilo (kratka imena stolpcev). Če je bil model posodobljen iz kode C#, preslikave niso bile shranjene in so poskušali preslikati dolga imena stolpcev, ki jih ni bilo v Oraclu.

Težava pri tem pristopu (prva hibridna koda in model) je, da moram biti zelo previden in paziti na lastnost datoteke EDMX, če želim še naprej upravljati lastne modele in urejati nastavitve, potrebne za razmerje z majhnim otrokom.

29.10.2012 Tim Springston

V tem članku bom poskušal razjasniti nekatere vidike »najbolj zmedenega pogovornega okna v AD«, ki je zavihek Delegiranje v oknu z lastnostmi objekta v vtičniku Active Directory Users and Computers konzole Microsoft Management Console (MMC) (dsa). .msc). Ogledali si bomo vrednosti atributov za različne konfiguracije. Razumevanje namena nastavitev vam bo omogočilo pravilno konfiguracijo aplikacij in storitev, ki uporabljajo delegiranje Kerberos v AD

Tim Springston ( [e-pošta zaščitena]) – višji servisni inženir tehnična podpora Oddelek za komercialno tehnično podporo pri Microsoftu, odgovoren za varnost in avtorizacijo

Eden najbolj aktivno razpravljanih na blogih Microsoftove tehnologije– avtentikacija s protokolom Kerberos. To je nenavadno, če upoštevamo, da sama tehnologija in njene funkcije od izdaje niso bile bistveno spremenjene Windows Server 2003. Kljub temu Kerberos ostaja predmet dodatne dokumentacije.

Stalna potreba po spoznavanju tehničnih vidikov delovanja Kerberos in zakaj prihaja do napak je posledica tega, da čeprav sama tehnologija ostaja enaka, so storitve, ki jo uporabljajo, in načini, na katere se uporablja, pogosto edinstveni. Toda tisto, kar ostaja nespremenjeno v vsakem scenariju, je namen nastavitev Active Directory (AD) in pomen sporočil o napakah.

V tem članku bom poskušal razjasniti nekatere vidike »najbolj zmedenega pogovornega okna v AD«, ki je zavihek Delegiranje v oknu z lastnostmi objekta v vtičniku Active Directory Users and Computers konzole Microsoft Management Console (MMC) (dsa). .msc). Ogledali si bomo vrednosti atributov za različne konfiguracije. Razumevanje namena nastavitev vam bo omogočilo pravilno konfiguracijo aplikacij in storitev, ki uporabljajo delegiranje Kerberos v AD.

Preprost vmesnik

Zakaj bi izgubljali čas z učenjem "preprostega" vmesnika? Treba je iti v podrobnosti, saj vam bo razumevanje tehničnega vidika delovanja različnih parametrov omogočilo uspešnejše odpravljanje napak v njihovi konfiguraciji. Zato začnimo z razumevanjem pomena odnosov. Če odprete snap-in Active Directory Users and Computers in odprete lastnosti računa računalnika, boste videli zavihek Delegation (ob predpostavki, da je vaš gozd na funkcionalni ravni Server 2003). Ta zavihek je prikazan na sliki 1. Za lažjo razlago namena stikal na tem zavihku slika 2 predlaga alternativna imena, ki bi jim jih lahko dali.

Preden se poglobimo v pomen parametrov, razložimo, kaj je delegiranje Kerberos. Delegiranje (imenovano tudi poosebljanje ali preprosto delegiranje) je postopek, v katerem aplikacija ali storitev pridobi vstopnice Kerberos za dostop do virov ali oddaljeni računalnik v imenu uporabnika. Zaupanja vreden subjekt za delegiranje je storitveni subjekt. račun, v imenu katerega teče aplikacija. Delegiranje omogoča aplikaciji dostop samo do tistih virov, do katerih bi imel uporabnik dostop, in uporabniku dostavi informacije. Primer scenarija bi bil spletni strežnik, ki se povezuje s sistemom SQL Server za prikaz podatkov, ki jih uporabnik potrebuje v spletnem odjemalcu.

Zgornji dve možnosti (»Ne zaupaj računalniku pri prenosu pooblastil« in »Zaupaj računalniku pri prenosu storitev«) na sliki 1 sta jasni. Tretja možnost je Kerberos Constrained Delegation (KCD), ki je v bistvu enaka preprosti delegaciji, vendar delegira poosebljeno identiteto samo določenim storitvam ali računalnikom. Ta možnost zagotavlja višjo raven varnosti z omejevanjem obsega pooblastitve identitete poosebljenega uporabnika, tako da so posledice, če je zaupana za pooblastitev ogrožena, omejene na možnost dostopa samo do tistih virov na oddaljeni strežniki, ki so ročno izbrani za omejeno delegiranje.

Četrta možnost na sliki 1 omogoča razširitev KCD in storitev za uporabnike (ali S4U). Razširitev S4U omogoča naprednejše funkcije, kot je spreminjanje protokola. Do preklapljanja protokola pride, ko se odjemalec pri vhodni povezavi najprej overi s protokolom, ki ni Kerberos, in nato preklopi na Kerberos. Natančen opis S4U je vsebovan v dokumentaciji »Exploring S4U Kerberos Extensions in Windows Server 2003« (msdn.microsoft.com/en-us/magazine/cc188757.aspx) in »Protocol Transition with Constrained Delegation Technical Supplement« (msdn.microsoft.com/ en-us/library/ff650469.aspx). Ti viri so namenjeni programerjem, ne skrbnikom, vendar je prav tako pomembno, da skrbnik razume, kaj je S4U, kako ga konfigurirati in kdaj uporabiti. V ta namen je tukaj kratek seznam zmogljivosti S4U, namenjenih skrbniku.

Pridobivanje informacij o uporabniškem žetonu brez dejanske pridobitve tega žetona in ne da bi zaupanja vredna storitev izdajanja vozovnic pridobila vozovnico za dodelitev vozovnic (TGT) od zaupanja vrednega uporabnika ali dostopa do poverilnic. Pridobljene informacije se nato lahko uporabijo na primer za avtorizacijske preglede. Ta razširitev je znana kot Services-For-User-to-Self (S4U2Self).

Pridobivanje vozovnic, ne da bi potrebovali servisno vstopnico Kerberos, brez dostopa do poverilnic, posredovanja TGT ali sploh brez preverjanja pristnosti – Storitve-za-uporabnika-proxyju (S4U2Proxy).

Izvedite prej omenjeno spremembo protokola. Odjemalec, ki dostopa do storitve podjetja, sprva preveri pristnost z metodo, ki ni Kerberos, in S4U omogoča zaupanja vredni storitvi, da preklopi že overjeno uporabniško sejo na uporabo Kerberos. Tu se najpogosteje pojavijo okvare, ki nastanejo zaradi konfiguracijskih napak, saj v dokumentaciji aplikacije pogosto ni jasno razloženo, ali je potrebna sprememba protokola in kako jo konfigurirati v AD. Vendar je ta tema pomembna, saj danes skoraj noben članek ni popoln brez omembe "oblaka". Odjemalci, ki se povezujejo prek oblaka, bodo najpogosteje uporabljali avtentikacijo NTLM zaradi pomanjkanja krmilnikov domene (DC), ki bi obravnavali zahteve za storitve Kerberos prek interneta. Sprememba protokola omogoča uporabniku te domene povezavo prek programsko opremo požarni zid ali proxy z uporabo enega od načinov preverjanja pristnosti (kot je NTLM) in nato preklopite na preverjanje pristnosti Kerberos, da izvedete nadaljnje ukrepe znotraj korporativno omrežje. Ker "oblak" pomeni povezovanje prek interneta, ste lahko prepričani, da boste, če uporabljate katero koli rešitev v oblaku, prej ali slej končali z menjalnikom protokola Kerberos.

Pod zunanjo lupino

Zdaj pa poglejmo, kaj se dejansko zgodi, ko je vsak od teh štirih parametrov nastavljen z uporabo LDP, da si ogledamo vrednosti atributov, ki so nastavljeni za vsako od konfiguracij. LDP je privzeto nameščen z vlogo domenskih storitev AD in se lahko uporablja kot orodje za obdelavo poizvedb LDAP z grafični vmesnik. LDP vam omogoča ustvarjanje lastnih poizvedb LDAP in ogled rezultatov v obliki, ki jo lahko berete. Dodatna prednost uporabe LDP za ogled vrednosti atributov (na primer userAccountControl) je ta, da prevede izračunane vrednosti parametrov v človeku berljivo obliko namesto v kombinacijo številk. Mimogrede, tudi novejše različice adsiedit.msc omogočajo podobno obdelavo izračunanih vrednosti parametrov.

Zato v sistemu Windows Server 2008 in novejših ldp.exe in adsiedit.msc zagotavljata samodejno prevajanje vrednosti atributov (kot je userAccountControl), s čimer odpravite potrebo po odpiranju calc.exe in pregledovanju spletne dokumentacije MSDN ali Microsoftove zbirke znanja.

Zdaj pa poglejmo spreminjanje vrednosti atributov v LDP glede na opravljene nastavitve. Začnimo z računom, ki ni zaupanja vreden za delegiranje. Slika 3 prikazuje, da račun Test2 ni zaupanja vreden in da je šestnajstiška vrednost 1020 atributa userAccountControl (ki ustreza decimalnemu 4128) prevedena v WORKSTATION_TRUST_ACCOUNT in PASSWD_NOTREQD.

Slika 4 prikazuje račun, ki je zaupanja vreden za delegiranje. Vidimo lahko, da je vrednost atributa userAccountControl prevedena v TRUSTED_FOR_DELEGATION, kar kaže, da je tej identiteti storitve dovoljena preprosta neomejena delegacija Kerberos.

Prenos zaupanja na določene storitve

Naslednje nastavitve so ključne, če nameravate uporabljati S4U ali KCD. Prvi primer ustreza izbiri možnosti Trust this računalnik za pooblastilo samo za določene storitve in samo uporaba Kerberos. Slika 5 prikazuje, da je s to izbiro atribut userAccountControl ponovno nastavljen na WORKSTATION_TRUST_ACCOUNT, atribut MsDS-AllowedToDelegateTo pa se samodejno zapolni z izbranimi storitvami, ki jim je dovoljeno delegiranje. Ta atribut ni poseljen ali nanj ne vpliva noben drug postopek. Vnosi navajajo določene storitve v računalniku, za katere je omogočeno pooblastilo.

Druga možnost je manj varna - Uporabite poljuben protokol za preverjanje pristnosti, ki omogoča spreminjanje protokola in drugih možnosti razširitve. Poleg vnosov v atributu MsDS-AllowedToDelegateTo ta nastavitev spremeni atribut userAccountControl, ki prejme TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (T2A4D), kot prikazuje slika 6. Brez zastavice T2A4D lahko pričakujete napako pri spremembi protokola. Te zastavice ne uporablja nobena druga komponenta. Upoštevajte, da je to preprosto stikalo izjemno pomembno, ker če ni izbrano, se bodo S4U2Self, S4U2Proxy in sprememba protokola obnašali drugače, kar lahko povzroči težave aplikacijam in storitvam, ki pričakujejo ustrezne vrste vstopnic. Zlasti sprememba protokola ne bo uspela in vstopnica ne bo izdana. S4U2Proxy in S4U2Self ne bosta imela zastavice za posredovanje, kar bo povzročilo napako: za S4U2Proxy - v vsakem primeru in za S4U2Self - v situacijah, ko morate poslati vstopnico drugi storitvi ali vozlišču.

"Naredi sam"

Kaj se zgodi, če mora račun storitve, ki ga uporablja aplikacija ali storitev, izvesti dejanje, ki zahteva spremembo protokola, in je zavihek Delegiranje nastavljen na Uporabi samo Kerberos namesto Uporabi katero koli avtentikacijo protokola za preverjanje pristnosti")? Za odjemalsko aplikacijo je lahko napaka: Obrazec za dostop Zavrnjeno pri poskusu dostopa do virov prek omrežja ali se lahko pojavi napaka pri preverjanju pristnosti NTLM brez obvestila ali nepričakovana napaka, odvisna od aplikacije. Negotovost, v kakšni obliki se bo napaka pokazala, nalogo še dodatno oteži. Najverjetnejši rezultat pa bo Access Denied. V tem primeru obvezno preglejte dokumentacijo aplikacije ali storitve in preverite, ali je navedeno, da bodo prišlo do sprememb protokola ali zahtev za vozovnice storitve brez TGT. Težava je v tem, da večina piscev dokumentacije v resnici ne razume pomena konfiguracije KCD in zato nudi malo ali nič razlage.

Metoda "naredi sam" za odkrivanje vzroka napake bi bila preprosto zbiranje podatkov o omrežnem sledenju s strežnika, zaupanja vrednega za delegiranje. Filtrirajte zbrane podatke po Kerberos (Kerberosv5 v Microsoft Network Monitorju ali kerberos v Wiresharku). Zahteva za storitev izdaje vozovnic (TGS_REQ) se pošlje distribucijskemu centru AD Kerberos (KDC) in vsebuje parametre KDC z nastavljeno zastavico omejenega pooblaščanja. Če je vstopnica zavrnjena, bo odgovor strežnika (TGS_REP) vseboval napako KDC_ERR_BAD_OPTION, ki jo je mogoče zlahka videti v rezultatih sledenja omrežja.

več podrobne informacije Delovanje implementacij Microsoft Kerberos lahko najdete v spletni specifikaciji Open Protocols. »Razširitve protokola Kerberos« (msdn.microsoft.com/en-us/library/cc233855%28v=PROT.13%29.aspx) vsebuje splošno dokumentacijo o Kerberosu in »Razširitve protokola Kerberos: Specifikacija protokola storitve za uporabnike in omejeno delegiranje » (msdn.microsoft.com/en-us/library/cc246071%28v=PROT.13%29.aspx) – dokumentacija o Kerberos in omejenem pooblaščanju S4U.

Popoln svet

Upam, da vam bo ta analiza nastavitev v oknu vmesnika Kerberos in njihove korespondence v AD pomagala bolje razumeti njihov pomen. Idealen svet bi bil tisti, v katerem bi dokumentacija upravljanih storitev zagotavljala tehnične smernice o tem, kako jih upravljati. pravilna nastavitev za avtentikacijo. Če pa realnost ni idealna, bi morale te informacije pomagati izboljšati vaš komplet orodij. Razumevanje tehničnega vidika delovanja parametrov bo ključ do uspeha.



Spletna mesta, aplikacije, igre so informacijski viri, ki jih upravljajo uporabniki. Za ločevanje dovoljenih in prepovedanih dejanj za določenega uporabnika se uporabljajo pravice dostopa (AP). Področje uporabe PD oblik vlog. Na primer, poglejmo osnovno spletno stran z možnostmi registracije.

Na takem mestu "živijo" 3 vloge s svojimi pravicami in odgovornostmi:

1.

Vsi anonimni uporabniki privzeto delujejo v tej vlogi. Če damo gostom spletnega mesta pravico »Dodaj komentarje«, potem bo uporabnik, ki obišče spletno mesto, lahko komentiral vaše zanimive stvari. Če ne, se boste morali za komentiranje vsebine najprej registrirati.

2.

Prejmejo anonimni posamezniki, ki so opravili avtentikacijo in avtorizacijo novo vlogo. Samo pooblaščeni uporabniki lahko upravljajo osebni račun, dodajanje in urejanje osebnih podatkov, ogled informacij o drugih znakih. Neregistrirani uporabniki nimajo pooblastil za izvajanje teh operacij.

3. Administrator

Ta privzeta vloga daje uporabniku popoln dostop do spletnega mesta. Skrbnik virov dodaja in briše bloke ter podeljuje ali odvzema drugim uporabnikom pravice za dostop do določene funkcionalnosti.

Kako testiramo in na kaj smo pozorni?

Najprej se bomo potrudili, da ne bomo izbrisali "Super Admin" z igranjem z nastavitvami.

  • Ustvarjanje varnega značaja

Za približevanje dejanskim aktivnostim na projektu bo dovolj dodaten uporabnik s podobnimi skrbniškimi pooblastili. In s tem likom testiramo vir in spreminjamo pravice dostopa drugih uporabnikov.

  • Preverjanje v več brskalnikih

To naredimo istočasno: v enem spremenimo PD, v drugem preverimo uporabo pravic za uporabnika in tako ločimo uporabniške seje.

  • Sledite neposredni povezavi

Omejitve blokiranja testiramo tako, da se do njih pomaknemo prek neposrednega URL-ja. Ogled nekaterih podatkov o virih ne bi smel biti na voljo prek povezave nepooblaščenemu gostu spletnega mesta. Če je dostop omejen, potem je vse ok: namesto tajnih podatkov bodo anonimni uporabniki prejeli opozorilo v obliki posebne strani, največkrat s kodo 403.

  • Testiranje blokiranja entitet

Za vire, kot so nakup vstopnic in turistične storitve, je pomembno zakleniti element, ko lahko do njega dostopa več uporabnikov hkrati. Obstajata dve možnosti blokiranja:

+ Optimistična blokada pri shranjevanju preveri bazo podatkov za več nova različica podatke, ki jih je pustil drug uporabnik. Če obstaja, potem Trenutni uporabnik ponovni prenosi ta izvod bistvo.

+ Pesimistična blokada Entitete se uporabljajo, ko optimistično povzroči preveč kolizij. V tem primeru samo en uporabnik v trenutnem času uporablja in spreminja to različico entitete.

Testirate lahko iz enega računalnika v več brskalnikih ali z različnimi računi.

  • Uporaba testne matrice

Poenostavlja delo testerja, jasno prikazuje dovoljena in prepovedana dejanja in preprosto pomaga, da ničesar ne zamudite. V njej opisujemo vse vloge, uporabnike, variacije omejitev naših likov.

In tukaj je najpreprostejši primer testne matrike:

Kontrola dostopa je eden glavnih pregledov v okviru. Tudi testiranje spletnega mesta lokalne knjižnice s tremi vlogami predstavlja izziv za preizkuševalca. Toda priljubljeni viri z desetinami vlog, tisoči uporabnikov in milijoni dovoljenj zahtevajo celo vojsko skrbnikov! Težko si predstavljamo obseg škode, če se testiranja loti amater. Najemite kompetentne strokovnjake in se izognite vrzeli v varnosti vaših izdelkov!