
Portal d' autoservei de comptes amb PWM
De tots és coneguts la guerra que poden donar els usuaris amb els seus comptes d'usuari, que si se n'han anat de vacances i se'ls ha oblidat la contrasenya, que si et juro que l'he escrit 5 vegades bé… Bo, doncs avui tenim un document top, un portal web d'autogestió de comptes d'usuari.
Per evitar pèrdues de temps en IT és bo delegar certes tasques en els usuaris, i la gestió de les seves credencials és una d' elles, a part de treure un % important del temps dels nostres recursos, també perdem eficiència ja que el temps de resposta no serà immediat. Així doncs, avui veurem PWM, un portal web Self-Service per als comptes d'usuari de qualsevol LDAP, com pugui ser el nostre Directori Actiu.
Per suposat PWM és Open Source i té coses molt molt curioses, ens permetrà granularment seleccionar les opcions que volem implementar, com pugui ser, permetre crear comptes d' usuari nous, o activar usuaris nous, canviar la seva contrasenya, resetejar la contrasenya si no s' acorda en base a unes preguntes (u Token mal, TOTP…), integració de per al HelpDesk, actualització de certs camps d' usuari… Està disponible en qualsevol idioma, el tema de l'interfície web és senzillament personalitzable per fer-lo corporatiu… Prou interessant, així que els ho agraïm als seus autors i recordar col·laborar amb la comunitat de la manera que millor us vingui 😉
Com que no la instal·lació es basa en un contenidor de Docker que en un minutet tindrem corrent. Si necessites instal·lar Docker fica una ullada a la documentació oficial. Ens descarreguem 'pwm-docker-image-2.0.1.tar’ de https://github.com/pwm-project/pwm/releases, el carreguem a la màquina amb Docker i arrenquem el contenidor:
docker load --input=/tmp/pwm-docker-image-2.0.1.tar docker run -d --name mipwm -p 8443:8443 pwm/pwm-webapp -v /config:/home/openservices/pwm-config sudo docker start mipwm
Configurant PWM,
Obrim un navegador contra https://DIRECCION_IP_PWM:8443 ens donarà la benvinguda a un assistent de configuració, “Next”,
Posem en “Manual Configuration” per configurar-lo,
Acceptem per sortir de l'assistent bàsic de configuració.
Ens demana una contrasenya que serà la que usem sempre que vulguem entrar a modificar la configuració.
Acceptem, ens indica que estem en mode configuració i que podrem lloar-nos sense comptes LDAP, fins que les configurem i les validem.
Així que posem en “Configuration Editor”,
Introduïm la contrasenya de configuració,
I benvinguts a la configuració, realment és senzill de navegar pel menú esquerre i localitzar les opcions que necessitem. Tenim diverses vistes que ocultaran característiques Bàsiques, internedides o res.
El primer, si el vam integrar amb el nostre Directori Actiu, el seleccionarem en “LDAP Vendor Default Settings”.
Acceptem el canvi,
I en menú de configuració de LDAP, haurem de crear una connexió contra el nostre Directori Actiu, indicarem el o els servidors LDAP, connectarem amb LDAPS preferiblement, polsarem a obtenir el certificat des del servidor. Després, configurarem el compte anomenat “LDAP Proxy User” que serà el compte d'usuari del nostre AD que farà servir per canviar i resetejar contrasenyes (així que ha de ser un usuari amb únicament aquesta delegació), a més indicarem la (o les) base DN on estaran els nostres usuaris. I per últim haurem d'indicar un compte de proves per validar que podem realitzar aquests canvis.
En polsar en “Test LDAP Profile” ens validarà la connexió.
Per no fer canvis en l'esquema de l'AD, necessitarem un servidor de BD de MySQL o MariaDB on PWM emmagatzemarà els atributs que necessiti. Aquest MySQL pot córrer a la mateixa màquina que Docker, en un contenidor o en una màquina dedicada. Amb els següents comandaments crearem la base de dades, un usuari amb una contrasenya i li assignarem permisos a l'usuari a l'esmentada BD:
CREATE DATABASE pwm_db; CREATE USER 'pwd_user'@'%' IDENTIFIED BY 'XXXXXXXXXX'; GRANT ALL ON pwm_db.* TO 'pwd_user'@'%'; FLUSH PRIVILEGES;
Així que des de “Settings” > “Database (Remot)” > “Connection” haurem de connectar-nos-hi.
Abans d'això, descarreguem mysql-connector-java-8.0.28.zip de https://dev.mysql.com/downloads/connector/j/?os=26, ho descomprimirem i en “Database Driver” pujarem el fitxer JAR (en el meu cas mysql-connector-java-8.0.28.jar). En “Database Class” indiquem: 'com.mysql.jdbc.Driver’ i en “Database Connection String” posem: 'jdbc:mysql://DIRECCION_IP_MYSQL:3306/pwm_db?useTimezone =true&serverTimezone = UTC'. Introduïm les credencials d' accés a “User Name” i en “Password”.
Si posem en “Test Database Connection” verificarem l' accés correcte!
Així que als Settings predeterminats ja li podrem indicar que fem servir com a emmagatzematge una “Remote Database”.
Acceptem els canvis,
Una cosa que haurem de configurar és quins usuaris són administradors de PWM.
Així com quina serà la URL del Lloc.
O la configuració del servei de correu per a l'enviament de mails de validació als mails dels usuaris.
I li donem a “Save” per guardar la configuració & “Acceptar”,
Si ha anat tot bé, podrem provar de lloar-nos amb el compte administratiu que hàgim indicat, sent un usuari del Directori Actiu.
Perfecte, després de lloar-nos veurem que unicament tenim el palen d'Administració habilitat, i no es veuen les funcions d'usuari, això és perquè encara seguim en la manera de configuració. Posem en Administració.
Ens portarà a aquest lloc on podrem curiosejar i investigar l'activitat dels usuaris…
Total, que si posem en “Configuration Manager”,
Introduïm la contrasenya d'accés a la Configuració.
I per posar en producció el lloc polsarem en “Restrict Configuration”.
Ens indica que hem d'estar segurs d'haver-nos validat amb el nostre Directori Actiu per validar-lo, “Acceptar”,
I immediatament el lloc es posa en producció, en estar lloats amb un usuari de Directori Actiu, encara que siguem l'administrador del Lloc PWM podrem ja emplenar les preguntes de seguretat.
Si anem al menú principal aquest seria, a diferència d'un usuari normal que no veuria la icona amb les funcions administratives.
Accedint com un usuari normal de Directori Actiu,
Podem lloar-nos amb un usuari normal de l'Active Directory per validar…
Ens demanaria el compliment de les respostes a les preguntes de seguretat.
Ens indica que ens serviran a futur si oblidem la nostra contrasenya.
I un usuari tradicional és el que veuria per defecte. Insisteixo es poden afegir funcionalitats perquè actualitzi dades del seu compte, pugui realitzar busquedes d' altres usuaris, configurar un OTP…
Què passa quan s'oblida una contrasenya,
Si posem en “Contrasenya oblidada”,
Ens sortirà un assistent que demanarà que especifiquem el nostre nom d'usuari.
I òbviament, sortiran les preguntes que un cop emplenem. Amb això l'usuari podrà restablir-se la seva contrasenya en cas d'oblit. A més podem requerir altres mètodes d'autenticació com un Token o una verificació per mail.
Habilitant nous registres d' usuaris,
Veurem als Mòduls que tenim diferents opcions que podrem anar habilitant al portal públic, o al portal després de la seva autenticació. En aquest exemple senzill veiem com habilitar “New User Registration”,
I indiquem en “Creation Context” l' OU on s' emmagatzemaran aquests comptes.
Posem en SAVE per guardar la configuració.
I ho validem, veiem com ja tenim un nou botó que podrien pulsar per registrar nous usuaris.
Habilitar OTP,
Veurem com habilitar un Token per usar-lo com un segon mètode de validació en alguna situació que ens interessi. Ull, per ara PWM no permet requerir-ho per fer el logon dels usuaris, però sí per quan realitza algun canvi en el seu compte, peeero no per canviar-se la contrasenya un cop… ¿?
Habilitam OTP i opcionalment podrem forçar-lo o no.
Verificam que les claus d'OTP s'emmagatzemaran a la base de dades i de manera xifrada. Gravem els canvis.
I veurem quan ens lloguem amb un usuari una icona nova per configurar-se el Token,
Si posem sortirà un assistent on ens indicarà depenent del dispositiu que fem servir unes instruccions, l'usuari escanejarà el codi QR i finalitzarà l'assistent validant el codi.
Personalitzant el tema,
No podíem tancar el post sense això, però per defecte PWM disposa de diversos temes que són bastant més moderns que l'interfície clàssic. Podrem seleccionar el que més ens agradi i modificar manualment el fitxer CSS. Si bé és cert que disposa un punt de menú per a aquesta funcionalitat jo particularment copio el CSS i la imatge de fons quan el contenidor arrenca.
Res, us deixo a tall exemple alguns pantallaços amb el tema modificat, colors corporatius… aquesta seria la web d'inici.
Aquest seria el portal un cop l'usuari s'hagi autenticat.
Responent a les preguntes quan se t'oblida la contrasenya….
Bo, ¿llest? crec que per fer-nos una idea ens pot servir, PWM és una eina que pot ajudar-nos molt quan aquesta gestió és una pesseta o el dit, requereix que li dediquem un temps des d' IT. És bo disposar d'un portal perquè els nostres usuaris, clients o proveïdors puguin gestionar-se les credencials d' una manera independent.
Ale, una abraçada a tots, gràcies si heu arribat fins aquí, un arruix a tots els que mogueu aquest tipus de contingut per xarxes socials. Que vagi bé, èxits!