1s pre tohto používateľa nie sú k dispozícii žiadne roly. Najviac mätúce dialógové okno v Active Directory. Ako testujeme a čomu venujeme pozornosť

2 odpovede

riešiteľný.

Prvý polčas bol môj nedohľad. Druhá polovica... no, neviem, čo bolo zle. V skutočnosti to nie je chyba alebo nekompatibilita, ale niečo veľmi nepríjemné, občasné a ťažko pochopiteľné. Najprv zhrnutie a potom vysvetlenie dĺžky pre tých, ktorých to zaujíma:

Napriek návrhom chybového hlásenia to nie je problém s konceptuálnym modelom (CSDL), ale problém s mapovaním stĺpcov, ktorý sa občas obnovuje.

Koncepčný model bol vytvorený pomocou EdmxWriter na analýzu DbContext a jeho hlavných častí.

Model sa potom použil na generovanie SQL skriptov na preklad schémy do novej databázy. Trik je v tom, že databáza je Oracle.

Oracle je dieťa a neakceptuje dlhé názvy stĺpcov. Vygenerované EDMX a SQL skripty preto museli byť upravené tak, aby vytvárali a mapovali časti koncepčného modelu so skrátenými názvami stĺpcov.

Nie je to veľký problém. Funguje to dobre. Kde sa to teda všetko pokazilo?

Oracle nepodporuje "code first". Hoci to bolo vykonané manuálne, používanie EdmxWriter je v Oracle prístup založený na kóde. Preto, keď bol prvý obvod EDMX rozobratý, išlo o binárne logické mapovania. Riešením bolo dočasné odstránenie boolov z mojich modelov C#, ich manuálne pridanie do EDMX a mapovanie Oracle web.config (mapovanie boolov na NUMBER(1,0)).

Všetko je opäť famózne. Ale prečo sa to stále opakuje?

V rôznych časoch procesu vývoja sa niektoré konce konvencie – buď C#, EDMX alebo Oracle – menia. A zakaždým, keď sa zdá, že stĺpce boli automaticky preradené bez toho, aby som o tom vedel. Ak bol model EDMX aktualizovaný z Oracle, mapovania ukazovali na vlastnosti C#, ktoré tam neboli (krátke názvy stĺpcov). Ak bol model aktualizovaný z kódu C#, mapovania sa neuložili a pokúsili sa namapovať dlhé názvy stĺpcov, ktoré neboli v Oracle.

Problém s týmto prístupom (prvý hybridný kód a model) je, že ak chcem naďalej spravovať svoje vlastné modely a spracovávať nastavenia potrebné pre vzťah s malým dieťaťom, musím byť veľmi opatrný a dávať pozor na vlastnosť súboru EDMX.

29.10.2012 Tim Springston

V tomto článku sa pokúsim objasniť niektoré aspekty „najmätúcejšieho dialógového okna v AD“, ktorým je karta Delegovanie v okne vlastností objektu modulu Microsoft Management Console (MMC) Active Directory Users and Computers (dsa .msc). Pozrime sa na hodnoty atribútov pre rôzne konfigurácie. Pochopenie účelu nastavení vám umožní správne nakonfigurovať aplikácie a služby, ktoré používajú delegovanie Kerberos v AD

Tim Springston ( [chránený e-mailom]) – hlavný servisný technik technická podpora Divízia obchodnej technickej podpory v spoločnosti Microsoft, zodpovedná za bezpečnosť a autorizáciu

Jeden z najaktívnejšie diskutovaných na blogoch technológie spoločnosti Microsoft– autentifikácia pomocou protokolu Kerberos. Je to zvláštne vzhľadom na to, že samotná technológia a jej funkcie neprešli od svojho vydania výraznými zmenami Windows Server 2003. Napriek tomu zostáva Kerberos predmetom ďalšej dokumentácie.

Pretrvávajúca potreba učiť sa technické aspekty toho, ako Kerberos funguje a prečo dochádza k chybám, je spôsobené tým, že zatiaľ čo samotná technológia zostáva rovnaká, služby, ktoré ju používajú, a spôsoby, akými sa používa, sú často jedinečné. Čo však zostáva v každom scenári konštantné, je zámer nastavení Active Directory (AD) a význam chybových hlásení.

V tomto článku sa pokúsim objasniť niektoré aspekty „najmätúcejšieho dialógového okna v AD“, ktorým je karta Delegovanie v okne vlastností objektu modulu Microsoft Management Console (MMC) Active Directory Users and Computers (dsa .msc). Pozrime sa na hodnoty atribútov pre rôzne konfigurácie. Pochopenie účelu nastavení vám umožní správne nakonfigurovať aplikácie a služby, ktoré používajú delegovanie Kerberos v AD.

Jednoduché rozhranie

Prečo strácať čas učením sa „jednoduchého“ rozhrania? Je potrebné ísť do detailov, pretože pochopenie technického aspektu fungovania rôznych parametrov vám umožní úspešnejšie opraviť chyby v ich konfigurácii. Začnime preto pochopením významu postojov. Ak otvoríte modul Active Directory Users and Computers a prejdete do vlastností konta počítača, uvidíte kartu Delegácia (za predpokladu, že vaša doména je na funkčnej úrovni Server 2003). Táto karta je znázornená na obrázku 1. Aby ste vysvetlili účel prepínačov na tejto karte, obrázok 2 navrhuje alternatívne názvy, ktoré by ste im mohli dať.

Predtým, než sa vrhneme na to, čo znamenajú parametre, vysvetlíme si, čo je to delegácia Kerberos. Delegovanie (tiež nazývané zosobnenie alebo jednoduché delegovanie) je proces aplikácie alebo služby, ktorá získava lístky Kerberos na prístup k zdrojom alebo vzdialený počítač v mene užívateľa. Subjekt dôveryhodný pre delegovanie je subjektom služby. účtu, v mene ktorej aplikácia beží. Delegovanie umožňuje aplikácii pristupovať iba k tým zdrojom, ku ktorým by mal prístup používateľ, a doručovať používateľovi informácie. Príkladom môže byť webový server pripájajúci sa k systému SQL Server na zobrazenie údajov, ktoré používateľ potrebuje vo webovom klientovi.

Dve najvyššie možnosti („Nedôverovať počítaču na delegovanie“ a „Dôverovať počítaču pri delegovaní akýchkoľvek služieb“) na obrázku 1 sú samozrejmé. Treťou možnosťou je Kerberos Constrained Delegation (KCD), čo je v podstate to isté ako jednoduché delegovanie, ale deleguje zosobnenú identitu iba na určené služby alebo počítače. Táto možnosť poskytuje vyššiu úroveň zabezpečenia obmedzením rozsahu delegovania identity zosobneného používateľa, takže ak dôjde k ohrozeniu identity služby, ktorej delegovanie je dôveryhodné, dôsledky sú obmedzené na možnosť prístupu iba k týmto zdrojom na vzdialené servery, ktoré sú manuálne vybrané pre obmedzené delegovanie.

Štvrtá možnosť na obrázku 1 umožňuje rozšírenie KCD a služby pre používateľa (alebo S4U). Rozšírenie S4U poskytuje pokročilejšie funkcie, ako je napríklad zmena protokolu. K prepínaniu protokolov dochádza, keď sa klient pri prichádzajúcom pripojení najprv overí pomocou iného protokolu ako Kerberos a potom sa prepne na Kerberos. Detailný popis S4U je obsiahnutý v dokumentácii „Skúmanie rozšírení S4U Kerberos v systéme Windows Server 2003“ (msdn.microsoft.com/en-us/magazine/cc188757.aspx) a „Prechod protokolu s technickým doplnkom obmedzeného delegovania“ (msdn.microsoft.com/ en-us/library/ff650469.aspx). Tieto zdroje sú zamerané na programátorov, nie na administrátorov, ale je tiež dôležité, aby administrátor pochopil, čo je S4U, ako ho nakonfigurovať a kedy ho použiť. Na tento účel je tu krátky zoznam schopností S4U určených pre správcu.

Získanie informácií o používateľskom tokene bez toho, aby sa daný token skutočne získal a bez toho, aby dôveryhodná služba lístkov získala lístok na udeľovanie lístkov (TGT) od dôveryhodného používateľa alebo prístup k povereniam. Získané informácie je potom možné použiť napríklad na kontrolu autorizácie. Toto rozšírenie je známe ako Services-For-User-To-Self (S4U2Self).

Získavanie lístkov bez vyžadovania servisného lístka Kerberos, bez prístupu k povereniam, odovzdania TGT alebo vôbec bez overenia – Services-For-User-To-Proxy (S4U2Proxy).

Vykonajte vyššie uvedenú zmenu protokolu. Klient pristupujúci k podnikovej službe sa najprv autentifikuje pomocou inej metódy ako Kerberos a S4U umožňuje dôveryhodnej službe prepnúť reláciu už overeného používateľa na používanie Kerberos. Tu sa najčastejšie vyskytujú zlyhania spôsobené chybami konfigurácie, pretože dokumentácia aplikácie často jasne nevysvetľuje, či je potrebná zmena protokolu alebo ako ju nakonfigurovať v AD. Táto téma je však relevantná, pretože dnes takmer žiadny článok nie je úplný bez uvedenia „cloudu“. Klienti, ktorí sa pripájajú cez cloud, budú najčastejšie používať autentifikáciu NTLM kvôli nedostatku doménových radičov (DC), ktoré spracovávajú požiadavky na lístky služby Kerberos cez internet. Zmena protokolu umožňuje používateľovi tejto domény pripojiť sa cez softvér POŽARNE DVERE alebo proxy pomocou jednej z metód overovania (napríklad NTLM) a potom prepnite na overenie Kerberos ďalšie akcie vnútri firemná sieť. Keďže „cloud“ znamená pripojenie cez internet, môžete si byť istí, že ak používate akékoľvek cloudové riešenie, skôr či neskôr skončíte pri používaní meniča protokolu Kerberos.

Pod vonkajším plášťom

Teraz sa pozrime na to, čo sa vlastne stane, keď je každý z týchto štyroch parametrov nastavený pomocou LDP, aby sme sa pozreli na hodnoty atribútov, ktoré sú nastavené pre každú z konfigurácií. LDP sa štandardne inštaluje s rolou AD Domain Services a dá sa použiť ako nástroj na spracovanie dotazov LDAP grafické rozhranie. LDP vám umožňuje vytvárať si vlastné LDAP dotazy a zobrazovať výsledky v ľahko čitateľnom formáte. Ďalšou výhodou použitia LDP na zobrazenie hodnôt atribútov (napríklad userAccountControl) je to, že vypočítané hodnoty parametrov prevedie do formy čitateľnej pre človeka namiesto kombinácie čísel. Mimochodom, novšie verzie adsiedit.msc tiež poskytujú podobné spracovanie vypočítaných hodnôt parametrov.

V systéme Windows Server 2008 a novších preto ldp.exe a adsiedit.msc poskytujú automatický preklad hodnôt atribútov (ako je userAccountControl), čím sa eliminuje potreba otvárať calc.exe a konzultovať online dokumentáciu MSDN alebo Microsoft Knowledge Base.

Teraz sa pozrime na zmenu hodnôt atribútov v LDP v závislosti od vykonaných nastavení. Začnime s účtom, ktorý nie je dôveryhodný na delegovanie. Obrázok 3 ukazuje, že účet Test2 nie je dôveryhodný a že hexadecimálna hodnota 1020 atribútu userAccountControl (zodpovedajúca desiatkovej 4128) je preložená na WORKSTATION_TRUST_ACCOUNT a PASSWD_NOTREQD.

Obrázok 4 zobrazuje účet, ktorý je dôveryhodný pre delegovanie. Hodnotu atribútu userAccountControl môžeme vidieť preloženú na TRUSTED_FOR_DELEGATION, čo naznačuje, že pre túto identitu služby je povolené jednoduché neobmedzené delegovanie Kerberos.

Delegovanie dôvery na konkrétne služby

Nasledujúce nastavenia sú kritické, ak chcete použiť S4U alebo KCD. Prvý prípad zodpovedá výberu Dôvery túto možnosť počítač pre delegovanie iba na určené služby a používať iba Kerberos. Obrázok 5 ukazuje, že pri tomto výbere sa atribút userAccountControl opäť nastaví na WORKSTATION_TRUST_ACCOUNT a atribút MsDS-AllowedToDelegateTo sa automaticky vyplní vybratými službami, ktoré môžu delegovať. Tento atribút nie je vyplnený ani ovplyvnený žiadnym iným postupom. Položky uvádzajú konkrétne služby v počítači, pre ktoré je povolené delegovanie.

Druhá možnosť je menej bezpečná - Použiť akýkoľvek autentifikačný protokol, ktorý umožňuje zmenu protokolu a ďalšie možnosti rozšírenia. Okrem záznamov v atribúte MsDS-AllowedToDelegateTo toto nastavenie mení atribút userAccountControl, ktorý prijíma TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (T2A4D), ako ukazuje obrázok 6. Bez príznaku T2A4D môžete očakávať chybu zmeny protokolu. Tento príznak nepoužíva žiadny iný komponent. Upozorňujeme, že tento jednoduchý prepínač je mimoriadne dôležitý, pretože ak nie je vybratý, S4U2Self, S4U2Proxy a zmena protokolu sa budú správať odlišne, čo môže spôsobiť problémy aplikáciám a službám, ktoré očakávajú zodpovedajúce typy lístkov. Zlyhá najmä zmena protokolu a nebude vystavený lístok. S4U2Proxy a S4U2Self nebudú mať príznak forwardable, čo bude mať za následok chybu: pre S4U2Proxy - v každom prípade a pre S4U2Self - v situáciách, keď potrebujete poslať lístok do inej služby alebo uzla.

"Urob si sám"

Čo sa stane, ak konto služby používané aplikáciou alebo službou potrebuje vykonať akciu, ktorá vyžaduje zmenu protokolu, a karta Delegovanie je nastavená na možnosť Použiť iba Kerberos namiesto Použiť autentifikáciu pomocou akéhokoľvek overovacieho protokolu“)? V prípade klientskej aplikácie môže byť chyba: Prístupový formulár Zamietnuté pri pokuse o prístup k prostriedkom cez sieť alebo sa môže vyskytnúť chyba overenia NTLM bez upozornenia alebo neočakávaná chyba závislá od aplikácie. Neistota formy, akou sa chyba prejaví, úlohu ešte viac komplikuje. Najpravdepodobnejším výsledkom však bude Access Denied. V takejto situácii skontrolujte dokumentáciu aplikácie alebo služby a zistite, či sa v nej uvádza, že dôjde k zmenám protokolu alebo žiadostiam o lístky zo služby bez TGT. Problém je v tom, že väčšina autorov dokumentácie v skutočnosti nerozumie významu konfigurácie KCD, a preto poskytuje len malé alebo žiadne vysvetlenie.

Metódou „urob si sám“ na identifikáciu príčiny chyby môže byť jednoduché zhromaždenie údajov sledovania siete zo servera dôveryhodného na delegovanie. Filtrujte zhromaždené údaje podľa protokolu Kerberos (Kerberosv5 v programe Microsoft Network Monitor alebo kerberos v programe Wireshark). Požiadavka na službu vydávania lístkov (TGS_REQ) sa odošle do distribučného centra AD Kerberos (KDC) a obsahuje parametre KDC s nastaveným príznakom obmedzeného delegovania. Ak je lístok odmietnutý, odpoveď servera (TGS_REP) bude obsahovať chybu KDC_ERR_BAD_OPTION, ktorú možno ľahko vidieť vo výsledkoch sledovania siete.

Viac detailné informácie Fungovanie implementácií Microsoft Kerberos možno nájsť v online špecifikácii otvorených protokolov. „Rozšírenia protokolu Kerberos“ (msdn.microsoft.com/en-us/library/cc233855%28v=PROT.13%29.aspx) obsahuje všeobecnú dokumentáciu o protokole Kerberos a „Rozšírenia protokolu Kerberos: Špecifikácia protokolu pre používateľov a obmedzeného delegovania » (msdn.microsoft.com/en-us/library/cc246071%28v=PROT.13%29.aspx) – dokumentácia o obmedzenom delegovaní Kerberos a S4U.

Perfektný svet

Dúfam, že táto analýza nastavení v okne rozhrania Kerberos a ich korešpondencia v AD vám pomôže lepšie pochopiť ich význam. Ideálny by bol svet, v ktorom by dokumentácia riadených služieb poskytovala technický návod, ako ich prevádzkovať. správne nastavenie na overenie. Ak je však realita menej ako ideálna, tieto informácie by vám mali pomôcť zlepšiť vašu súpravu nástrojov. Kľúčom k úspechu bude pochopenie technického aspektu fungovania parametrov.



Webové stránky, aplikácie, hry sú informačné zdroje, ktoré spravujú používatelia. Na oddelenie povolených a zakázaných akcií pre konkrétneho používateľa sa používajú prístupové práva (AP). Rozsah aplikácie PD tvorí roly. Pozrime sa napríklad na základnú webovú stránku s možnosťami registrácie.

Na takejto stránke „žijú“ 3 role s vlastnými právami a povinnosťami:

1.

Všetci anonymní používatelia konajú v tejto úlohe štandardne. Ak dáme hosťom stránky právo „Pridať komentáre“, používateľ, ktorý navštívi stránku, bude môcť komentovať vaše zaujímavé veci. Ak nie, budete sa musieť najprv zaregistrovať, aby ste mohli komentovať obsah.

2.

Dostávajú anonymné osoby, ktoré prešli overením a autorizáciou novú rolu. Spravovať môžu iba oprávnení používatelia osobný účet, pridávať a upravovať osobné údaje, zobrazovať informácie o iných postavách. Neregistrovaní užívatelia nie sú oprávnení vykonávať tieto operácie.

3. správca

Táto predvolená rola poskytuje používateľovi úplný prístup k lokalite. Správca zdrojov pridáva a odstraňuje bloky a udeľuje alebo odoberá iným používateľom práva na prístup k určitým funkciám.

Ako testujeme a na čo si dávame pozor?

Najprv sa pokúsime neodstrániť „Super Admin“ hraním s nastaveniami.

  • Vytvorenie bezpečného charakteru

Na priblíženie sa k skutočným aktivitám na projekte bude stačiť ďalší používateľ s podobnými právomocami správcu. A s touto postavou testujeme zdroj a meníme prístupové práva ostatných používateľov.

  • Kontrola vo viacerých prehliadačoch

Robíme to súčasne: v jednom zmeníme PD, v druhom skontrolujeme uplatnenie práv pre užívateľa, čím oddelíme užívateľské relácie.

  • Nasledujte priamy odkaz

Obmedzenia blokovania testujeme tak, že na ne prejdeme cez priamu adresu URL. Zobrazenie niektorých údajov o zdrojoch by nemalo byť dostupné prostredníctvom odkazu pre neoprávneného hosťa stránky. Ak je prístup obmedzený, potom je všetko v poriadku: namiesto utajovaných skutočností dostanú anonymní používatelia varovnú správu vo forme špeciálnej stránky, najčastejšie s kódom 403.

  • Testovanie blokovania entity

Pre zdroje, ako sú predaj vstupeniek a zájazdové služby, je dôležité uzamknúť prvok, keď k nemu môžu naraz pristupovať viacerí používatelia. Existujú dve možnosti blokovania:

+ Optimistické blokovanie pri ukladaní skontroluje v databáze ďalšie Nová verziaúdaje zanechané iným používateľom. Ak existuje, tak súčasný užívateľ opätovné sťahovanie túto kópiu esencia.

+ Pesimistické blokovanie Entity sa používajú, keď optimistický vytvára príliš veľa kolízií. V tomto prípade používa a mení túto verziu entity iba jeden používateľ.

Testovať môžete z jedného počítača vo viacerých prehliadačoch alebo s rôznymi účtami.

  • Použitie testovacej matice

Zjednodušuje prácu testera, jasne ukazuje povolené a zakázané činnosti a jednoducho pomáha nič nezmeškať. Popisujeme v nej všetky roly, užívateľov, variácie obmedzení našich postáv.

A tu je najjednoduchší príklad testovacej matice:

Kontrola prístupu je jednou z hlavných kontrol v rámci. Dokonca aj testovanie webovej stránky miestnej knižnice s tromi rolami predstavuje pre testera výzvy. Ale obľúbené zdroje s desiatkami rolí, tisíckami používateľov a miliónmi povolení vyžadujú celú armádu správcov! Je pre nás ťažké predstaviť si rozsah škôd, ak sa testovania ujme amatér. Najmite si kompetentných špecialistov a vyhnite sa medzerám v bezpečnosti vašich produktov!