Právě jste byli najati do společnosti A a starý správce už tam není. Začnou přicházet žádosti o přidání uživatelů do skupiny internetových omezení. Když se podíváte na skupiny, žádné z těchto jmen nedává smysl a neexistuje žádná dokumentace, která by vysvětlovala, na co má každá skupina práva a co dělá. To by vzbudilo obavy. Z bezpečnostních důvodů víte, zda má každý správná práva.
Jak byste zjistili, na co mají skupiny práva? Existuje nějaký nástroj, který najde tyto informace pro vás?
Dovolte mi předmluvu, jaká bude pravděpodobně dlouhotrvající odpověď s „Neexistuje jednoduché řešení“.
Řešení tohoto problému bude vyžadovat nějakou strategickou práci (proto jsem doporučil ne přesunout to do SF).
Teď vysvětlím proč.
Windows, ve svém jádru, je většinou založena na DAC model řízení přístupu.
Vše v OS je zabezpečitelné pomocí ACL - soubory, složky, registr, pojmenované kanály, zásuvky, sdílené položky atd. Atd.
Používání AD skupin vám umožňuje abstraktní to na model typu RBAC, ale interně je to stále model DAC. (Mám na mysli to, že pro skupinu (tj. Roli) můžete vytvořit ACE (položka řízení přístupu), ale stále vytváříte ACE - a to je to, co bude při přístupu ověřeno).
Důraz na "většinou".
Existuje několik zřetelných výjimek:
Ale počkejte, to je jen v samotném OS ...
Windows jako platforma umožňuje a povzbuzuje aplikace (produkty třetích stran, produkty MS a doplňky OS) k použití členství ve skupině AD jako mechanismu RBAC:
Začínáte vidět můj názor?
Nechci říkat, že je to beznadějné, ale ...
Shrnout:
Chcete-li najít konečný seznam oprávnění, která má určitá skupina, musíte (nebo nástroj) rekurzivně zkontrolovat VŠECHNY z následujících (a nezapomeňte také opakovat členství ve skupině):
Je to kompletní?
Bohužel ne. Například jsem nezahrnul přezkoumání všech stolních počítačů v org, protože u těch shouldnt jsou na nich nastavena specifická oprávnění na úrovni AD skupiny (kromě např. Administrátorů a HelpDesk) - ale poznámka které často dělají.
Ale toto není úplný seznam ...
To je velká nevýhoda použití modelu DAC - „D
“ by mohl být stejně dobře použit pro „Distribuovaný“, protože neexistuje centrální místo pro vyhledávání všech těchto ACL.
Jak jsem poznamenal v Jaký je rozdíl mezi RBAC a DAC/ACL? :
- Definice DAC jsou obvykle připojeny k datům/zdrojům, zatímco RBAC je obvykle definována na dvou místech: v kódu/konfiguraci/metadatech (přístup k rolím) a na uživatelském objektu (nebo tabulce - role, které má každý uživatel).
Teď něco o řešeních:
A poslední varovné slovo pro ty, kteří mají to štěstí, že jsou před nepříjemnou situací, ve které se momentálně ocitnete:
Rozhodně podívejte se na centralizovanou autorizační platformu, jako jsou produkty IdM/IAM/EAM. (Všimněte si, že některé jsou mnohem lepší než jiné, a některé by ani tuto situaci nevyřešily.)
tl; dr: Jste správně a skutečně zašroubovaní . Viz výše. ;)
(ale veškerá naděje není ztracena ...)
Odpověď na to závisí přesně na tom, jak chcete tato data zobrazit/spravovat. Mým doporučením by bylo PowerShell, abychom to všechno získali.
Pokud se rozhodnete používat PowerShell, můžete použít nativní AD Cmdlets nebo Quest Cmdlets zdarma (http://www.quest.com/powershell/activeroles-server.aspx). Chcete-li používat nativní Cmdlets, musíte mít ve své doméně alespoň jeden řadič domény Windows Server 2008 R2 nebo alespoň jednu instanci v sadě konfigurace AD LDS, která je spuštěna na serveru Windows Server 2008 R2 - viz http: //technet.Microsoft.com/en-us/library/ee617195.aspx pro podrobnosti.
Ve skutečnosti stačí jen rekurzivně zkontrolovat ACL složky pro přístupovou úroveň určité skupiny. Existuje několik míst ( zde a zde ), kde se lidé pokoušejí, ale vzhledem k tomu, že se jedná o neuvěřitelně velké množství struktur souborů, které skript musí procházet, by určitě mohl nějakou dobu trvat. Pro vnořené skupiny je to ještě složitější.
ÚPRAVA: @AviD je na místě o původní syntaxi příkazu a dělala úplně špatnou věc! Upraveno tak, aby bylo více na téma.
To lze provést příkazem Windows Prompt takto:
Přejděte do adresáře, do kterého chcete sestavu uložit, pokud ji nikdo nevybral, měla by být výchozí adresář přihlášeného uživatele. Příkladem by bylo cd C:\Users\Administrator\Desktop
Vytvořte sestavu pomocí následujícího příkazu:
gpresult /s servername /user INTERNAL\user1 /h gpreport.html
Výše uvedený příkaz vygeneruje sestavu založenou na GPOS a pravidlech použitých pro uživatele, pro kterého je sestava vybrána. Tento uživatel by měl být někdo, kdo je členem určité skupiny, nebo byste mohli vytvořit zkušebního uživatele, který otestuje nastavení určité skupiny.
Dalším způsobem, jak tyto informace najít, je editace GPO) a ve Windows 2008 byste měli mít možnost vidět všechna nastavení a setřídit je podle stavu, pak byste mohli zaznamenat všechna povolená nastavení GPO.