domingo, 15 de diciembre de 2024

Directorio Activo de Linux - LDAP

Posted by q3it on domingo, diciembre 15, 2024 in ,


Hola a todos! Continuando con el proyecto SOHO vamos a darle más vida a nuestro servidor Ubuntu, para ello voy a instalar la herramienta LDAP. Pero ¿Que es LDAP?  Descomponiendo esta sigla obtenemos Lightweight Directory Access Protocol, que es uno de los principales protocolos de autenticación que se desarrolló para los servicios de directorio. LDAP históricamente se ha usado como una base de datos de información, principalmente para almacenar información como: 
  • Usuarios
  • Atributos acerca de esos usuarios
  • Privilegios de la membresía de grupos
  • … y más
Esta información se utiliza posteriormente para permitir la autenticación a los recursos TI tales como una aplicación o servidor. Estos serían direccionados a la base de datos LDAP, la cual validaría posteriormente si se permite el acceso o no. Esa validación se llevaría a cabo pasando credenciales de usuario.
 
Teniendo claro el concepto de LDAP pasemos a su instalación. Ejecutamos en el servidor la siguiente instrucción sudo apt install slapd ldap-utils  y nos irá preguntando diferentes cuestiones de la configuración.
 
 
Para ver como ha quedado la configuración ejecutamos sudo slapcat
 
 
A partir de aquí ya podemos ir introduciendo objetos, vamos a empezar a introducir los primeros objetos dentro de nuestro dominio, vamos a crear una organizativa, un grupo y un usuario. Para poder hacer esto, vamos a crear archivos ldif donde vamos a poner la información y esta información luego se va a cargar para ser leída. Creamos el fichero dentro de nuestro directorio /home y le vamos a llamar ou.ldif "unidad organizativa" dentro de este ponemos lo siguiente...
 
 
La primera línea contiene el nombre de la unidad organizativa llamada "soho" y el dc es el dominio "thequbit.net"
La segunda línea es de tipo objeto top, porque va a ser un objeto que cae de la raíz.
La tercera línea es para indicarle que es una unidad organizativa.
Por último, el nombre de la unida organizativa.
 
Ahora lo siguiente es cargar el fichero en el sistema, y lo haríamos de la siguiente manera... sudo ldapadd -x -D cn=admin,dc=thequbit,dc=net -W -f ou.ldif 
 
 
En principio todo está correcto. Si queremos comprobar que la unidad organizativa está dentro de nuestro LDAP simplemente ejecutamos sudo slapcat.
 
 
Ahora vamos a crear el fichero grupo.ldif y dentro de este vamos a cargar los datos del grupo. 
 
 
Ejecutamos sudo slapcat.
 
 
Vamos a añadir un usuario. Hacemos exactamente lo mismo, vuelvo a crear un fichero llamado usuario.ldif y dentro de este ponemos todos los datos que necesitamos.
 
 
Si hacemos un slapcat tendríamos todos los objetos creados. Esta sería la parte del servidor, ya nos podríamos validar con este usuario. 
 
Ahora lo que vamos a configurar es la parte del cliente. Entramos en la máquina cliente y vamos a empezar a configurar el cliente con los paquetes necesarios. Ejecutamos la siguiente comando sudo apt install libnss-ldap libpam-ldap ldap-utils
 
Nos va a parecer un asistente, lo que tenemos que hacer es configurar nuestro servidor LDAP, tendríamos que poner la ip de nuestro servidor.
 

 
Ponemos nuestro dominio, en este caso mi dominio es thequbit.net
 
 
Ahora lo que tenemos que hacer es modificar la forma de iniciar sesión, para ello tenemos que ir al fichero /etc/nsswitch.conf donde le indicaremos que a la hora de validar se también se valide con los usuarios de dominio.
 

Si todo ha ido bien, ejecutando el comando getent passwd nos daría los usuarios incluyendo devnull.
 
 
Ahora para poder facilitar que cree él directorio /home automáticamente modificaremos el fichero de sesión /etc/pam.d/common-session.
 
 
Y añadimos la linea session optional pam_mkhomedir.so  skel=/etc/skel umask=077 Para comprobar que funciona iniciamos sesión con el usuario devnull.
 
 
En principio ya hemos iniciado sesión con el usuario y nos ha creado el directorio.
 
Ahora vamos a iniciar de forma gráfica, para poder iniciar de forma gráfica necesitaríamos instalar el paquete nslcd. Una vez instalado reiniciamos la máquina y nos debería aparecer el nuevo usuario.
 
 
Como podemos ver ya hemos iniciado sesión con el usuario devnull con su directorio /home
 
Si nosotros quisiéramos administrar de manera gráfica LDAP tendríamos que instalar la herramienta phpLDAPadmin por consola. Una vez instalada accedemos a ella por medio del navegador http://192.168.210.145/phpldapadmin/
 
  
En el panel de acceso le cambiamos los dc y les ponemos los nuestros.   
 

Si el login es satisfactorio nos lanzará a esta pantalla.
 
 
Estando dentro del Server SOHO podemos ver el usuario que hemos creado con todas sus características, y no menos importante podemos crear nuevas entradas.
 
   
Con esto concluyo la instalación y puesta en marcha de LDAP, conectando al cliente de forma gráfica y por terminal. Nos vemos en la siguiente post 👋😉