PWM duen kontuen autozerbitzu ataria
De todos es conocidos la guerra que pueden dar los usuarios con sus cuentas de usuario, que si se han ido de vacaciones y se les ha olvidado la contraseña, que si te juro que la he escrito 5 veces bien… Onena, pues hoy tenemos un documento top, un portal web de autogestión de cuentas de usuario.
Para evitar pérdidas de tiempo en IT es bueno delegar ciertas tareas en los usuarios, y la gestión de sus credenciales es una de ellas, a parte de quitar un % importante del tiempo de nuestros recursos, también perdemos eficiencia ya que el tiempo de respuesta no será inmediato. Así pues, hoy veremos PWM, un portal web Self-Service para las cuentas de usuario de cualquier LDAP, como pueda ser nuestro Directorio Activo.
Por supuesto PWM es Open Source y tiene cosas muy muy curiosas, nos permitirá granularmente seleccionar las opciones que queremos implementar, como pueda ser, permitir crear cuentas de usuario nuevas, o activar usuarios nuevos, cambiar su contraseña, resetear la contraseña si no se acuerda en base a unas preguntas (u Token mal, TOTP…), integración de para el HelpDesk, actualización de ciertos campos de usuario… Está disponible en cualquier idioma, el tema del interfaz web es sencillamente personalizable para hacerlo corporativo… Bastante interesante, así que se lo agradecemos a sus autores y recordar colaborar con la comunidad de la manera que mejor os venga 😉
Como no la instalación se basa en un contenedor de Docker que en un minutito tendremos corriendo. Si necesitas instalar Docker echa un vistazo a la documentación oficial. Nos descargamos 'pwm-docker-image-2.0.1.tar’ de https://github.com/pwm-project/pwm/releases, lo cargamos a la máquina con Docker y arrancamos el contenedor:
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
Configurando PWM,
Abrimos un navegador contra https://DIRECCION_IP_PWM:8443 nos dará la bienvenida a un asistente de configuración, “Next”,
Sakatu on “Manual Configuration” para configurarlo,
Aceptamos para salir del asistente básico de configuración.
Nos solicita una contraseña que será la que usemos siempre que queramos entrar a modificar la configuración.
Onartzen dugu, nos indica que estamos en modo configuración y que podremos loguearnos sin cuentas LDAP, hasta que las configuremos y las validemos.
Beraz, sakatu “Configuration Editor”,
Introducimos la contraseña de configuración,
Y bienvenidos a la configuración, realmente es sencillo de navegar por el menú izquierdo y localizar las opciones que necesitemos. Tenemos varias vistas que ocultarán características Básicas, internedidas o nada.
Lo primero, si lo vamos a integrar con nuestro Directorio Activo, lo seleccionaremos en “LDAP Vendor Default Settings”.
Aceptamos el cambio,
Y en menú de configuración de LDAP, tendremos que crear una conexión contra nuestro Directorio Activo, indicaremos el o los servidores LDAP, conectaremos con LDAPS preferiblemente, pulsaremos en obtener el certificado desde el servidor. Ondoren, configuraremos la cuenta llamada “LDAP Proxy User” que será la cuenta de usuario de nuestro AD que usará para cambiar y resetear contraseñas (así que debe ser un usuario con únicamente esa delegación), además indicaremos la (o las) base DN donde estarán nuestros usuarios. Y por último deberemos indicar una cuenta de pruebas para validar que podemos realizar dichos cambios.
Al pulsar en “Test LDAP Profile” nos validará la conexión.
Para no hacer cambios en el esquema del AD, necesitaremos un servidor de BD de MySQL o MariaDB donde PWM almacenará los atributos que necesite. Este MySQL puede correr en la misma máquina que Docker, en un contenedor o en una máquina dedicada. Con los siguientes comandos crearemos la base de datos, un usuario con una contraseña y le asignaremos permisos al usuario a dicha BD:
CREATE DATABASE pwm_db; CREATE USER 'pwd_user'@'%' IDENTIFIED BY 'XXXXXXXXXX'; GRANT ALL ON pwm_db.* TO 'pwd_user'@'%'; FLUSH PRIVILEGES;
Así que desde “Ezarpenak” > “Database (Remote)” > “Connection” deberemos conectarnos a ella.
Antes de ello, descargamos mysql-connector-java-8.0.28.zip de https://dev.mysql.com/downloads/connector/j/?os=26, lo descomprimiremos y en “Database Driver” subiremos el fichero JAR (en mi caso mysql-connector-java-8.0.28.jar). In “Database Class” indicamos: 'com.mysql.jdbc.Driver’ y en “Database Connection String” jartzen dugu: 'jdbc:mysql://DIRECCION_IP_MYSQL:3306/pwm_db?useTimezone=true&serverTimezone=UTC'. Introducimos los credenciales de acceso en “User Name” y en “Password”.
Si pulsamos en “Test Database Connection” verificaremos el acceso correcto!
Así que en los Settings predeterminados ya le podremos indicar que usamos como almacenamiento una “Urruneko datu-basea”.
Aldaketak onartzen ditugu,
Ezarri beharko dugun gauza bat da zein erabiltzaile diren PWMren administratzaileak.
Horrez gain, Zein izango den Gunearen URL-a.
Edo posta zerbitzuaren konfigurazioa, erabiltzaileen helbideetara balioztatze-mailak bidaltzeko.
Eta sakatzen dugu “Gorde” konfigurazioa gordetzeko & “Onartu”,
Dena ondo joan bada, proba dezakegu administrazio kontuarekin saioa hasteko, adierazi dugun kontua erabiliz, Active Directory-ko erabiltzailea izanik.
Perfecta, saioa hasi ondoren ikusiko dugu Administrazio panela bakarrik dugula gaituta, eta erabiltzaile funtzioak ez dira ikusten, Hau da oraindik konfigurazio moduan gaudelako. Administrazioan sakatzen dugu.
Gune honetara eramango gaitu, non erabiltzaileen jarduera ikusi eta ikertu ahal izango dugun…
Guztira, eta sakatzen badugu “Konfigurazio Kudeatzailea”,
Sartu konfiguraziora sartzeko pasahitza.
Eta gunea produkzioan jartzeko sakatuko dugu “Mugatu Konfigurazioa”.
Gure Active Directory-rekin balioztatuta egon behar dugula adierazten digu, “Onartu”,
Eta berehala gunea produkzioan jartzen da, Active Directoryko erabiltzaile batekin saioa hasita, PWM Gunearen administratzailea izan arren, segurtasun galderak bete ahal izango ditugu.
Menu nagusira joaten bagara hau izango litzateke, Erabiltzaile normal batek ikusiko ez lukeen ikonoarekin alderatuta, funtzio administratiboekin.
Active Directoryko erabiltzaile normal gisa sartuz,
Active Directoryko erabiltzaile normal batekin saioa hasi gaitezke balioztatzeko…
Segurtasun galderen erantzunak betetzea eskatu digute.
Etorkizunean gure pasahitza ahazten badugu lagungarri izango direla adierazten digu.
Erabiltzaile tradizional bat lehenetsi moduan ikusiko lukeena da. Berriro ere, kontuaren datuak eguneratzeko funtzionalitateak gehitu daitezke, Beste erabiltzaile baten bila bilaketak egiteko aukera izan dezan, OTP bat konfiguratu dezan…
Zer gertatzen da pasahitza ahazten denean,
Si pulsamos en “Pasahitza ahaztua”,
Asistentzia bat agertuko zaigu, erabiltzaile izena zehazteko eskatuko diguna.
Eta jakina, Behin bete ostean agertuko diren galderak dira. Horri esker, erabiltzaileak pasahitza berrezarri ahal izango du ahaztuz gero. Gainera, beste autentifikazio metodo batzuk eskatu ditzakegu, hala nola Token bat edo posta elektronikoz egiaztatzea.
Habilitando nuevos registros de usuarios,
Veremos en los Módulos que tenemos distintas opciones que podremos ir habilitando en el portal público, o en el portal tras su autenticación. En este ejemplo sencillo vemos cómo habilitar “New User Registration”,
E indicamos en “Creation Context” la OU donde se almacenarán estas cuentas.
Pulsamos en SAVE para guardar la configuración.
Y lo validamos, vemos cómo ya tenemos un nuevo botón que podrían pulsar para registrar nuevos usuarios.
Habilitar OTP,
Veremos cómo habilitar un Token para usarlo como un segundo método de validación en alguna situación que nos interese. Ojo, por ahora PWM no permite requerirlo para hacer el logon de los usuarios, pero sí para cuando realiza algún cambio en su cuenta, peeero no para cambiarse la contraseña una vez logueado… ¿?
Habilitamos OTP y opcionalmente podremos forzarlo o no.
Verificamos que las claves de OTP se almacenarán en la base de datos y de manera cifrada. Grabamos los cambios.
Y veremos cuando nos logueemos con un usuario un icono nuevo para configurarse el Token,
Si pulsamos saldrá un asistente donde nos indicará dependiendo del dispositivo que usemos unas instrucciones, el usuario escaneará el código QR y finalizará el asistente validando el código.
Personalizando el tema,
No podiamos cerrar el post sin esto, pero por defecto PWM dispone de varios temas que son bastante más modernos que el interfaz clásico. Podremos seleccionar el que más nos guste y modificar manualmente el fichero CSS. Si bien es cierto que dispone un punto de menú para esta funcionalidad yo particularmente copio el CSS y la imagen de fondo cuando el contenedor arranca.
Nada, os dejo a modo ejemplo algunos pantallazos con el tema modificado, colores corporativos… esta sería la web de inicio.
Este sería el portal una vez el usuario se haya autenticado.
Respondiendo a las preguntas cuando se te olvida la contraseña….
Onena, ¿listo? creo que para hacernos una idea nos puede servir, PWM es una herramienta que puede ayudarnos mucho cuando esta gestión es una pesadilla o lo dicho, requiere que le dediquemos un tiempo desde IT. Es bueno disponer de un portal para que nuestros usuarios, clientes o proveedores puedan gestionarse los credenciales de una manera independiente.
Ale, un abrazo a todos, gracias si habéis llegado hasta aquí, un arrumaco a todos los que movéis este tipo de contenido por redes sociales. Que vaya bien, ¡éxitos!





















































































