V následujícím článku se pokusíme nastínit vývoj a realizaci systému údržby uživatelských účtů na FI, sdílení disků mezi počítači, důvody k tomuto řešení a naznačit některé plány do budoucna. Protože nemáme řešení, které by umožnilo sdílet uživatelské účty a data mezi světem UN*Xu a DOSu/Novellu/Windows, budeme se zabývat převážně UN*Xovým světem, který je na FI dominantní.
Na tomto místě je vhodné osvětlit případným neznalým čtenářům pojem administrativní server (resp. administrativa FI), který se v tomto příspěvku často objevuje. Tímto termínem označujeme informační systém Fakulty informatiky, který uchovává informace o zaměstnancích, studentech, vypsaných přednáškách (a mnohém dalším, jak bude patrno z dalšího textu), zpracovává je a zpřístupňuje prostřednictvím www rozhraní všem uživatelům. Podrobnosti viz [1].
"Každý začátek je jednoduchý". Kolem roku 1993, tedy ještě na Katedře informatiky Přírodovědecké fakulty, měla Informatika jeden zaměstnanecký a jeden studentský server, asi dvě samostatné pracovní stanice v učebně a dále několik PC s DOSem, Novellem a Windows. Na PC neexistovaly uživatelské účty a pracovní stanice používaly ke sdílení účtů protokol NIS, který dokázal udržovat na všech strojích (tj. i na zaměstnaneckém serveru) tytéž účty. Aby studenti neměli přístup na zaměstnanecký server, byl do jeho přihlašovacích skriptů začleněn test, zda přihlašovaná osoba je či není zaměstnanec, a tedy jí přihlášení bude nebo nebude povoleno. Nutno přiznat, že toto řešení bylo neobratné a studentům se jej dařilo obcházet.
Zlom nastal se vznikem Fakulty informatiky (1994), kdy bylo (ke stávajícím stanicím SUN) dokoupeno 20 stanic SGI Indy, nový studentský server SGI Challenge a na několika strojích byl nainstalován Linux a *BSD. Vzhledem k novému vybavení a rychlému růstu fakulty vyvstala potřeba vytvořit systém, který by z libovolného fakultního stroje umožnil uživatelům přístup k jejich datům, zajistil vhodnou míru bezpečnosti těchto dat a poskytl vhodný mechanismus ke správě uživatelských účtů a hesel. S tím souvisí i další požadavek: co možná nejjednotnější softwarové vybavení a zajištění přístupu k němu i přes hranice jednotlivých operačních systémů (platforem).
V současné době zahrnuje UN*Xová část sítě FI zaměstnanecký server SUN, studentský server SGI a dále studentské stanice v počítačových učebnách: 25 strojů SUN, 20 strojů SGI a 12 stanic PC (s operačními systémy Irix, Solaris, Linux, případně Linux/Sparc). Další PC s Linuxem a stanice SGI či SUN se nacházejí v kancelářích zaměstnanců. Nynější systém správy uživatelských účtů v sobě zahrnuje možnost sdílet na všech strojích (případně na nějaké jejich podmnožině) heslo, je provázán s administrativou FI (automatické vytváření účtů pro všechny nové studenty, automatická kontrola platnosti účtů a jejich rušení) a vyžaduje specifikaci strojů, na kterých má být danému uživateli účet zřízen (studentům na studentském serveru a pracovních stanicích v počítačové hale, zaměstnancům tamtéž plus na zaměstnaneckém serveru, účastníkům příležitostných kurzů pouze na strojích v počítačové hale apod.).
Počítače ve fakultní síti je možno rozdělit do několika skupin, které se liší zejména způsobem správy a přístupem k jejich zabezpečení. Z těchto důvodů jsou pro různé skupiny odlišné i možnosti sdílení účtů a dat.
Stroje náležící do této kategorie jsou většinou pro běžné uživatele fyzicky nepřístupné, tj. je možné na nich pracovat pouze vzdáleně. SW i uživatelské disky jsou většinou lokální (kvůli rychlosti). Servery jsou plně pod správou Centra výpočetní techniky (CVT), a proto je na nich možné sdílet účty i data bez omezení.
V počítačové hale jsou studentské pracovní stanice určené pro volný provoz a dále jeden Linuxový server (se ZIP mechanikou a scannerem). Tyto stroje rovněž zcela spadají pod správu CVT, běží na nich výhradně OS UN*X a pracují 24 hodin denně. Sdílení účtů a dat na těchto strojích není nijak omezeno.
Zaměstnanecké stroje lze rozdělit na ty, které jsou pod správou CVT, a ty, které spravují jejich majitelé. Speciální kategorii představují stanice spravované CVT, od nichž však zaměstnanci-uživatelé znají rootovské heslo. Na zaměstnaneckých strojích má účet jen velmi omezená skupina uživatelů (1-4 lidé), která se v čase prakticky nemění; proto na nich není uplatněno sdílení účtů, ale využívá se pouze sdílení dat.
Správa strojů postgraduálních studentů je zcela v kompetenci příslušných studentů. Z tohoto důvodu jim umožňujeme pouze sdílet účty (jen těm PGS, kteří používají počítač společně), sdílet SW vybavení (packages), ale neumožňujeme sdílet uživatelská data (home adresáře).
Odborné laboratoře na FI (LVR, NLP, Akustika a fonetika) představují oddělená pracoviště vždy maximálně s deseti stanicemi, na jejichž správě se podílí několik pracovníků příslušné laboratoře. Situace je zde podobná jako u strojů PGS s tím rozdílem, že na laboratorních strojích existuje větší množství účtů, které se častěji mění. Proto je garantům laboratoří umožněno, aby si nové účty na těchto strojích mohli vytvářet sami (tento problém je řešen prostřednictvím fakultní administrativy, která je propojena se systémem správy účtů).
Na fakultní systém správy uživatelských účtů je kladeno několik požadavků, které jsou nezbytné pro jeho řádné fungování:
Tyto vlastnosti by měly být nastavitelné individuálně pro každého uživatele. Samozřejmostí by dále měla být odolnost proti výpadkům počítačů (sítě), protože nelze spoléhat na to, že všechny stroje jsou neustále v provozu. Velmi účelné je také propojení na administrativu FI - automatické vytváření, rušení a blokování účtů, údržba seznamu uživatelských kont v laboratořích jejich správci a další.
Vzhledem k těmto poměrně specifickým požadavkům, které nebylo možné pokrýt použitím (případně triviální modifikací) žádného dostupného systému, je sdílení účtů na FI realizováno pomocí softwaru z CVT.
Každému studentovi a zaměstnanci je v administrativě FI vytvořen záznam, který obsahuje:
Stroje zapojené do systému sdílení účtů si pak tyto údaje v podstatě cachují ve standardních souborech /etc/passwd (resp. /etc/shadow). Při libovolné změně v údajích uživatele má administrativní server možnost oznámit to pouze těm strojům, jichž se daná změna týká. Na straně jednotlivých počítačů také existuje možnost explicitně si vyžádat aktuální seznam svých uživatelských účtů a hesel (typicky se tak děje v okamžiku zapnutí počítače). Ke komunikaci počítač -> administrativa je triviálně použit e-mail - tuto informaci není potřeba tajit a ani v případě jejího podvrhnutí žádné snížení bezpečnosti nehrozí (navíc v případě nedostupnosti administrativního serveru se pošta doručí v nejbližším možném termínu a požadavek se vyřídí), v opačném směru se používá šifrovaného spojení.
V okamžiku, kdy si uživatel na některé stanici změní heslo, dotyčný počítač opět e-mailem kontaktuje administrativu a oznámí jí, že došlo ke změně hesla. Administrativa (šifrovaným kanálem) zjistí, kdo si heslo změnil, a v případě, že tento počítač patří do skupiny sdílející hesla daného uživatele, rozšíří heslo i na ostatní stroje této skupiny.
Abychom se vyhnuli nejrůznějším možnostem obcházení zablokovaných účtů (.rhosts, ssh klíče, setuid skripty), jsou při zablokování účtu určitého uživatele zrušeny jeho záznamy v /etc/passwd a /etc/shadow a je také znepřístupněn domovský adresář tohoto uživatele. Díky tomu jsou automaticky nedostupné i uživatelské WWW stránky. Blokování účtů se provádí přes administrativu (WWW rozhraní); k dané osobě je vytvořen záznam obsahující seznam strojů, na kterých jí byly účty zablokovány (původní seznam strojů, kde má mít účty, samozřejmě zůstává, takže po uplynutí doby blokace je vše obnoveno v původním rozsahu), a příslušné změny se promítnou na uvedené stroje. Výjimkou je například účet na administrativě, který se nikdy neblokuje.
Při blokování účtů je uvedena i doba, na jak dlouho má uživatel účty zablokovány, a po uplynutí této doby jsou účty automaticky odblokovány.
Jednou z našich "specialit" je zřejmě počítačová hala. Vstup do ní je umožněn pouze po přiložení magnetické karty ke snímači (a následném automatickém odblokování dveří) a navíc tady funguje mechanismus, který nedovolí uživatelům přihlásit se na konzole zde umístěných strojů, pokud si "nepípli" u vchodu. Tímto se snažíme zamezit využívání našich strojů neoprávněnými osobami a také (bohužel stále ještě ne zcela výjimečnému) "půjčování" účtů a hesel spolužákům.
Systém byl navržen a konstruován tak, aby splňoval požadavek odolnosti a bezpečnosti. Jeho robustnost vynikne zejména při rozsáhlých či dlouhodobých výpadcích sítě, kdy na většinu jednotlivých strojů je stále možné se přihlásit a pracovat tam alespoň s lokálními daty.
Vzhledem k tomu, že informace typu "zašli seznam účtů" nebo "změnilo se heslo" může e-mailem poslat (a tedy podvrhnout) každý uživatel, administrativa nejprve ověří, k jakým změnám skutečně došlo, a podle toho provede příslušné změny v uživatelských záznamech a heslech. Tato kontrola a obnova probíhá pomocí SSH, tedy bezpečným (autorizovaným a šifrovaným) způsobem.
Pro snadné a efektivní využití stanic k práci je vhodné, aby se celý systém choval transparentně. Nezávisle na tom, u kterého stroje a na jakém operačním systému uživatel pracuje, chtěl by mít vždy k dispozici jednotné prostředí, svá data a potřebný (stejný) software (kompilátory, prohlížeče, grafické programy...). Zároveň je ovšem nutné zajistit "rozumnou" míru bezpečnosti, aby si uživatelé nemohli svá data vzájemně modifikovat či prohlížet, pokud to jejich majitel nepovolí.
Ke sdílení diskové kapacity používá současný systém protokol NFS. Mezi jeho klady patří zejména dostupnost na všech platformách, k záporům pak nižší stupeň bezpečnosti vyplývající z jeho principu (a jednoduchosti), takže tuto variantu lze použít jen v případě, že si navzájem důvěřují server a klient (viz [2],[4]).
Při řešení problému sdílení SW je vhodné oddělit operační systém a jeho 'obslužný' software od uživatelských programů, jejichž funkčnost se snažíme zajistit na všech platformách provozovaných v naší síti.
Samotný OS a software nezbytný pro jeho provoz je nainstalován lokálně na jednotlivých strojích, přičemž existují prostředky pro jejich vzdálenou (polo)automatickou údržbu.
Uživatelský software je na FI distribuován pomocí tzv. balíků - packages (částečně viz [3]. Toto řešení umožňuje nejen současnou koexistenci instalací různých verzí téhož produktu, ale i poskytnutí práv k instalaci nového SW (resp. nové verze) a změně jeho konfigurace i dalším uživatelům (různým od superuživatele). Tento software je instalován centrálně (mimo jiné i z důvodů omezené diskové kapacity) a je možné jej exportovat pouze pro čtení (a tedy i nedůvěryhodným stanicím).
Uživatelská data (home adresáře uživatelů) je ovšem potřeba exportovat i pro zápis a je nutné zajistit, aby na klientském stroji byl "důvěryhodný" správce, který takto získaných dat nezneužije správce by mohl vytvořit "libovolného" uživatele a pomocí něj přistupovat k jemu jinak nedostupným datům). Z tohoto důvodu je exportování home adresářů omezeno pouze na stroje spadající pod správu CVT.
Je zřejmé, že zvláště v oblasti sdílení uživatelských dat je potřeba náš systém rozšířit, případně změnit. Narážíme však na problém kooperace existujících produktů (určených pro tyto účely) se systémem automatické kontroly a správy pomocí administrativy. Dalším omezením jsou podmínky, které jsme pro náš sytém sdílení účtů a dat stanovili (viz Správa účtů). Existující systémy (např. Kerberos) sice umožňují ve spojení s distribuovanými file-systémy typu CODA nebo AFS [4] přístup k datům na základě důvěryhodnosti uživatele (nikoliv počítače), ale nesplňují některé naše zásadní požadavky: možnost provázání s administrativou, správa různými osobami - garanty laboratoří a CVT, rozšiřitelnost na všechny platformy používané na FI. Proto zatím veškeré snahy o zprovoznění těchto systémů na fakultě ztroskotaly.
Dalším neméně zajímavým plánem je integrace existujícího softwaru pro správu účtů se systémy Novell a WindowsNT, které (bohužel) v současnosti žijí ve svých uzavřených světech.
[1] | M. Brandejs. Na co má Fakulta informatiky administrativní
server? Zpravodaj ÚVT MU, 1996, roč. 7, č. 1 a č. 2.
... zpět do textu |
[2] | M. Ruda. Sdílení adresářů a tiskáren mezi Unixovými servery
a Windows klienty. Zpravodaj ÚVT MU, 1996, roč. 6, č. 5, s.
3-5.
... zpět do textu |
[3] | B. Moučka, L. Matyska. Nový centrální server Masarykovy
univerzity. Zpravodaj ÚVT MU, 1996, roč. 6, č. 3, s.1-2.
... zpět do textu |
[4] | M. Ruda, L. Matyska. AFS - nová generace sdílení souborů po
síti Zpravodaj ÚVT MU, 1997, roč. 7, č. 3, s.13-16.
... zpět do textu |