Než odpovím na otázku v titulku, možná někdo netuší co je to RODC, proto si dovolím nejprve popsat tento typ řadiče.
RODC je novým typem řadiče domény ve Windows Server 2008. Pamětníci Windows NT by mohli namítnout, že zase tak nový typ řadiče to není, protože už v NT byl tzv. BDC (Backup Domain Controller), který by podle názvu RODC odpovídal. Je pravda, že skutečně stejně jako kdysi BDC uchovává nový řadič kopii adresářové databáze pouze pro čtení, ale současně nabízí mnohem více funkcionality.
Hlavními vlastnostmi RODC jsou:
- Active Directory (AD) databáze pouze pro čtení.
- Aplikace, které potřebují pouze číst z AD, mohou využívat RODC. Jakmile ale potřebují provést změnu v databázi, musí se obrátit na „zapisovatelný“ DC, tzv. RWDC (Read Write Domain Controller), ze kterého se změna replikuje zpět na RODC.
- Application Compatibility with RODCs: http://technet.microsoft.com/en-us/library/cc754165.aspx
- Jednosměrná replikace.
- Směrem z RODC se nic nereplikuje (i kdyby na něm byla změna přímo provedena – např. něco byste smazali v SYSVOLu). Jednosměrná replikace pouze na RODC snižuje komplexnost replikační struktury a snižuje riziko replikace změn z poboček, kde bývá nejčastěji RODC nasazen a kde většinou bývá menší míra zabezpečení serverů.
- Filtrované atributy (Filtered Attribute Set – FAS)
- Administrátor může specifikovat atributy (kromě system-critical atributů), které se nebudou replikovat na žádný RODC v lese. To může zamezit vyzrazení některých informací v případě kompromitování RODC.
- Steps to Add an Attribute to the RODC Filtered Attribute Set: http://technet.microsoft.com/en-us/library/cc772331.aspx
- Omezení kešování hesel
- Jeden z největších benefitů. Po instalaci RODC neuchovává žádná uživatelská ani počítačová hesla pro přihlášení (kromě vlastního počítačového účtu RODC a krbtgt). Když obdrží požadavek na autentizaci, tak ho automaticky přeposílá na RWDC. Administrátor může nastavit skupinu uživatelských účtů a účtů počítačů, jejichž hesla budou kešovány na RODC (typicky pouze pro zaměstnance pobočky a jejich počítače). Pak tyto účty jsou autentizovány přímo RODC bez použití RWDC. Důvodem omezení replikace hesel na RODC je bezpečnost. V případě kompromitování RODC nemá útočník způsob jak získat hesla např. administrativních účtů v doméně, protože tyto účty se nekešují na RODC, tj. nejsou fyzicky na tomto serveru (pro tyto účty se autentizace provádí na RWDC, který je typicky umístěn jen v centrále). Kompromitované účty zaměstnanců pobočky je navíc možné rychle a hromadně resetovat smazáním účtu počítače RODC na RWDC.
- Více o kešování hesel a fungování autentizace na RODC se dočtete zde: http://technet.microsoft.com/en-us/library/cc754218.aspx
- Admin role separation
- Většinou na pobočce DC nezastává pouze funkci repliky AD, ale jsou na něm nainstalovány i další služby. V předchozích verzích bylo obtížné delegovat administraci na pobočkovém řadiči domény, protože buď jste museli delegovaného uživatele zařadit do doménových administrátorů (a tím mohl provádět i změny do AD) nebo jste ho mohli zařadit do skupiny Server Operators a tím sice nemohl provádět změny do AD a při tom měl administrativní oprávnění k operačnímu systému serveru, ale zároveň tím získal možnost administrovat všechny OS řadičů domény v celé doméně. Nyní máte možnost svěřit delegovanému uživateli jen administrativní oprávnění k OS jen na jeden konkrétní řadič domény (např. pro možnost restartovat nějakou aplikaci, aplikování aktualizací, instalaci ovladačů apod.)
- Podpora DNS služby
- I DNS server umí fungovat na RODC a i on je pouze pro čtení. Pro konfiguraci DNS není potřeba nic zvláštního nastavovat (postupuje se stejně jako u RWDC), jen všechny požadavky na zápis do DNS databáze budou automaticky přeposílány na RWDC.
- Dvou-fázová instalace RODC
- Administrátor může předem na RWDC vytvořit účet pro nový RODC (computer i server object) a delegovat uživatele, který může následně provést instalaci konkrétního RODC. Uživatel pak např. v pobočce už jen spustí instalaci, která může být i navíc automatizována pomocí odpovědního souboru.
RODC může replikovat pouze z Windows Server 2008 RWDC, proto je potřeba alespoň 1 mít nainstalován. Replikace z Windows Server 2003 DC nebo z RODC není možná.
RODC je téměř ideální nasazovat na pobočkách. Na pobočkách totiž je mnohem méně věnovaná pozornost bezpečnosti serverů a to jak fyzické, tak i logické. Většinou na pobočce nebývá stále přítomen administrátor, z prostorových důvodů servery (a tedy ani řadič domény) nebývají uzamčeny v serverovně, ale jsou umístěny přímo v kanceláři (v lepším případě jsou uzamčeny v racku, ale už jsem viděl je i povalovat se na společné chodbě, protože moc hučely). Není tedy divu, že k serverům a DC mají přístup na pobočkách obyčejní zaměstnanci a bohužel i v mnoha případech cizí osoby.
RODC není samospasitelným řešením bezpečnosti DC, ale v kombinaci s instalací na Windows Server 2008 Server Core a technologií BitLocker výrazně zvyšuje bezpečnost tohoto serveru.
Obr: Fyzická bezpečnost DC na pobočce.
A nyní se vrátím konečně k otázce z titulku tohoto článku, zda může RODC zapisovat do vlastní databáze.
RODC má skutečně databázi AD jen pro čtení až na jednu skupinu atributů. V běžné situaci, pokud se pošle na RODC zápisová operace, RODC přesměrovává požadavek na RWDC, který pak tuto změnu replikuje zpět na RODC. Konkrétně, jestliže aplikace se pokusí zapsat na RODC, RODC ji odpoví referencí, informující aplikaci, že by měla svůj požadavek na zápis nasměrovat na RWDC. Pokud aplikace nepodporuje reference, nejspíše nebude fungovat (proto byste je měli důsledně otestovat, než je nasadíte na RODC – viz odkaz výše „
Application Compatibility with RODCs“.
Představte si ale situaci, kdy pobočkové RODC nebude mít konektivitu k žádnému RWDC a v té době se někdo pokusí hacknout uživatelský účet nějakým password attackem. Za normální situace, by se na RWDC automaticky inkrementoval atribut BadPwdCount a jakmile by útočník dosáhl počtu povolených pokusů definovaných v politice hesel (v GPO nebo v PSO), účet by byl uzamčen. Protože ale RODC by nemuselo mít konektivitu k RWDC, které by zvýšilo čítač BadPwdCount (to by byla zranitelnost RODC, protože účet uživatele by se nikdy neuzamkl), tak z tohoto důvodu RODC může zapisovat ve vlastní databázi atribut na počet chybných pokusů a přihlášení, tedy BadPwdCount a také atribut LastLogon, aby umožnil případné zamčení účtu.
jh