Előző 13.1 Telepítés Következő

13.1.2 WEB felület authentikációjának a beállítása

A 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égek

A 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ása

Az 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 authentication

Ré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