LDAP es un protocolo de aplicación que permite el acceso a un dominio. Protocolo de Acceso a Directorio Ligero.Es un protocolo estándar que permite administrar directorios, esto es, acceder a bases de información de usuarios de una red mediante protocolosTCP/IP.
Usan BD como backend para almacenar y gestionar las entradas de directorio
Se pueden crear subdominios para:
- Rendimiento
- Localización geográfica
- Cuestiones administrativas
Modelos LDAP (tipos de servicios)
Modelo de información
- Estructura y tipos de datos del directorio
- Directorios = entradas estructuradas (árbol)
- Cada entrada = atributos (nombre + valor)
Modelo de asignación de nombres
- Referencia de las entradas y datos. Nombre único.
- Cada entrada un ID único (DN: Distinguished name) a partir del RDN (Relative DN)
Modelo funcional
- Operaciones para acceder al árbol: autenticación, solicitudes y actualizaciones
Modelo de seguridad
- Cliente: probar su identidad
- Servidor: controlar el acceso
OpenLDAP
Implementación de LDAP de código abierto
Características
- Licencia libre
- Multiplataforma
- Integración con aplicaciones
- IPv6, LDAPv3 y Referrals (esquema distribuido)
- Permite operaciones de publicación de esquemas
- Internacionalización (UTF8)
- Soporta extensiones y muchas BD
- Contiene un esquema de mapeo
- Mecanismos avanzados de búsqueda
Componentes OpenLDAP
sladpd: demonio principal
slurpd: demonio del servidor de replicación
Librerías
Herramientas, utilidades y clientes
Instalación y Configuración
apt-get install slapd ldap-utils
service slapd {start | stop | restart}
- Arrancar o reiniciar el servidor LDAP sudo /etc/init.d/slapd restart
- Parar el servidor LDAP sudo /etc/init.d/slapd stop
En el directorio /etc/ldap
- Archivos de configuración
- Schemas
Configuración mediante el
asistente
sudo dpkg-reconfigure slapd
Administración: Cargar plantillas
Hay que instalar unas plantillas para manejar usuarios y
grupos
Instalar plantillas para almacenamiento de usuarios unix
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/ldap/schema/inetorgperson.ldif
Configuración esquema básico
- Base del directorio: parámetro olcSuffix. dc=majada,dc=com
- Nombre de usuario administrador: parámetro olcRootDN . cn=admin,dc=majada,dc=com Contraseña: parámetro olcRootPW. ldapadmin
- Permiso de acceso a contraseñas: parámetro olcAccess: to attrs=userPassword. administrador permiso de escritura y a cada usuario para cambiar su propia contraseña
- Permiso de acceso global al directorio: parámetro olcAccess:to *. Daremos al usuario administrador permiso de escritura y a todos los usuarios, permisos de lectura Ejemplo de configuración del archivo ldif
Ejemplo de configuración
Unidades organizativas
Hay que crear una unidad organizativa para usuarios y
otra para grupos
- dn: ou=users
- dn: ou=groups
Sólo cuando estén creados dominio y administrador.
Después podemos crear usuarios y grupos para hacer
pruebas. Crearemos los usuarios javier, joaquin y
miguel en el grupo profesores y los usuarios jessica y
joel en el grupo alumnos.
Ejemplo de configuración
Últimos pasos
Cargar en el directorio los archivos ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f
/tmp/ldapcurso-esquema-basico.ldif
sudo ldapadd -c -x -D cn=admin, dc=majada,
dc=com -W -f /tmp/ldapcurso-usuarios.ldif
Comprobación de las entradas añadidas
ldapsearch -xLLL –b “dc=majada,dc=com” uid=juan sn
givenName cn
Herramientas y utilidades
Cliente
- ldapmodify :modificar entradas de un directorio
- ldapadd :añade entradas al directorio
- Ldapsearch :busca entradas en el directorio
- Ldapdelete :elimina entradas en el directorio
Servidor
- slapadd :añadir entradas desde un fichero ldif
- slapcat :extraer de una BD en formato ldif
- slapindex :regeneración de índices
- slappaswd :genera una contraseña de usuario
Servidor de autenticación
Instalación
sudo apt-get install ldap-auth-client nscd
Configuración
sudo auth-client-config -t nss -p lac_ldap
Librería (para que conecte con el servidor al autenticar)
sudo apt-get install libpam-ldapd
Actualización de PAM
sudo pam-auth-update
Probar la autenticación
sudo /etc/init.d/nscd restart
pamtest passwd jessica (autenticación de la contraseña)
Trying to authenticate for service .
Password: // Introducimos el password de jessica
Authentication successful. // La autentificación ha sido satisfactoria
finger joel -finger para usuarios que están solo en el
dominio
Login: joel Name: Joel Javier
Directory: /home/www/alumnos Shell: /bin/sh
Last login Tue Sep 27 18:02 (CEST) on pts/3 from 192.168.1.213
No mail.
No Plan
Herramientas gráficas
- lat -LDAP Admin Tool
- PhpLdapAdmin -Entorno web
- JXplorer
No hay comentarios:
Publicar un comentario