Informe Protocolo LDAP
Alumno: Juan Francisco Mendoza Martínez
Competencia: Gestión del Conocimiento
Palabras Claves: servidor, ldap, protocolo
Descripción de la actividad:
- En esta actividad grupal, se ha dado el último caso de estudio en este ramo correspondiente al protocolo LDAP. Deberemos configurar este servicio de directorio con Ubuntu, Debian ó algún Sistema Operativo de Linux. Deberemos trabajar con putty y con el phpldapadmin. Así mismo, tendremos que hacer la actividad solicitada por el profesor y explicar a través de palabras y fotos lo que iremos a realizar.
La primera pregunta que nos surgió a nivel de equipo fue principalmente…
¿Qué es LDAP?
- LDAP es un protocolo de acceso a directorios ligeros (Lightweight Directory Access Protocol) y tal como sus siglas lo dicen, es un servicio de directorio que es un tanto parecido a lo que son los sistemas de archivos (visto en clases). LDAP tiene a usar nombres de Sistemas de Nombres de Dominio (Domain Name System, DNS), se refiere a este para estructurar los niveles altos de jerarquía. Además de ser una base de datos que su función principal está ligada a realizar búsquedas. Estás son realizas con frecuencia, dado que están estructuradas en forma de árbol.
¿Cómo funciona LDAP?
Basado principalmente en lo que es Cliente – Servidor. Esto es cuando el cliente se conectado al servidor de LDAP con una consulta, lo que hace el servidor es darle una respuesta al usuario (puede ser lo solicitado o un indicio de donde puede encontrar lo que anda buscando). LDAP posee una característica muy importante, es cuando el cliente se conectado al servidor de LDAP (este puede ser cualquiera) este observara la misma vista de directorio y el nombre que se observara en LDAP hará referencia a la misma entrada que servirá para otro servidor de LDAP.
¿Qué es el Árbol de Directorio de LDAP?
Es llamado en ingles como “Directory Information Tree”, lo que en español seria “Árbol de Información del Directorio”. Lo que hace este en el protocolo de LDAP es esquematizar utilizando lo que es una estructura de Árbol (real), las ramas de este son las que guardaran la información, dado que puede tener otras entradas (por las ramas contenedoras de información) un claro ejemplo de esto seria que una rama puede almacenar las cuentas de usuario, otra rama del árbol puede contener grupos y así. Las entradas que serian las ramas poseen un identificador llamado “Distinguished Name” ó DN.
¿Cómo diseñar un Árbol de Directorio?
-El primer paso para diseñar el Directorio de Información del Árbol es definir la Base DN, el cual es el nivel más alto en el árbol de directorio, el que será la raíz del directorio.
El directorio de información quedara de la siguiente forma:
- dc=example,dc=com : Raíz del directorio.
- OU=Users : Contenedor para almacenar cuentas de usuario para Linux/Unix y Windows.
- OU=Computers : Contenedor para las cuentas de la computadora (Sistemas Windows).
- OU=Groups : Contenedor para almacenar grupos de sistemas para los sistemas Unix y Windows.
Ventajas de LDAP
- Lo que hace LDAP y es esencial es evitar la duplicación de datos, lo que significa es que permite que no existan dos archivos en distintos lugares del árbol. Además de permitir la distribución de administración, esta responsabilidad de administración de los datos que posee un árbol se puede separar en distintos equipos si se requiere. Y finalmente definir políticas de seguridad por cada nodo.
Requisitos de instalación de LDAP
- En este caso debemos tener Virtual Box, en donde usaremos el sistema operativo de Linux llamado Ubuntu Server.
Requisitos Ubuntu Server
- Tipo de instalación: Servidor
- Ram: 128 MB
- Sistema Base: 500 MB
- Espacio en disco duro: 1 GB
Instalar PHPLDAPADMIN
- Primero que nada debemos instalar los phpldapadmin para administrar
nuestro servidor desde una web, el comando para instalarlo es:
sudo aptitude install phpldapadmin
Instalación de LDAP:
- Debemos proceder a instalar el SSH, un protocolo y aplicación para conectarse a
redes remotas mediante una red, para instalarlo debemos usar el siguiente
comando:
sudo apt-get install openssh-server
- Después de instalar comprueba conectándote a ti mismo mediante a la dirección
de ip 127.0.0.1 que hace referencia a tu propia maquina, el comando utilizado es
este:
ssh 127.0.0.1
- El siguiente paso es instalar el LDAP mediante el siguiente comando:
sudo apt-get install slapd ldap-utils
Configuración de LDAP:
- En las ultimas versiones las propiedades de LDAP se configuran automáticamente durante la instalación pero recomendamos reconfigurar estas propiedades para garantizar el funcionamiento, para reconfigurar estas propiedades debemos ingresar el siguiente comando:
sudo dpkg-reconfigure slapd
Aparecerá una interfaz grafica como el de las siguientes imágenes, siga la secuencia de imágenes seleccionando las opciones marcadas en ellas:
El paso a seguir es saber nuestra ip mediante al comando:
ifconfig
Esta dirección de ip nos facilitara la conexión a nuestra maquina remotamente
mediante PuTTy.
Si colocamos esta IP en un navegador web aparecerá la siguiente imagen confirmando la conexión a nuestro servidor:
Si agregamos /phpldapadmin nos mostrar la interfaz que nos permitirá el ingreso al panel de administración Web:
CONSTRUIR EL ÁRBOL LDAP
- Tras haber configurado el servidor LDAP procedemos a construir el árbol LDAP. La estructura y los datos del árbol LDAP, se almacenan en un fichero con formato .ldif. El árbol para esta práctica es la siguiente:
Abrimos un editor y comenzamos a construir el fichero .ldif:
Sudo nano uct.net.ldif
Comenzamos a llenar el árbol digitando primero la raíz (dc=uct,dc=net), la unidad organizacional
(ou=usuarios), y los objetos persona (objectClass=person)
#Se define la raíz del árbol
dn: dc=uct,dc=net
dc=uct,dc=net
objectClass: top
objectClass: organization
#Se define la unidad organizacional para el árbol
dn: ou=usuarios,dc=uct,dc=net
objectClass: organizationalUnit
ou: usuarios
#Se define el conjunto de usuarios
dn: uid=Ariel,ou=usuarios,dc=uct,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
uid: Ariel Saavedra
sn: Saavedra
givenName: Ariel
cn: Ariel Saavedra
displayName: Ariel Saavedra
uidNumber: 1001
gidNumber: 1001
userPassword: {CRYPT}mb/robopass
gecos: Ariel Saavedra
loginShell: /bin/bash
homeDirectory: /home/Ariel
E-Mail: arielSaavedra@uct.net
#Acá se agregara a un nuevo usuario:
dn: uid=carlos,ou=usuarios,dc=uct,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
uid: Carlos
sn: Matus
givenName: Carlos
cn: Carlos Matus
displayName: Carlos Matus
uidNumber: 1003
gidNumber: 1003
userPassword: {CRYPT}robopass
gecos: Carlos Matus
loginShell: /bin/bash
homeDirectory: /home/carlos
E-mail: carlosmatus@uct.net
#Acá se agregara a un nuevo usuario:
dn: uid=carlos,ou=usuarios,dc=uct,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
uid: Francisco
sn: Mendoza
givenName: Francisco
cn: Francisco Mendoza
displayName: Francisco Mendoza
uidNumber: 1005
gidNumber: 1005
userPassword: {CRYPT}robopass
gecos: Francisco Mendoza
loginShell: /bin/bash
homeDirectory: /home/francisco
E-mail: franciscomendoza@uct.net
Tras digitar esto en el archivo lo almacenamos con el nombre de uct.net.ldif, o con el nombre que se desee.
Ahora ejecutamos la orden:
ldapad -x -D cn=admin,dc=uct,dc=net -W -f so2.net.ldif
Esto lo hacemos con el fin de agregar el fichero al directorio LDAP
Si quisiéramos agregar nuevas usuarios simplemente creamos el fichero .ldif y lo agregamos, como por ejemplo, creemos a otro usuario “francisco”
sudo nano francisco.ldif
Estando en el archivo comenzamos a ingresar su información dn: uid=francisco,ou=usuarios,dc=uct,dc=net
Ahora ya podemos ingresar al sistema colocando el nombre de usuario y la password.
Reflexión:
- Me he quedado impresionado con lo de la forma de Directorio de Información de árbol que posee LDAP, la forma de distribución de la información es súper llamativa y sencilla, no fue tan difícil el comprenderla.
Por lo general la forma en que LDAP puede ser usado en una empresa o oficina seria súper elegante, dado que la ubicación del usuario no importa porque solo debe tener la IP que posee el servidor online, en donde el usuario solo deberá ingresar con su “Nombre de Usuario” y “Contraseña” para poder conectarse a la base de datos de la organización que esté usando LDAP y accediendo a la información que el requiera. Aquí es donde lo logro asimiliar con mi carrera en la vida laboral que yo voy a tener, dado que la forma de estructuración del LDAP me ayuda a entender mucho más lo que son las base de datos y la forma en que usan.
No hay comentarios:
Publicar un comentario