MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Webové rozhraní pro správu uživ uživatelských ských účtů BAKALÁŘSKÁ PRÁCE
Filip Nešpor
Brno, 2007
Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Poděkování Rád bych poděkoval vedoucímu své práce RNDr. Radkovi Ošlejškovi, PhD. za cenné rady, které mi pomohly při psaní této bakalářské práce. Dále panu Ing. Liboru Cahovi za umožnění psaní této bakalářské práce pro Fakultu sociálních studií. Oběma také děkuji za čas věnovaný konzultacím.
Shrnutí Obsahem této bakalářské práce je analýza, návrh a implementace systému pro správu uživatelských účtů Active Directory prostřednictvím internetových stránek, které budou umístěny na webový server s operačním systémem Windows Server 2003.
Klíčová slova Správa uživatelských účtů, webová administrace serveru, správa AD, správa Active Directory, správa Windows Serveru 2003, vytváření účtů, mazání účtů, vypsání informací o účtu, správa serveru pomocí IIS, správa účtů pomocí IIS
Obsah 1
ÚVOD ....................................................................................................................... 3 1.1 1.2
2
POUŽITÉ TECHNOLOGIE ................................................................................. 4 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
3
PŘEDMĚT BAKALÁŘSKÉ PRÁCE .......................................................................... 3 STRUKTURA PRÁCE ............................................................................................ 3 MICROSOFT WINDOWS SERVER 2003 STANDARD EDITION ................................ 4 IIS 6.0 ................................................................................................................ 4 HTML ............................................................................................................... 4 ASP ................................................................................................................... 5 VBSCRIPT .......................................................................................................... 5 WSH .................................................................................................................. 5 WMI .................................................................................................................. 6 ADSI ................................................................................................................. 6 ACTIVE DIRECTORY ........................................................................................... 6
ANALÝZA A NÁVRH SYSTÉMU ....................................................................... 7 3.1 3.2 3.3
AKTUÁLNÍ STAV PŘI MANIPULACI S UŽIVATELSKÝMI ÚČTY ............................... 7 AKTUÁLNÍ PROBLÉMY S UŽIVATELSKÝMI ÚČTY ................................................. 7 SPRÁVA UŽIVATELSKÝCH ÚČTŮ ......................................................................... 7 3.3.1 Vypisování informací o uživatelských účtech .......................................... 7 3.3.2 Přidávání nových účtů ............................................................................... 8 3.3.3 Mazání účtů ............................................................................................... 8 3.4 BEZPEČNOST ...................................................................................................... 9 4
IMPLEMENTACE SYSTÉMU ........................................................................... 10 4.1 4.2 4.3
WEBOVÉ ROZHRANÍ ......................................................................................... 10 KONFIGURACE WEBOVÉHO SERVERU ............................................................... 10 MANIPULACE S ÚČTY ....................................................................................... 11 4.3.1 Hledání a vypsání informací o existujícím uživatelském účtu................ 11 4.3.2 Přidávání uživatelského účtu................................................................... 12 4.3.3 Mazání uživatelského účtu ...................................................................... 14 4.3.4 Blokování a odblokování uživatelských účtů ......................................... 15 4.4 BEZPEČNOSTNÍ RIZIKA WEBOVÉ STRÁNKY ....................................................... 18 4.4.1 Riziko špatného zacházení se systémem ................................................. 18 4.4.2 Riziko získání informací neoprávněnou osobou ..................................... 18 4.4.3 Riziko změny informací neoprávněnou osobou...................................... 18 4.4.4 Riziko ovládnutí celého serveru .............................................................. 18 4.5 MIMOŘÁDNÉ UDÁLOSTI ................................................................................... 18 4.5.1 Založení dvou stejných účtů.................................................................... 19
1
4.5.2 Založení osoby, která nemá UČO ........................................................... 19 4.6 ALTERNATIVNÍ ZPŮSOBY ŘEŠENÍ ...................................................................... 19 5
ZÁVĚR ................................................................................................................... 20
6
BIBLIOGRAFIE ................................................................................................... 21
PŘÍLOHA A .................................................................................................................. 22
2
1
Úvod
1.1
Předmět bakalářské práce
Cílem této bakalářské práce je vyvinout systém pro správu uživatelských účtů prostřednictvím webových stránek. Systém je určen primárně pro potřeby Fakulty sociálních studií Masarykovy univerzity, ale přesto je navržen dostatečně obecně na to, aby mohl být používán i na jiných fakultách. Rozhodl jsem se napsat práci na toto téma, protože mě toto téma zajímá a protože již dva roky pracuji s těmito systémy a technologiemi. Osoby pracující v Centru informačních a komunikačních technologií (dále jen CIKT) budou mít přístup do tohoto systému pod svým přihlašovacím jménem a heslem. Budou moci kontrolovat, jestli má student přístup na počítače do učeben, jestli nemá zablokovaný přístup či jestli je jeho účet správně propojen s Kerberosem v informačním systému. Kerberos je autentizační protokol, který umožňuje bezpečné ověřování identity studentů. Uživatelský účet jednoznačně definuje uživatele a jeho pracovní prostředí. Obsahuje uživatelské jméno, heslo, profil uživatele a domovský adresář.
1.2
Struktura práce
Nejprve se budu zabývat všemi technologiemi, které jsem použil. Hlavní část systému je napsána ve Visual basic skriptu, kterému budu věnovat největší pozornost. Dále analyzujeme aktuální stav a problémy manipulace s uživatelskými účty a nakonec popíši prvky systému.
3
2
Použité technologie
V této kapitole jsou uvedeny technologie, které byly při tvorbě systému využity.
2.1
Microsoft Windows Server 2003 Standard Edition
Původně měl tento server pouze roli doménového řadiče Active directory, který se staral pouze o uživatelské účty a o přihlašování a ověřování studentů. K němu bude přidána i role aplikačního serveru, takže se bude starat i o webové stránky. Dále se tento server replikuje i na další server. Od verze Microsoft Windows Server 2003 Microsoft zrušil nadřazenost serverů. Proto již neexistuje pojem hlavní server a záložní. Všechny servery jsou si rovny. Tento systém je nainstalován pouze na jeden z nich a nebude se prozatím replikovat, ale pouze zálohovat.
2.2
IIS 6.0
Tato zkratka označuje Internet Information Services neboli webový server od firmy Microsoft. Aktuální verze je 7.0, ale jelikož je to na trhu teprve krátce, nebude zatím instalována, protože může a bude obsahovat ještě nějaké chyby. V projektu je použita verze 6.0. IIS není jen webový server. Podporuje protocol FTP (File Transfer Protokol), NNTP (Network News Transfer Protocol) a také protokol SMTP (Simple Mail Transfer Protocol) pro e-mail. Díky úplné integraci na úrovni operačního se velmi dobře integruje s aplikacemi Microsoft .NET a umožňuje organizacím přidávat internetové možnosti, které mohou snadno slučovat s dalšími součástmi své infrastruktury.
2.3
HTML
Hyper Text Mark-up Language je značkovací jazyk pro webové stránky. Je to statický jazyk používaný pro zdrojové kódy stránek. Zpracovává se na straně klienta. Je tvořen množinou příkazů a jejich atributů. Mezi příkazy se vkládají části textu dokumentu a tím se určují vlastnosti daného textu. Většina příkazů je v něm párových, kdy počáteční i koncový jsou shodné, pouze koncový znak má před sebou lomítko. Dokument psaný v HTML jazyku má svou předepsanou strukturu. Začátek dokumentu: obsahuje příkaz . Hlavička dokumentu: obsahuje a , v němž může být název stránky. Tělo dokumentu: je charakterizováno příkazem a a obsahuje všechny ostatní příkazy. Existuje spousta HTML editorů, které nám při tvorbě zdrojových kódů pomáhají, např. samy obarvují důležité výrazy nebo podtrhávají špatně napsanou syntaxi. Zdrojové kódy v projektu jsou přesto psány v Poznámkovém bloku ve Windows, neboť autor je na tento postup zvyklý. HTML jazyk je sám o sobě velmi strohý, používal se při zrodu internetu. V dnešní době se používá vždy v kombinaci s některým dalším jazykem, třeba HTML+CSS+PHP nebo HTML+FLASH apod. Ve vytvořeném systému je HTML použit společně VBScriptem, kde
4
jazykem HTML je psána statická část a z HTML jazyka jsou volány dynamické stránky psané ve VBScriptu. Na zvládnutí autorova projektu tato kombinace bohatě postačuje.
2.4
ASP
Skripty využívající technologie Active Server Pages (ASP) jsou zpracovávány na straně serveru, nikoliv na straně uživatele. Je to velmi podstatná věc, protože nezatěžuje počítač uživatele, ale server. Při objemu několik tisíc požadavků od klienta se mohou tyto stránky změnit v noční můru administrátora. V tomto případě ale program bude využíván pouze malým počtem uživatelů, nehrozí tedy přetížení serveru. Tyto stránky mohou být naprogramovány v kterémkoliv jazyku, který lze spustit na straně serveru, třeba VBScript, Windows Script Host, PowerShell, ale mimo skriptovacích jazyků klidně i C#. Technologie ASP umožňuje programátorovi rychle vytvořit webovou aplikaci pro server se systémem Windows, který je hostitelem služby IIS verze 3 nebo vyšší. Technologie ASP byla uvedena na trh v době, kdy mnoho vývojářů používalo k vytváření webových aplikací konkurenční technologie programování CGI (Common Gataway Interface) a jazyk Perl. Technologie ASP úzce spolupracuje s ovládacími prvky ActiveX společnosti Microsoft, neboť vývojářům poskytuje možnosti využívat funkčnost objektů modelu COM (Component Object Model). Vývojáři tak mohou vytvářet vícevrstvá řešení pomocí technologie ASP a model COM.
2.5
VBScript
Visual Basic Script je kmenovým jazykem této práce. Je to po JavaScriptu nejpoužívanější skriptovací jazyk a lze ho používat pouze v systémech Windows. Velmi často se používá společně s Windows Management Instrumention. Interpretem tohoto jazyka je Windows Script Host (WSH). Jsou v něm napsány všechny skripty vytvořené pro tento systém. Jde o jazyk velice jednoduchý a psát v něm komplexnější aplikaci by nebylo vhodné, protože neumožňuje dědičnost, rozhraní nebo šablony. Nerozlišuje ani malá a velká písmena.
2.6
WSH
Windows Script Host (WSH) je v systému použit jako překladač pro spouštění VBScriptu. WSH se používá při vytváření skriptů, které automatizují úlohy, jež vyžadujeme po operačním systému, např. kopírování a mazání souborů, přihlašování se k síťovým diskům a tiskárnám nebo spouštění programů. Díky objektovému komponentovému modelu firmy Microsoft lze skripty ovládat i řadu programů, např. Word a Excel. Skripty mají především dvě výhody: •
šetří čas (pomocí několika málo kliknutí můžete spustit skript, který za vás vykoná komplexní úlohy, které by vám při ručním ovládání zabraly spoustu času) a
5
•
2.7
chrání před chybami (jakmile jednou skript odladíte a vyzkoušíte, bude svoji činnost vykonávat stejně dobře při každém spuštění).
WMI
Windows Management Instrumention doplňuje řadu skriptovacích jazyků o další možnosti programování. Je součástí systému od verze Windows ME a Windows 2000, ale lze ji doinstalovat zpětně i do systému Windows 98 a Windows 95. K objektům spravovaným pomocí WMI lze přistupovat vzdáleně, stejně tak i lokálně. Data získaná z WMI mohou být filtrována pomocí SQL dotazů, jelikož jsou uložena v databázi. V systému byl WMI použit pro nastavení sdílení adresářů.
2.8
ADSI
Active Directory Service Interface je rozhraní, které umožňuje programátorům přistupovat k objektům do databáze, pokud to poskytovatel podporuje. Pomocí ADSI lze přistupovat ke službě Active Directory a jejím zdrojům.
2.9
Active Directory
Active Directory je adresářová služba, která ukládá informace o objektech na síti, uchovává nastavení registrů apod. Při vytváření nové Active Directory je potřeba si rozmyslet její název, protože jde pak už jen stěží změnit. Vytváří se příkazem dcpromo, po kterém následuje vyzvání k zadání názvu. Pak administrátor volí možnost, zda je tento server první nebo druhý, jelikož Globální katalog může být pouze na jednom z nich, a to zpravidla na prvním. Následuje volba, zda má server vytvořit vlastní DNS server nebo zda se již nějaký v naší síti vyskytuje. Tím se vytvoří prázdná Active Directory, kde jsou základní skupiny uživatelů, lokální administrátor, doménový administrátor apod.
6
Analýza a návrh systému
3
V této kapitole bude uveden aktuální postup při vytváření účtů na Fakultě sociálních studií Masarykovy univerzity.
3.1
Aktuální stav při manipulaci s uživatelskými účty
Právo vytvářet nové účty má pouze omezený okruh lidí. Pokud žádná z oprávněných osob není přítomna, musí si kolegové bez patřičných oprávnění zapsat jméno žádajícího studenta a vytvoření účtu je provedeno až se zpožděním jednou z oprávněných osob. Takový systém správy účtů je velmi pomalý, protože někdy uživatel vyžaduje, aby mu jeho přístup do počítačové učebny fungoval ihned, např. kvůli tomu, že v dané učebně má psát test a potřebuje se přihlásit.
3.2
Aktuální problémy s uživatelskými účty
Aktuálně existují dva provozní problémy. První problém souvisí s přihlašováním administrátora na server, protože používaná verze operačního systému serveru je pouze Standard, která podporuje přihlášení dvou administrátorů najednou. Proto pokud administrátor skončí práci, musí se ihned odpojit. Jelikož administrátorská práva mají tři lidé a přístup zároveň mohou mít pouze dva, je to celkem nešikovné řešení. Pokud by administrátorská práva vlastnili ještě další osoby, byla by situace ještě daleko horší. Druhý problém je, že při vytváření účtu musí být mimo vytvoření uživatele udělána ještě spoustu dalších úkonů, např. vytvoření domovského adresáře. Proto pokud by měla administrátorský účet osoba, která tomu nerozumí, byl by za chvíli v Active Directory chaos. Microsoft má pro administrátory speciální konzolu, která se nainstaluje na jakýkoliv počítač a přes kterou se mohou také vytvářet uživatelské účty na serveru. Bohužel, tato konzole je nevyhovující, a to z důvodů sdílení adresářů. Při vytvoření uživatele je potřeba mu vytvořit i domovský adresář, kde si bude ukládat dokumenty a kde bude mít vlastní profil s nastavením uživatelské plochy, spořiče, klávesnice a podobně. Tuto složku pak musí být nastavena na sdílení a musí mít příslušná práva pro sdílení a zabezpečovací práva pro přístup.
3.3
Správa uživatelských účtů
Správa uživatelských účtů bude nejdůležitější a zásadní součástí systému. Všichni zaměstnanci našeho oddělení k němu dostanou přístup a budou tak schopni zjistit a vyřešit alespoň základní problémy studentů.
3.3.1 Vypisování informací o uživatelských účtech Skript na straně serveru zjistí a následně jako výstup do HTML vypíše následující údaje: •
Jméno, příjmení a univerzitní číslo osoby (UČO)
7
•
Název účtu
•
Stav účtu a popis s důvodem zablokování
•
Domovský adresář a adresář s profilem
•
Název účtu v Kerberosu
•
Organizační jednotka
Tyto údaje budou sloužit pro kontrolu v případě, když se nějakému studentovi nepůjde přihlásit, například pro zjištění, jaké pravidlo porušil, byl-li jeho účet zablokován.
3.3.2 Přidávání nových účtů Při přidání uživatelů bude muset být zvolen jeden ze tří různých typů účtů: •
Student/zaměstnanec FSS
•
Student/zaměstnanec z jiné fakulty
•
Zahraniční student
Po zvolení jakékoliv volby budou uživatelé umístěni do specifické organizační jednotky. Volby Zahraniční student a Student/zaměstnanec z jiné fakulty jsou typické tím, že se po určité době zruší. Zpravidla tím, že zahraniční student odjede po semestru zpět do své vlasti nebo student jiné fakulty již nemá na FSS zapsané žádné předměty. Při vytvoření účtu systém zpracuje data z webového formuláře a provede následující sekvenci příkazů: •
Založení účtu
•
Propojení účtu se správným účtem Kerberosu
•
Umístění účtu do správně organizační jednotky
•
Vytvoření domovského adresáře a profilu
•
Nastavení sdílení domovského adresáře pro uživatele a přidělení příslušných práv
Stejné příkazy, ale v obráceném pořadí, provádí i následující kapitola „Mazání účtů“.
3.3.3 Mazání účtů Při mazání budeme muset vybrat z následujících dvou možností: •
Vymazání účtů ihned
8
•
Vymazání účtu za 1 měsíc
Zatímco vymazání účtu ihned se provede v reálném čase a obvykle se používá při vytvoření účtu omylem, druhá možnost je používána daleko častěji a provedou se následující úlohy: •
Zamknutí účtu
•
Připsání údaje o počtu zbývajících dní do smazání do poznámky
•
Poslání emailu o tom, že bude účet smazán
Pak se každý den večer spouští naplánovaná úloha, tj. skript, který projde všechny zamknuté účty připravené na smazání a smaže účty, u nichž od uzamčení (zařazení do fronty ke smazání) již uběhlo 30 dní.
3.4
Bezpečnost
Bezpečnost by měla být na prvním místě. Než vytvořit špatně naprogramovanou aplikaci, která bude obsahovat velké množství bezpečnostních chyb, tak to raději nepsat žádnou a provozovat systém jednodušeji a pracněji, zato bezpečně. Proto tato stránka nesmí být přístupná celému světu, čehož lze docílit povolením přihlašování pouze z určitých IP adres, nastavením přístupu pod heslem a kontrolou logů a také používáním bezpečného protokolu SSL (zašifrování stránky při přenosu informací), nebo spuštění stránky pod speciálním bezpečným účtem webového serveru, kdy se účtu nastaví pouze minimální oprávnění potřebná pro jeho funkčnost. Dále se provádí kontrola vstupních parametrů skriptů v případě, kdy je po uživateli vyžadováno zadání jakéhokoliv textu pomocí klávesnice. Zadaný text od uživatele se ukládá do proměnné (do paměti) počítače, a pokud je text větší než velikost proměnné, může text přepsat zdrojový soubor programu, který je následně spuštěn.
9
4
Implementace systému
4.1
Webové rozhraní
V projektu je nejvýhodnější použít funkce tzv. rámů, ačkoliv v současné době se od nich ustupuje. Byly zvoleny proto, že v každé části rámu budou úplně odlišné technologie. Zatímco v horní části a po boku bude statický HTML, v prostředním rámu bude ASP, který bude zpracovávat Visual basic skript.
4.2
Konfigurace webového serveru
Příkazem dcpromo bude přidána role aplikačního serveru, následuje navolení požadované podpory služeb, např. FTP, NNTP, SMTP. Po vytvoření nové instance SQL serveru nebo použití už existující se vytvoří základ webového serveru, který má dva uživatelské účty a jednu skupinu uživatelů. Uživatelský účet IUSR_COMPUTERNAME uděluje anonymní přístup k webovému serveru a je výchozím nastavením pro skupinu Guest. Druhý účet IWAM_COMPUTERNAME se používá pro spouštění pracovních procesů. Členové skupiny IIS_WPG mohou spouštět pracovní procesy. Každý uživatelský účet, který chce spouštět pracovní procesy, musí být členem této skupiny.
Obrázek 1
10
Jedno z nejdůležitějších nastavení je na kartě Home Directory (viz Obrázek 1), kde se udělují práva systému souborů nutné pro vedení daných akcí, např. Script source access, které musí být nezaškrtnuté, jinak se skript nespustí a zobrazit zdrojové kódy místo zobrazení výsledné stránky. Druhé zaškrtávací políčko Read přestavuje možnost zpracovávat skripty a zdrojové soubory. Zaškrtnutí tohoto políčka umožní klientům odesílání souborů na server. Zaškrtnutím políčka Write mohou klienti odesílat své soubory na server do daného adresáře.
4.3
Manipulace s účty
S účty je možné zacházet jednoduchým způsobem, který není nikterak složitý a tedy uživatelsky přívětivý.
4.3.1 Hledání a vypsání informací o existujícím uživatelském účtu Hledat účty lze dvěma způsoby a to buď najít účet podle názvu účtu, nebo podle UČa uživatele. Druhý způsob je běžnější, protože studenti svůj název účtu neznají z důvodu přihlašování a ověřování uživatele přes Kerberos. Po zadání UČa a stisknutí tlačítka Hledej (viz Obrázek 2) se zobrazí výpis informací v požadovaném formátu (viz Obrázek 3). O výpis detailnějších informací se stará následujících pár řádků kódu: response.write "Název účtu: " & objRecordSet.Fields.Item("Name").Value & "
" & _ "Jméno a UČO:
"& objUser.displayName & "" & _ "Stav účtu :
" & zakazan & "" & _ "Popis: " & objUser.description & "
" & _ "Domovský adresář: " & objUser.homeDirectory & "
" & _ "Profil: "& objUser.profilePath& "
" & _ objUser.altSecurityIdentities & "
" & _ "Organizační jednotka: " & zjisti_organizacni_jednotku & "
"
11
Obrázek 2
Obrázek 3
4.3.2 Přidávání uživatelského účtu Do formuláře se zadá jméno, příjmení a UČO (viz Obrázek 4). 4) Jako název ázev uživatelského účtu se na serveru automaticky zvolí UČO, UČO, ale je to jedno, protože se účet spojí na účet v Kerberosu.. Dále se vytvoří uživatelský adresář, adresář, kterému kterému se nastaví sdílení pomocí WMI:
12
Const FILE_SHARE = 0 Const MAXIMUM_CONNECTIONS = 5 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set objNewShare = objWMIService.Get("Win32_Share") errReturn = objNewShare.Create _ ("D:\home\"&adresar, adresar&"$", FILE_SHARE, _ MAXIMUM_CONNECTIONS, "") Přidá se mu správné zabezpečovací oprávnění a podle poslední volby se účet uloží do Active Directory do jedné z následujících organizačních jednotek: •
AD/ucebny/studenti
•
AD/ucebny/studenti/studenti z jinych fakult
•
AD/ucebny/studenti/zahranicni studenti
13
Obrázek 4
Organizační jednotky je speciální název od firmy Microsoft pro složky či adresáře, na které lze aplikovat nějaká pravidla nebo politiky. Mimo to má Microsoft ještě jedno označení pro složku a ta se nazývá kontejner. Rozdíl je v tom, že kontejnery nelze v Active Directory vytvářet a také na ně nelze aplikovat politiky.
4.3.3 Mazání uživatelského účtu Jednoduše lze říci, že mazání je opak přidávání uživatelů. Uživatel ztratí práva pro přihlášení na počítače. Smazání uživatelského účtu může proběhnout buď okamžitě, nebo po třiceti dnech (viz Obrázek 5). Při zvolení volby po třiceti dnech je uživatel sice smazán, nemůže se už přihlašovat do systému, ale do třiceti dnů od smazání jeho účtu je možno mu na vyžádání poskytnout data, která měl v systému uložena.
14
Obrázek 5
4.3.4 Blokování a odblokování uživatelských účtů Uživatelský účet se blokuje buď z důvodu přerušení studia (kdy uživatel ztrácí status studenta), nebo při závažném porušení pravidel počítačových učeben FSS. Blokovaný účet nemůže uživatel po určitou dobu používat. Jeho práva se po uplynutí této určité doby znovu obnoví, uživatel nepřijde o svá data. Při zadávání blokace do systému se kromě důvodu blokace udává datum ukončení blokace (viz Obrázek 6). Po zablokování účtu přijde uživateli e-mail (viz Obrázek 7). Po uplynutí zadané lhůty se blokace sama odblokuje, není potřeba žádná další kontrola. Uživateli po odblokování jeho účtu opět přijde e-mail (viz Obrázek 8). O vyhledávání účtu se stará VBScript, který používá podporu ADSI k připojení na LDAP a vyhledání uživatelského účtu: Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection 'vyhledavaci retezec' objCommand.CommandText = _
15
"
;(&(objectclass=Us //ou=ucebny,dc=ad,dc=fss,dc=muni,dc=cz>;(&(objectclass=Us er)(|(cn="&uco&")(displayName=*("&uco&"))))" & _ ";name,ADsPath;subtree" Set objRecordSet = objCommand.Execute A následně jeho zablokování provede další část kódu: 'cyklus' While Not objRecordSet.EOF nasel = true 'pripojeni na LDAP Set objUser = GetObject(objRecordSet.Fields.Item("ADsPath").Value) objUser.userAccountControl = 66050 objUser.Put "description",duvod objUser.SetInfo
Obrázek 6
16
Obrázek 7
Obrázek 8
17
4.4
Bezpečnostní rizika webové stránky
V současné době, kdy se téměř veškerá každodenní komunikace s okolím světem odehrává prostřednictvím internetu, je ochrana osobních informací na prvním místě. Ke zneužití může dojít velmi snadno. Webové stránky jsou proto různými způsoby chráněny. Mezi tyto způsoby patří chránění stránky unikátním přihlašovacím jménem a heslem, přístup na stránku pouze z povolených IP adres, používání bezpečnostního protokolu při komunikaci se serverem, nastavení automatického odhlašování uživatele po uplynutí nastavené doby, zpravidla pět nebo deset minut.
4.4.1 Riziko špatného zacházení se systémem Uživatelé často zadávají místo číslic slova, proto veškeré kompetentní osoby musí být patřičně proškoleny a zároveň je systém za tímto účelem opatřen formuláři chráněnými před zadáváním nekompatibilních řetězců.
4.4.2 Riziko získání informací neoprávněnou osobou Pokud by se uživatelé chovali v souladu s pravidly, pak by nedocházelo k získání informací neoprávněnými osobami. Uživatelé bohužel pravidla často porušují. I přes několikanásobná upozornění se najdou uživatelé, jejichž heslo je zneužito k neoprávněnému vstupu do systému, protože jej někde odloží, zapomenou nebo ztratí. Výjimkou nejsou ani podvodníci, kteří uživatelům volají, představí se jako zaměstnanec jiného technického oddělení a vymámí z nich jejich přihlašovací údaje. Mezi další prohřešky uživatelů patří příliš jednoduché přihlašovací údaje. Např. uživatelské jméno: petr, heslo: petr. Naštěstí nastavení takovýchto hesel server striktně zakazuje, stará se o to zapnutá politika „Vynutit komplexní heslo“. Při nastavení jednoduchého hesla server nastavení odmítne a zobrazuje uživateli formulář s nastavením hesla tak dlouho, dokud nezadá nějaké silnější.
4.4.3 Riziko změny informací neoprávněnou osobou Pokud se nějaké neoprávněné osobě povede některým výše popsaným způsobem zmocnit se přihlašovacích údajů nějakého administrátora, nic této osobě nebrání v tom, aby uživatelovy osobní informace změnila nebo smazala. Na FSS má oprávněný uživatel až půlroční lhůtu, kdy může nahlásit zneužití svých informací. Tato lhůta odpovídá lhůtě zálohování dat ze serverů.
4.4.4 Riziko ovládnutí celého serveru Toto riziko je téměř nulové, protože v žádném adresáři nelze zároveň vkládat a spouštět zdrojové soubory a je zakázáno spouštět spustitelné soubory kromě WSH, který je spuštěn pod speciálním uživatelským účtem.
4.5
Mimořádné události
Mimořádné události je důležité mít programově ošetřené, aby k nim nedocházelo. I přesto nelze nějakou nestandardní událost vyloučit, proto se při tvorbě podobných projektů angažují testeři, kteří testují a zajišťují ošetření nedostatků. Autor absenci testerů při tvorbě projektu do velké míry vyrovnal vlastním dlouhodobým testováním a laděním všech zajišťovaných procesů. Nelze pochopitelně vyloučit dostatečné odhalení chyb a nedostatků, které se projeví až za ostrého běhu systému. S ohledem na jejich minoritní výskyt ale nebude problém je opravit za chodu.
18
4.5.1 Založení dvou stejných účtů Pokud chtějí dva administrátoři ve stejnou dobu založit stejného uživatele, systém jednomu napíše, že uživatel již existuje. Účet se totiž zakládá atomicky. Když jsou na serveru dva stejné účty, tak přihlášení uživatele nebude fungovat, protože server neví, který účet má použít pro autentizaci. Proto jsem se tohoto faktu snažil vyvarovat a při zakládání účtu se provádí kontrola, jestli účet se stejným UČem neexistuje.
4.5.2 Založení osoby, která nemá UČO Všichni studenti a zaměstnanci Masarykovy univerzity mají své vlastní UČO. Přesto se vyskytují případy, kdy je potřeba založit účet osobě, která není z Masarykovy univerzity, tedy nemá UČO. Dochází k tomu např. při pořádání konferencí Fakultou sociálních studií, kdy na fakultu na krátkou dobu přijedou lidé z celého světa a nelze jim zakládat vlastní UČO, nebo při pronájmu učeben soukromým subjektům, které nemají s MU nic společného. Když osoba nemá UČO, znamená to, že se nemůže ověřovat její přihlášení přes Kerberos a že nemůže používat sekundární heslo. Proto je potřeba při zakládání účtu nastavit i heslo, avšak toto nebylo do systému implementováno kvůli bezpečnostnímu riziku.
4.6
Alternativní způsoby řešení
Na zakládání účtů má Microsoft MMC konzolu, kterou je možno spouštět i vzdáleně, avšak tato konzole neobsahuje prostředky pro sdílení adresářů apod. Proto má Microsoft pro administrátory vzdálenou plochu, přes kterou se mohou administrátoři připojit na server – úplně stejně jako by u něj přímo seděli. Takto mohou být zároveň aktivní pouze dvě relace (u verze Standard) a pokud chce někdo víc relací, musí si přikoupit licence zvané CAL. Druhý alternativní způsob řešení je také programátorský. Spočívá v naprogramovaní podobné aplikace, a to pomocí jazyka .NET. Jeho nevýhoda je v nutnosti instalace celého .NET Frameworku na server. Autor projektu je zastáncem tvrzení, čím víc aplikací je na serveru nainstalováno, tím více je server náchylnější k hackerům a také méně stabilní. Avšak nespornou výhodou tohoto řešení je naopak více knihoven podporujících práci s Active directory, respektive modernější způsob řešení.
19
5
Závěr
V této bakalářské práci je navržen a implementován systém pro správu uživatelských účtů v prostředí Active Directory, který je propojen přes webové rozhraní. Nejdůležitějším přínosem této práce je správa uživatelských účtů přes webové rozhraní bez omezení počtu připojených administrátorů a bez strachu, že něco zkazí či špatně nastaví. Systém je chystán k bezprostřednímu použití na Fakultě sociálních studií Masarykovy univerzity. Při drobných změnách v organizačních strukturách by se mohl nasadit i na jiných fakultách Masarykovy univerzity.
20
6
Bibliografie
Aitken, P. G. (2001). Windows Script Host 2.0. Praha: Grada Publishing, spol. s r.o. Henrickson, H., & Hofmann, S. (2004). IIS 6: Kompletní průvodce. Brno: Vydavatelství a nakladatelství Computer Press. Russel, C., Crawford, S., & Gerend, J. (2005). Microsoft Windows Server 2003, Velký průvodce administrátora. Brno: CP Booksm, a.s. Šetka, P. (2003). Mistrovství v Microsoft Windows Server 2003. Brno: Computer Press.
21
Příloha A Obsahem přiloženého CD jsou následující dva adresáře: Tisknutelná verze • Obsahuje tisknutelnou verzi této bakalářské práce ve formátech docx (Microsoft Office 2007), doc, pdf Zdrojové soubory • obsahuje všechny vytvořené zdrojové kódy HTML a ASP
22