Federativní autentizační a autorizační infrastruktura Shibboleth v KNAV

 

V průběhu první dekády třetího tisíciletí došlo v oblasti globální sítě (dále jen síť), známé také pod názvem Internet, k bouřlivému vývoji. S tím jak se síť rychle rozšiřovala po celém světě, narůstal velmi rychle i počet elektronických služeb touto sítí zprostředkovaných. v dnešní době si již málokdo dovede představit život bez připojení k Internetu. Uživatelé prostřednictvím síťových služeb nakupují, prodávají, uskutečňují bankovní operace, hrají hry, sdílejí informace neporovnatelně rychleji a pružněji než v dobách, kdy byla k dispozici jen klasická pošta a telefon. Dá se říci, že Internet se stal nedílnou součástí civilizovaného světa a zároveň ho zásadním způsobem změnil a ovlivnil – svět se jakoby zmenšil a zrychlil. Stranou ponechme filozofické úvahy o tom, zda je to dobře či nikoli. Autor tohoto příspěvku se kloní k názoru, že přínos Internetu je pro moderní společnost nesporný a jeho výhody výrazně (zatím) přebíjejí nevýhody.

Tak jako všechno ostatní, má i Internet své kladné i záporné stránky. Síť představuje svým způsobem prostor globální svobody, kde má každý možnost relativně bez omezení projevit svůj názor, postoje, nabízet nějakou službu apod. To je beze sporu zásadní přínos, který ale na druhé straně otevírá prostor působnosti pro různé nekalé živly, ať již s motivací páchat čistě kriminální činy, nebo různé pochybné spolky hlásající netoleranci, rasismus, šířící pornografii apod. Velkému zájmu zločinců se například těší portály různých bankovních institucí, které nabízejí tzv. internetové bankovnictví. Motivace útočníků je v tomto případě zjevná – prolomení přístupové ochrany poskytované služby a dostat se k účtům klientů banky s cílem nezákonně se obohatit. Tento příklad je jen jedním střípkem z velké mozaiky týkající se bezpečnosti, ochrany osobních a autorských práv v rámci Internetu.

V dnešní době je bezpečnost na síti oblast, ve které se točí velké peníze. Existuje hodně firem ať již pouze poradenských nebo čistě softwarových, které se na danou problematiku specializují a vyvíjejí různé metody a aplikace pro ochranu dat a služeb. Dá se v podstatě říci, že se jedná o samostatné odvětví zasahující až do vědy, zejména v oblasti matematiky a fyziky.

S tím, jak různorodé jsou poskytované síťové služby, které vyžadují nějaký stupeň zabezpečení, existují i různá řešení buď úzce specializovaná, nebo naopak obecnější. Rozhodně ale nelze říci, že existuje nějaké univerzální řešení, které by pokrylo celou oblast bezpečnosti a ochrany dat na síti. Paradoxně je to i dobře, protože heterogenní prostředí na rozdíl od homogenního výrazně komplikuje útočníkům nekalou činnost. v případě homogenního prostředí by útočníkům stačilo provést jeden průlom a rázem by měli otevřené pole působnosti. Vyšší odolnost heterogenních prostředí oproti homogenním v případě napadení je samozřejmě známá i z přírodních prostředí apod.

Dnes již klasickou částí z celkové bezpečnostní problematiky, je oblast správy uživatelských údajů, konkrétněji uživatelských jmen (dále jen jméno) a hesel. Zabezpečení nějaké elektronické služby pomocí jména a hesla je dnes považováno za nezbytné minimum a dokonce v mnoha případech i svým způsobem za nedostatečné. Proto se tento klasický bezpečnostní model buď doplňuje o další stupně zabezpečení, jako jsou otisky prstů, jednorázová hesla apod., nebo je přímo těmito vyššími stupni nahrazen. Nicméně v našem případě se budeme zabývat bezpečnostním modelem jméno a heslo, protože z pohledu KNAV a povahy jejích dat jde prozatím o model dostatečný.

S tím jak se postupně rozšiřovaly elektronické služby KNAV, zejména poskytování přístupu k externím předpláceným elektronickým informačním zdrojům (dále jen zdrojům), vyvstala otázka, jak tyto zdroje uživatelům zpřístupnit nejen v prostorách studovny KNAV, ale i vzdáleně prakticky odkudkoliv a zároveň zabezpečit, že tyto zdroje nebude moci prostřednictvím KNAV využít kdokoliv, ale jen její registrovaní uživatelé.

V první fázi, řekněme testovací, byl proto zprovozněn obyčejný proxy server (Funguje jako prostředník mezi klientem a cílovým počítačem – serverem, překládá klientské požadavky a vůči cílovému počítači vystupuje sám jako klient. Přijatou odpověď následně odesílá zpět klientovi. Může se jednat jak o specializovaný hardware, tak o software provozovaný na běžném počítači, který se nacházel uvnitř sítě KNAV). Pro tento proxy server byl v oddělení informačních technologií (dále jen OIT) vyvinut specializovaný autentizační modul, který proxy server propojil s knihovním systémem Aleph, ve kterém se nachází databáze všech registrovaných uživatelů KNAV. Samotný proxy server žádnou databázi uživatelů neobsahoval. Od této chvíle mohli tedy uživatelé přistupovat ke zdrojům i vzdáleně, pokud splnili určité podmínky.

První podmínkou byla samozřejmě registrace v KNAV. Po registraci dostane každý uživatel svůj čárový kód a heslo, tedy autentizační údaje, které již lze využít v různých autentizačních a případně autorizačních procesech. Dalším krokem, který musel uživatel učinit, bylo nastavení jeho internetového prohlížeče (dále jen prohlížeč), tak aby využil proxy server KNAV. Pokud uživatel úspěšně prošel touto procedurou, mohl začít využívat vzdálený přístup ke zdrojům.

Při aktivaci prohlížeče (například po zapnutí počítače) a prvním přístupu kamkoliv na Internet, se prohlížeč pokusil spojit s proxy serverem KNAV. Pokud se spojení podařilo, byl uživatel požádán o jméno a heslo – v tomto případě tedy o čárový kód a heslo získané při registraci. Proxy server získané autentizační údaje předal autentizačnímu modulu, který je ověřil proti databázi uživatelů v knihovním systému Aleph a výsledek předal zpět proxy serveru. v závislosti na tom, zda odpověď autentizačního modulu byla kladná nebo záporná, umožnil proxy server uživateli pokračovat v přístupu na síť či nikoli. Protože proxy server se nacházel fyzicky v budově KNAV, a tedy i na její síťové infrastruktuře, měl přidělenu i tzv. IP adresu z adresního rozsahu, který má KNAV k dispozici. Samotná aplikace proxy byla dále nakonfigurována tak, že všechny vzdálené přístupy (síťová spojení) uživatelů byly maskovány za IP adresu proxy serveru a z pohledu poskytovatelů zdrojů se to tedy jevilo, že veškerý provoz jde z jednoho stroje v síti KNAV. Důvod, proč to tak bylo nastaveno, je prostý – poskytovatelé zdrojů umožňují přístup k chráněnému obsahu jen z registrovaných IP adres KNAV.

Výše uvedené řešení vzdáleného přístupu se v podstatě osvědčilo a bylo spolehlivé. Nicméně má několik významných slabin. Prvním problémem je nulové zabezpečení přenášených autentizačních údajů. v případě, že by si útočník někde na vhodném místě v síti umístil tzv. sniffer a odposlouchával síťový provoz, dostal by se postupně k těmto autentizačním údajům a mohl je následně zneužít. Další slabinou je nutnost aktivity ze strany uživatele spočívající v potřebě ručně nastavit svůj prohlížeč, aby používal proxy server. Nejde sice o nějaký složitý zásah, ale pro neznalé uživatele to může být problém. S potřebou nastavit prohlížeč se pojí i další, více skrytý problém, spočívající v tom, že přes proxy server jde veškerý síťový provoz připojeného uživatele, tedy nejen spojení na zdroje, ale i soukromé aktivity což je evidentně nežádoucí. Vzhledem k počtu uživatelů KNAV nelze samozřejmě předvídat, že nikdo z nich nebude provádět na síti závadné aktivity skrytě za IP adresou proxy serveru a poškozovat tak dobré jméno knihovny.

Ve světle těchto problémů se začal hledat nějaký jiný, bezpečnější a robustnější způsob, jak umožnit uživatelům vzdálený přístup ke zdrojům, který by netrpěl uvedenými nedostatky.

V roce 2008 se KNAV přihlásila do výběrového řízení Fondu rozvoje sdružení CESNET, z.s.p.o. (dále jen CESNET) s projektem zaměřeným na správu identit a budování federativní autentizační a autorizační infrastruktury. Tento projekt byl koncem roku 2008 Agenturou Rady Fondu rozvoje CESNET schválen a v následujících letech realizován.

Cílem projektu je do provozu uvedená federativní správa identit. Tato federativní správa identit dovoluje výměnu informací o uživatelích mezi různými organizacemi na základě dohody o vzájemné důvěře. Díky tomuto projektu získala KNAV jednak centrální správu identit svých uživatelů a zároveň možnost ověřovat identitu cizích uživatelů, kteří se snaží přistupovat k jejím interním zdrojům a zároveň jejím prostřednictvím ke zdrojům od poskytovatelů placeného obsahu, se kterými má KNAV uzavřenou smlouvu o přístupu.

Výhody členství ve federaci identit lze shrnout v následujících bodech:

  • uživatel používá pouze jedno heslo pro přístup k více aplikacím
  • správci aplikací (poskytovatelé zdrojů) neudržují autentizační data uživatelů, ani neprovádí autentizaci
  • autentizace uživatele probíhá vždy v kontextu domovské organizace, citlivé autentizační údaje uživatele neopouští domovskou síť
  • federační infrastruktura poskytuje snadný, standardní a bezpečný způsob výměny informací o uživatelích

Federace jsou zakládány většinou na národních úrovních – v České republice jsou poskytovatelé zdrojů a identit organizováni například ve federaci eduID.cz, jejímž cílem je poskytnout svým členům rámec pro vzájemné využívání identit uživatelů při řízení přístupu k síťovým službám při respektování ochrany osobních údajů. Operátorem federace je CESNET, který koordinuje dění ve federaci a je vykonavatelem federační politiky. Zároveň se stará o běh federace jako celku – provádí registraci členů, poskytuje podporu, řeší bezpečnostní incidenty.

Projekt se zabýval instalací, konfigurací, rozběhnutím a integrací systému Shibboleth do stávající infrastruktury KNAV. Shibboleth jako takový, je projekt organizace Internet2, který implementuje federativní infrastrukturu založenou na SAML (Security Assertion Markup Language) – XML standard určený k výměně autentizačních a autorizačních dat. v současné době jsou podporovány zejména web aplikace (prostřednictvím internetového prohlížeče), protože Shibboleth využívá některé specifické rysy HTTP (Hypertext Transfer Protocol) protokolu.

Shibboleth infrastrukturu lze nahlížet jako aplikační vrstvu mezi uživatelem a aplikací. Aplikace se nemusí zabývat autentizací, dostává potřebné informace z infrastruktury. Tím se mimo jiné výrazně zjednodušuje vývoj aplikací podporujících Shibboleth.

Když se nepřihlášený uživatel pokusí využít služeb aplikace fungující jako poskytovatel služeb, je přesměrován ke správci identit jeho vlastní organizace k přihlášení. Pokud poskytovatel služeb nedisponuje mechanismy, jak zjistit domovskou organizaci uživatele, přesměruje ho na tzv. WAYF (Where Are You From) stránku, kde může uživatel svou domovskou organizaci zvolit. Uživatel je pak přesměrován k přihlašovací stránce domovské organizace a může podstoupit autentizační proces. Po úspěšné autentizaci je uživatel přesměrován zpět k poskytovateli služeb, který mu pak umožní využít služeb příslušné aplikace. Při tom může poskytovatel služeb požádat správce identit o některé atributy daného uživatele.

V současné době se také využívají tzv. WAYFless odkazy, kdy uživatel má například na webových stránkách knihovny seznam poskytovaných zdrojů a nemusí proto aktivně vyhledávat jednotlivé webové stránky poskytovatelů zdrojů a odtud se zpětně dostávat k poskytovateli identit své domovské organizace výše uvedeným postupem. Jde o poměrně elegantní způsob, nicméně přináší pro správce webového serveru povinnost sledovat změny v WAYFless odkazech, což může být administrativně náročné.

Zatímco autentizaci obstarává správce identit, autorizaci musí zajistit poskytovatel služeb. Autorizační rozhodnutí provádí poskytovatel služeb na základě výsledku autentizace a dále na základě uživatelských atributů v případě úspěšné autentizace. Samotná aplikace může dále disponovat vlastními mechanismy autorizace.

Shibboleth Identity Provider (dále jen IdP) je aplikace napsaná v programovacím jazyce Java a je spouštěna jako servlet v nějakém aplikačním kontejneru, nejčastěji to bývá Apache Tomcat. Jako frontend je používán web server Apache, který přijímá spojení obsahující dotazy a předává je aplikačnímu kontejneru.

IdP poskytuje dvě služby:

  • autentizaci (vydává rozhodnutí o autentizaci v SAML)
  • výdej atributů (pro potřeby autorizačních rozhodnutí, jinými slovy řečeno, jaká oprávnění může autentizovaný uživatel dostat/získat)

Každá z těchto služeb má svůj vlastní tzv. endpoint (je to něco jako adresa a port, na které poslouchá). Tyto endpointy se nazývají SSO (single sign-on) a AA (Attribute Authority).

Shibboleth Service Provider (dále jen SP) je implementován jednak jako modul do web serveru a potom jako daemon (proces na pozadí), který běží samostatně. Modul zachytává HTTP dotazy a slouží jako rozhraní mezi web serverem a daemonem. Na základě konfigurace modul chrání určité adresáře nebo lokace. Pro přístup k těmto adresářům je potřeba splnit zadané podmínky (autentizace, autorizace na základě atributů).

Poté modul předává chráněné aplikaci informace o identitě přistupujícího uživatele, příslušné atributy a také další informace, například z jakého správce identit uživatel pochází, jakou metodou se autentizoval apod.

V KNAV je tedy zprovozněn IdP, který přebírá uživatelské údaje z knihovního systému Aleph opět prostřednictvím specializovaného autentizačního modulu vyvinutém v OIT v rámci výše zmíněného projektu. v současné době služby IdP nabízí KNAV jen svým registrovaným uživatelům (studenti, veřejnost, zaměstnanci jiných ústavů AV ČR). Do budoucna se předpokládá, že bude zprovozněn centrální IdP celé AV ČR, případně bude alespoň poskytnuta databáze všech zaměstnanců AV ČR, ze které by mohli IdP jednotlivých ústavů čerpat údaje. IdP KNAV je členem České akademické federace identit eduID.cz. v současné době zdaleka ne všichni poskytovatelé elektronického obsahu podporují výše zmíněnou infrastrukturu. Protože KNAV má pro své uživatele předplacené i tyto zdroje, byl v rámci projektu zřízen také specializovaný proxy server (EZProxy), který je napojen na IdP KNAV a tvoří tak jistou mezivrstvu mezi uživatelem a poskytovatelem elektronického obsahu. z pohledu uživatele je vše transparentní a stále se autentizuje jednotným způsobem – pro využití služeb vzdáleného přístupu mu stačí internetový prohlížeč, síťová konektivita a registrace v KNAV. Seznam poskytovatelů předpláceného elektronického obsahu je dostupný na internetových stránkách KNAV spolu s návodem, jak tyto služby použít.

Z výše uvedeného řešení plyne, že jeho nasazením byly odstraněny nedostatky původní koncepce s klasickým proxy serverem.

 

Duda, Martin. Federativní autentizační a autorizační infrastruktura Shibboleth v KNAV. Informace [online]. , č. [cit. 2024-04-20]. ISSN 1805-2800. Dostupné z: https://www.lib.cas.cz/casopis_informace/federativni-autentizacni-a-autorizacni-infrastruktura-shibboleth-v-knav/

Tisknout stránku