13.1.2 WEB felület authentikációjának a beállításaA PVSR WEB felületen használandó authentikáció nem csak az installálás során állítható be, hanem később is bármikor. Mégis mivel a műveletet tipikusan az installálás során szokás elvégezni, ezért kerül a Telepítés fejezetbe. 13.1.2.1 Authentikációs lehetőségekA PVSR többféle authentikációs eljárást is támogat. A PVSR a nyitó oldal megjelenítése után ugyanazon az oldalon megjelenít két beviteli mezőt: egy felhasználó nevet és egy jelszót. A jelszó ellenőrzést a PVSR végzi, a beállított authentikációs eljárásnak megfelelően. Ha a belépés engedélyezett, úgy a továbbiakban egy ún. cookie segítségével azonosítja a felhasználót. Ilyenkor a kilépés során ezt a cookie-t szünteti meg a szerver oldalon, ezáltal kikényszerítve az újboli bejelentkezést. Az ebbe a csoportba tartozó authentikációs eljárásoknak csak egy részénél történik meg a felhasználó jelszavának a beállítása, illetve a felhasználó sem mindig állíthatja át a saját jelszavát. Amennyiben a felhasználó nem állíthatja át a jelszavát, úgy a Beállítások => Felhasználó => Jelszó változtatás menüpont sem jelenik meg, kivéve, hogyha beállításra került a CONFIG_INI.pm-ben a CUSTOM_PASSWORD_PAGE paraméter: ilyenkor megjelenik a menüpont és a paraméterben beállított oldalt mutatja meg a felhasználónak. Az egyes authentikációs eljárások: · Jelszó file alapján. Ez az authentikáció támogatja a felhasználó jelszavának a be- illetve átállítását · LDAP: ilyenkor az authentikációt a PVSR egy külső LDAP szerver segítségével végzi. Se a felhasználó jelszavának be-, se az átállítását nem támogatja ez az authentikáció, azaz a felhasználót és a jelszót az adminisztrátornak külön kell beállítania az LDAP szerverben · RADIUS: ilyenkor az authentikációt a PVSR egy külső RADIUS szerver segítségével végzi. Se a felhasználó jelszavának be-, se az átállítását nem támogatja ez az authentikáció, azaz a felhasználót és a jelszót az adminisztrátornak külön kell beállítania a RADIUS szerverben · CAS (http://www.jasig.org/cas): a PVSR egy külső CAS (Central Authentication Service) szervert használ az authentikációhoz. Ennek a segítségével lehetőség van SSO-ra (single-sign-on) is. Se a felhasználó jelszavának be-, se az átállítását nem támogatja ez az authentikáció, azaz a felhasználót és a jelszót az adminisztrátornak külön kell beállítania a CAS szerverben. Bár általában ez az mód megengedi a kijelentkezést (SSO esetben ez kijelentkeztet minden alkalmazásból), az adminisztrátor ezt le is tilthatja a PVSR-ben. Ez a funkció akkor lehet hasznos, ha a CAS szerver automatikus Windows domain authentikációt használ, mivel ez esetben a felhasználó igazából nem is tud kilépni · Keycloak (https://www.keycloak.org/): a PVSR egy külső Keycloak szervert használ az authentikációhoz. Ennek a segítségével lehetőség van SSO-ra (single-sign-on) is. Se a felhasználó jelszavának be-, se az átállítását nem támogatja ez az authentikáció, azaz a felhasználót és a jelszót az adminisztrátornak külön kell beállítania a Keycloak szerverben 13.1.2.2 Authentikáció beállításaAz authentikációs eljárásokat a PVSR etc könyvtárában (alapesetben /opt/pvsr/etc) található pvsr_auth.cfg file szerkesztésével lehet beállítani. Az alkalmazás támogatja külön authentikáció beállítását a SOAP és a REST API tekintetében, ezt a pvsr_auth_rest.cfg file létrehozásával lehet megtenni. 13.1.2.2.1 Basic authenticationRégi, már nem támogatott authentikációs lehetőség. 13.1.2.2.2 Jelszó file alapú authentikációA pvsr_auth.cfg file első sorának az alábbinak kell lennie: password_file Ennek az authentikációnak több paramétere nincsen, így a file többi részét figyelmen kívül hagyja a rendszer. 13.1.2.2.3 LDAP authentikációA pvsr_auth.cfg file első sorának az alábbinak kell lennie: ldap Ennek az authentikációnak több beállítható paraméter is van, ezek egy része kötelező, míg a másik része opcionális. Vannak közöttük olyan paraméterek, amelyeknek csak egy értéke lehet, de olyanok is, amelyeknek több értéke is lehet. A paramétereket a file-ban név=érték formában kell megadni. Amennyiben egy paraméternek több értéke is lehet, úgy több ilyen sor is szerepelhet a file-ban. Az egyes paraméterek az alábbiak: · ldap_url: az LDAP szervert ezzel az URL-lel éri el a rendszer. A paraméter kötelező és többet is meg lehet adni belőle. Ha több is szerepel, akkor először az elsőhöz probál csatlakozni, ha ez nem sikeres, akkor a másodikhoz, … Ha valahova sikeresen csatlakozott, akkor az authentikációt mindenképpen ott végzi el, azaz ha két URL is be van konfigurálva, és mindkettő elérhető, de a felhasználó által megadott név és jelszó csak a második LDAP szerverben található meg, akkor a belépés nem lesz sikeres. Példa: ldap_url=ldap://192.168.35.1:10389/ ldap_url=ldap://192.168.35.2:10389/ · timeout: hány másodpercig várjon a szerverhez történő csatlakozásra. Ha nem kerül megadásra, akkor 10 másodpercig vár a sikeres csatlakozásra. Példa: timeout=5 · bind_dn és bind_pwd: milyen DN-t használjon a kezdeti BIND művelethez, azaz milyen DN-nel csatlakozzon az LDAP szerverhez azért, hogy megkeresse a felhasználó által megadott belépési nevet. Nem kötelező paraméterek, és csak akkor veszi figyelembe a rendszer őket, ha mindkettő megadásra került. Ha nem kerülnek megadásra, úgy anonym módon lép be a PVSR az LDAP szerverre. A paramétereket akkor ajánlott beállítani, ha az anonym belépés nem engedélyezett, ilyenkor a bind_dn-nek a használni kívánt DN-t, a bind_pwd-nek pedig az ehhez tartozó jelszót kell megadni. Példa: bind_dn=uid=admin,ou=system bind_pwd=password123 · base_dn: az ez alatti fa hierarchiában fogja keresni a PVSR a felhasználó által megadott belépési nevet. Kötelező paraméter és csak egy értéket lehet megadni. Példa: base_dn=o=pvsr · search_attr: a felhasználó által megadott belépési nevet ebben az LDAP paraméterben fogja keresni az alkalmazás. Kötelező paraméter és csak egy értéket lehet megadni. Fontos hogy a PVSR pontosan egy objektumnál találja meg a felhasználó által megadott értéket az itt megadott paraméterben, mert különben a belépés nem lesz sikeres. Példa: search_attr=cn · auth_attr: ha sikeresen talált pontosan egy olyan DN-t, ahol a search_attr paraméternek megfelelő attribútum megegyezik a megadott belépési névvel, és az adott DN-nel és jelszóval sikeresen lehetett csatlakozni, úgy az auth_attr-ban lévő attribútumot használja fel arra, hogy megkeresse a PVSR-ben a felhasználót. Az attribútumban szereplő értéknek meg kell egyeznie a felületen megadott Login paraméter értékének. Kötelező paraméter és csak egy értéket lehet megadni. Példa: auth_attr=uid · name_attr: ha ki van töltve és be van állítva a felhasználó automatikus létrehozása a PVSR-ben, akkor az ebben az attribútumban szereplő névvel hozza létre a rendszer a felhasználót és nem pedig az auth_attr-ban szereplő paraméter alapján · msad_gig és msad_gig_base_dn: ha a msad_gig paraméter értéke 1, akkor a PVSR nem csak azt fogadja el, ha a felhasználó szerepel a megadott Windows AD csoportokban, hanem azt is, ha a csoportok alatt található valamelyik csoportban megtalálható. Ha a msad_gig_base_dn is meg van adva, akkor a csoportok keresésére ezt a DN-t használja a rendszer, nem pedig a base_dn-ben megadottat · admin_dn: ha sikeresen belépett a felhasználó által megadott névvel és jelszóval, és a felhasználó DN-e szerepel a paraméter értékei között, úgy nála az auth_attr paramétert nem is vizsgálja. Helyette a felhasználót, mint az admin PVSR felhasználót lépteti be. A paraméter nem kötelező és többet értéket is meg lehet adni. Példa: admin_dn=cn=Szabó Balázs,ou=valid-users,o=pvsr admin_dn=cn=Kiss Ákos,ou=valid-users,o=pvsr · overwrite_pvsr_group: ha az értéke 1 és használunk group szűrést (lásd alább), akkor a belépés után a rendszer összeegyezteti a kapott csoportokat a PVSR-ben lévő csoportokkal és abba helyezi el a felhasználót ezek közül, amelyik a PVSR-ben a magasabb jogosultsági szinttel rendelkezik. Az LDAP csoportokat a rendszer a PVSR felhasználó csoportok Login paraméterével azonosítja. Fontos azonban megemlíteni, hogy a PVSR nem fog automatikusan felhasználó csoportokat létrehozni az adatbázisában, így ha ezt a funkciót használni akarjuk, akkor az összes a konfigurációs file-ban felsorolt group-ot létre kell kézzel hozni mint PVSR felhasználó csoportot · create_pvsr_user_from_ldap: ha az értéke 1 és a felhasználó nem létezik a rendszerben, úgy automatikusan létrehozza azt a PVSR mint nem adminisztrátor felhasználót · szűrési paraméterek: a következő paraméterek mindegyike arra szolgál, hogy további feltételeket lehessen megfogalmazni, aminek a felhasználónak meg kell felelnie ahhoz, hogy beléphessen a PVSR-be. Egyik paraméter sem kötelező és mindegyiknél több értéket is meg lehet adni. Amennyiben egyik sincsen megadva és a felhasználó létezik PVSR-ben, úgy a belépése sikeres. Mivel a belépésnek a feltétele az is, hogy a PVSR-be fel legyen véve, így ez már maga egy szűrést biztosítva, ezért ezekre a szűrési feltételekre általában nincsen szükség. Ha mégis meg van adva legalább egy feltétel, akkor a belépés csak akkor sikeres, hogyha a felhasználó által meghatározott DN megfelel neki, vagy szerepel az admin_dn-ek között: o group: a megadott csopotba kell tartoznia a felhasználónak group=cn=pvsr,ou=valid-users,o=pvsr o user: a search_attr-ban megadott paraméterre lehet szűrni, azaz csak azok léphetnek be, akiknek a belépési neve fel van itt sorolva user=Páka Tamás user=Horváth Kálmán o dn: a felhasználó által meghatározott DN-nek szerepelnie kell a listában dn=cn=Páka Tamás,ou=valid-users,o=pvsr dn=cn=Horváth Kálmán,ou=valid-users,o=pvsr o filter_attr: tetszőleges attribútum szűrést lehet megadni vele, a paraméter értékének attribútum=érték formátumúnak kell lennie, az ellenőrzés során pontos egyezőséget vizsgál filter_attr=allow_pvsr=Yes Egyszerű minta pvsr_auth.cfg file anonym DN belépés esetében: ldap ldap_url=ldap://192.168.35.1:10389/ base_dn=o=pvsr search_attr=uid auth_attr=uid 13.1.2.2.4 RADIUS authentikációA pvsr_auth.cfg file első sorának az alábbinak kell lennie: radius Ennek az authentikációnak több beállítható paraméter is van, ezek egy része kötelező, míg a másik része opcionális. Vannak közöttük olyan paraméterek, amelyeknek csak egy értéke lehet, de olyanok is, amelyeknek több értéke is lehet. A paramétereket a file-ban név=érték formában kell megadni. Amennyiben egy paraméternek több értéke is lehet, úgy több ilyen sor is szerepelhet a file-ban. Az egyes paraméterek az alábbiak: · host: a RADIUS szervert ezen a címen és port-on éri el a rendszer. A paraméter kötelező és többet is meg lehet adni belőle. Ha több is szerepel, akkor először az elsőhöz probál csatlakozni, ha ez nem sikeres, akkor a másodikhoz, … Ha valahova sikeresen csatlakozott, akkor az authentikációt mindenképpen ott végzi el, azaz ha két host is be van konfigurálva, és mindkettő elérhető, de a felhasználó által megadott név és jelszó csak a második hoston található meg, akkor a belépés nem lesz sikeres. Példa: host= 192.168.35.1:1645 host= 192.168.35.2:1645 · timeout: hány másodpercig várjon a szerverhez történő csatlakozásra. Ha nem kerül megadásra, akkor 10 másodpercig vár a sikeres csatlakozásra. Példa: timeout=5 · secret: ezt a secret-et használja a PVSR a RADIUS szerverrel történő konfigurálás során. Példa: secret=pvsr_secret · admin: ha sikeresen belépett a felhasználó által megadott névvel és jelszóval, és a felhasználó belépési neve szerepel a paraméter értékei között, akkor mint az admin PVSR felhasználót lépteti be. A paraméter nem kötelező és többet értéket is meg lehet adni. Példa: admin=balazs_szabo admin=akos_kiss · user: a paraméter arra szolgál, hogy további feltételeket lehessen megfogalmazni, aminek a felhasználónak meg kell felelnie ahhoz, hogy beléphessen a PVSR-be. A paraméter nem kötelező és több értéket is meg lehet adni. Amennyiben nincsen megadva és a felhasználó létezik PVSR-ben, úgy a belépése sikeres. Mivel a belépésnek a feltétele az is, hogy a PVSR-be fel legyen véve, így ez már maga egy szűrést biztosítva, ezért erre a szűrési feltételre általában nincsen szükség. Ha mégis meg van adva legalább egy érték, akkor a belépés csak akkor sikeres, hogyha a felhasználó által megadott belépési név szerepel az értékei vagy az admin értékei között. Példa: user=tamas_paka user=kalman_horvath Egyszerű minta pvsr_auth.cfg file: radius host=192.168.35.1:1645 secret=pvsr_secret 13.1.2.2.5 CAS authentikációA pvsr_auth.cfg file első sorának az alábbinak kell lennie: cas Ennek az authentikációnak több beállítható paraméter is van, ezek egy része kötelező, míg a másik része opcionális. A paramétereket a file-ban név=érték formában kell megadni. Az egyes paraméterek az alábbiak: · server: a CAS szerver URL-je. A paraméter kötelező és csak egy értéket lehet megadni. Példa: server=https://az_én_szerverem/cas_installation/ · timeout: hány másodpercig várjon a szerverhez történő csatlakozásra. Ha nem kerül megadásra, akkor 10 másodpercig vár a sikeres csatlakozásra · allow_logout: ha az értéke 0, akkor a PVSR nem jeleníti meg a kilépés ikont Egyszerű minta pvsr_auth.cfg file: cas server=https://192.168.35.3:8443/test-cas/ 13.1.2.2.6 Keycloak authentikációA pvsr_auth.cfg file első sorának az alábbinak kell lennie: keycloak Ennek az authentikációnak több beállítható paraméter is van, ezek egy része kötelező, míg a másik része opcionális. A paramétereket a file-ban név=érték formában kell megadni. Az egyes paraméterek az alábbiak: · realm_url: a Keycloak ún. REALM-ot ezzel az URL-lel éri el a rendszer. A paraméter kötelező. Példa: realm_url=http://192.168.25.120:8080/realms/test-realm · timeout: hány másodpercig várjon a szerverhez történő csatlakozásra. Ha nem kerül megadásra, akkor 10 másodpercig vár a sikeres csatlakozásra. Példa: timeout=5 · client_id: a PVSR azonosítója a Keycloak-ban, kötelező paraméter. Példa: client_id=PVSR · overwrite_pvsr_group: ha az értéke 1, akkor a belépés után a rendszer összeegyezteti a kapott Keycloak role-okat a PVSR-ben lévő csoportokkal és abba helyezi el a felhasználót ezek közül, amelyik a PVSR-ben a magasabb jogosultsági szinttel rendelkezik. Fontos azonban megemlíteni, hogy a PVSR nem fog automatikusan felhasználó csoportokat létrehozni az adatbázisában, így ha ezt a funkciót használni akarjuk, akkor az összes a konfigurációs file-ban felsorolt group-ot létre kell kézzel hozni mint PVSR felhasználó csoportot · create_pvsr_user_from_ldap: ha az értéke 1 és a felhasználó nem létezik a rendszerben, úgy automatikusan létrehozza azt a PVSR mint nem adminisztrátor felhasználót · admin_username: ha a beléptetett felhasználónév megegyezik ezzel az opcionális paraméterrel, akkor mint a PVSR „admin” felhasználó fog belépni |